【AI大模型】非技術背景,一文讀懂大模型(長文)
本文旨在探討大模型的工作原理、應用場景及其未來的發展趨勢,以期為讀者提供一個全面、客觀的視角。我們將從大模型的整體架構、工作原理、以及市面上現有的AI產品等方面進行深入剖析,幫助大家更好地理解這項前沿技術。
一、寫在前面
寫這篇文章的初衷,源于近期涌起的唱衰AI大模型的風潮。不少人在對大模型的機制及當下的商業形態進行了初步了解后,便斷言大模型是一場“騙局”,是資本操控的鬧劇。同時,近來不管是投資領域還是各大廠,似乎都開始謹慎衡量做大模型這件事的投資回報率(ROI)。難道大模型當真不像去年眾人所認定的那樣,是一場所謂的“革命”嗎?
唱衰大模型的人,大多持有這樣的觀點:他們覺得大模型僅能實現像chatbox、文生圖、圖生圖、生視頻、生音頻之類的功能,難以找到可商用的場景,更別說其中部分功能還可能存在幻覺問題。同時,大模型的算力也是有成本的,而且價格不低。
所以問題就出現了,即我們做出了一個個看似出色的ai產品,用戶日活量或許也很高,但高日活帶來的是高機器算力費用,而這筆費用又無法從活躍用戶身上獲取,所以這個商業模式就難以形成閉環了。
所以這種理解倒不能說是錯誤的,但這是建立在兩個前提之上的。
第一,大模型確實后續也僅能用在聊天以及生成圖片、文字、視頻了;第二,算力的費用會持續居高不下。但在我看來,這兩點都是不成立的。首先關于第二點的算力的問題,已經有許多解決方案了,不論是模型蒸餾,還是蘋果的端云方案等等,我認為今年內算力成本問題將不再是難題。
那么第一點,其實也是今日的重點。而要知曉一個新事物究竟能夠帶來什么樣的改變,我認為首先是先需要明晰其運作原理究竟是怎樣的。實際上,我也看過市面上很多有關大模型的科普文章,坦白講,對于非技術人員而言,理解起來頗具難度。
所以,我期望這篇文章能通過最為直白、最為簡單的描述,幫助各位產品同學,理解何為大模型,大模型是如何運作的,大模型究竟帶來了什么,以及我們究竟該去怎么看待這次大模型的浪潮。
二、大模型的整體架構
首先為方便大家對大模型有一個整體的認知,我們先從大模型的整體架構著手,來看看大模型的組成是怎么樣的。
下面是我大致分的個層。從整體分層的角度來看,目前大模型整體架構可以分為以下幾層:
1. 基礎層:為大模型提供硬件支撐,數據支持等
例如A100、數據服務器等等。
2. 數據層
這里的數據層指的不是用于基層模型訓練的數據基集,而是企業根據自己的特性,維護的垂域數據。分為靜態的知識庫,和動態的三方數據集
3. 模型層:LLm或多模態模型
LLm這個大家應該都知道,large-language-model,也就是大語言模型,例如GPT,一般使用transformer算法來實現。
多模態模型即市面上的文生圖、圖生圖等的模型,訓練所用的數據與llm不同,用的是圖文或聲音等多模態的數據集
4. 平臺層:模型與應用間的平臺部分
比如大模型的評測體系,或者langchain平臺等,提供模型與應用間的組成部分
5. 表現層:也就是應用層,用戶實際看到的地方
這個就很好理解了,就不用我多作解釋了吧
三 、理解模型如何運作
在上面我們分解的大模型架構中,其他幾層其實對于產品同學而言都是很好理解的。但其核心的模型層,也就是LLm和多模態,我相信很多人還是對其感到迷惑。為什么我輸入一段文字后,模型就能給生成對應的回復?為什么模型可以根據我輸入的文字去生成視頻和圖片?
這里我們不擺論文和學術性的講解,我用盡可能通俗的方式來給大家講解一下其原理。當然有興趣的同學可以再深入的去學習。
1. LLm工作原理
首先講一下LLm,即large-language-model,大語言模型的工作原理。
我們可以觀察LLm大模型比如豆包在回復的時候,是不是一個一個字,行業里稱之為流式輸出的方式給你呈現內容的。為什么會這樣呢?這是因為,大模型確實是在一個字一個字地去推理生成內容的。
就好像我們看輸入法的輸入聯想邏輯,輸入聯想,其實就是根據你輸入的單個字,來推測你要輸入的下個字是什么。比如我打了一個“輸”字,那么我要打的下字就很有可能是“入”,當然這里就會有人問了,我要打的下個字也很有可能是“球”啊。
沒錯,最開始的研究人員確實也識別到了這個問題。那么解法是什么呢?其實很簡單,我們把上下文加入到輸入里,不就能幫助模型理解下個字該是什么了嗎。
比如我們輸入的是“我想在這個單元格中輸”,那這下一個字大概率就是“入”。而我們如果輸入的是“這場足球比賽中,輸”,那下一個字大概率就是“球”。
那么看到這里,善于思考的同學可能會發現這里存在
第一,我們知道大模型的學習數據規模往往是海量的,每次的計算如果都帶入全量的數據,算力上肯定是吃不消的。
第二,僅去算字的概率,似乎也有問題。因為我們用于訓練的文章數據等,往往是出于各種場景各種背景寫就的。僅去算下個字出現的概率,容易會被各種不相干的信息干擾。
是的,研究人員同樣也遇到了這兩個問題,而這時,兩個概念的出現解決了這一難題。一個是詞向量機制,一個是transformer模型中的attention自注意力機制。
1)詞向量機制
詞向量機制怎么理解呢?可以理解為把我們三維生活中的詞,行業里稱之為詞元,或者token,去進行一次拍平,降維到向量空間,也被稱為潛空間,或者latentspace中去。比如一個詞“楊柳”,在latentspace中,它不僅帶有“植物”這一生物學的向量表示,也帶有著“送別”的向量表示,也帶有著“人名”的向量表示。這些向量表示,行業里稱為feature,中文翻譯是“特征”,但說實話我覺得翻譯為“意象”,更能表達其含義。
為什么說是意象呢,因為這個“楊柳”究竟在當前語境中表達什么含義,取決于其上下文而決定。這不正像是我們詩歌作品中的“意象”嘛
所以詞向量就是,大模型通過海量的文檔學習,把三維世界中的“詞元”,轉化為了latentspace中的“意象”的過程。比如“楊柳”,在latentspace中的表達可能就是[01,56,42]這樣的表達。
這樣轉換之后,其實就解決了第一個問題,即我們把學習資料轉化為了latentspace中的詞向量,而在這個潛空間中運算的效率可以大大的增加,且詞向量的表達方式可以表示出機器學習中,詞匯之前的語義關系。
2)attention層
而第二個問題,被transformer模型中的自注意力機制解決。自注意力機制可以理解為,在機器訓練中,我們加入了若干的attention層,每一個層都會對輸入的信息進行學習和理解記憶。
打個比方,“我今天吃了獅子頭和蔬菜”這句話,在transformer中,會由attention層對這句話加入更多的信息來補充。比如補充“獅子頭是一道菜”“今天是星期六”等等。這些補充信息,會作為輸入給到下一個attention層進行補充。當然有些信息可能是不重要的,也會被忽視掉。最終層與層之間,哪些信息需要補充,哪些信息需要保留,哪些信息傳遞,均由模型自主學習完成。而最終學習的結果就是,模型可以把海量的數據以關系網的形式“消化”掉,并保留其重要的相關性。
這些表述可能還不夠直觀,再打個比方,這些層就好像人在去閱讀文章的時候的一個連貫性注意力的過程。就好像我們在去閱讀理解一篇文章的時候,腦子里會對輸入的內容進行消化然后吸收記憶,而記憶下來的不是點狀的知識,而是網狀的經驗。
3)再形象些的比喻
llm的原理基本就是這樣了,總結起來就是大模型以詞向量和transformer的模型學習了海量的知識,把知識作為向量空間中的一種關系網進行存儲,并在接受輸入時,通過向量空間中的一系列匹配進行輸出。
這個過程其實大家想一想,是不是就像是人腦在閱讀學習的個過程?比如我們在記憶一些資料時,其實記憶的也不可能是逐字逐句去記憶的,也是按照相關性,重要程度,再結合歷史經驗信息進行記憶的。記憶下來的東西,也不是一個個的文字,而更像是一種感覺,一種“意象”。
再比如我們去看紅色,會覺得這個代表溫暖,代表強烈,這也是因為我們在去記憶這個信息時,同時受到來自生理、社會倫理等的關聯記憶,所以一個簡單的“紅色”在我們的腦海中記憶時,也不僅是一個簡單的詞語,而是帶有了很多的“feature”信息。
當然我這里僅是為了幫助大家理解,簡化抽象了很多概念。LLm這塊如有感興趣想進階的同學,可以再看這篇文章進階學習下。
https://www.understandingai.org/p/large-language-models-explained-with
2. 多模態的原理
ok講完了LLm,我們來看多模態是怎么實現的
多模態模型目前基本就是文生圖、圖生圖、圖生視頻、文生視頻這些,其底層邏輯其實還是先從生圖片這一源頭。因為畢竟視頻也是若干幀的圖片組成。
所以在生圖片的這個環節上,我們把比較火的這個stablediffusion用的這個diffusion擴散模型理解掉,也就差不多夠了。
那么什么是擴散模型呢,這里我拿論文中的兩張圖幫助理解
一張是前向的,在圖片上加噪點,最終生成一張無意義的噪點圖,一個是后向的,從一個無意義的噪點圖上消除噪點,最終得到一張有意義的實際圖片。
其實擴散模型訓練的就是這個加減噪點的過程:先把海量的帶有標注文字描述的圖片,例如“一只白色的小貓”,逐漸加滿噪點。在這個過程中,模型會把每一步的圖片向量值,和文字的向量值的數據分布的演變規律,進行系統學習并沉淀下來,這就完成了模型的訓練。
在后續我們輸入文字后,模型就可以根據輸入的文字轉化為的向量,去指導一個充滿噪點的圖片每一步減噪點的過程,生成最終的圖片。
這里其實有兩個點
一個是diffusion模型中加減噪點的方式,其實也與我們大腦中去構思一張圖片的方式有些類似,我們去想像一張圖片的時候,不也是從一片模糊中逐漸想清楚一張圖片嘛
第二個是多模態模型會把文字的向量值和圖片的rgb像素點的向量值進行關聯,這個也像極了我們大腦中的一個思考過程。
當然這個過程比我描述的還要更復雜,比如過程里還要考慮到,噪點圖的原始狀態,加減噪點的過程需要多少步,每一步需要加入的噪點分布等等,這里僅為了大家理解方便,僅對主干邏輯作了講解。
如有感興趣的同學,可以看一下張濤老師對diffusion原理做的一次分享。個人認為這個分享質量非常棒
【產品人如何學習 AI?以 Stable Diffusion 原理及發展歷程為例】 https://www.bilibili.com/video/BV1wZ421h7w7/?share_source=copy_web&vd_source=e20dab09b86a96c6538305ab6db6b7b1
四、再補充一些概念
ok,在我們對于兩個重要的基礎模型,llm大語言模型和多模態模型的原理有了基礎的認知后,我們可以再進一步,去理解下一些大模型領域常見的些術語名詞,究竟是在干些什么,以及都能干什么。
1. prompt
prompt這個詞很多人都聽到過,甚至一度還出現過prompt優化師這樣的角色。那么prompt是做什么的呢?
prompt其實是給到大模型輸入的一段原始的輸入,能夠幫助模型更好地理解用戶的需求并按照特定的模式或規則進行響應。
對于prompt,比如可以設定“假設你是一位醫生,給出針對這種癥狀的建議”,然后你與大模型后續的對話中,都會按照這個原始設定來展開。
這里有個比較有意思的玩法,就是我們可以在prompt的設定中,要求模型按照一定的思路邏輯去回答。比如最近比較火的cot,也就是思維鏈,也是在prompt這個環節,對于模型的輸出進行指導。
這里的玩法很多,比如我們還可以讓模型按照特定格式的json輸出等,這樣模型真的就可以變成了一個輸出器來使用。
2. RAG
rag,也就是Retrieval-augmented-Generation,檢索增強技術,應該也是大家經??吹降囊粋€名詞了。那么他到底是個什么東西呢?
首先我們先回顧llm的原理,其實就是把一堆互聯網文獻材料,降維到latentspace中,并通過transformer的方式用學習到了其中的“經驗”。但文獻資料是死的,如果僅通過固定的資料去回答問題,勢必會出現一些無法回答的問題。
那么rag的出現就解決了這個問題,rag允許模型可以到搜索引擎上去搜索問題相關的資料,并將獲取到的信息,綜合自己的知識體系內容,綜合進行回復。
當然rag不全是這些,rag的r,也就是搜索,其實不是一件簡單的事情。所以這個環節還會有些傳統的搜索的邏輯在,比如對于輸入問題的糾錯,補充,拆分,以及對于搜索內容的權重邏輯等等的事情。
打個比方,比如問中國界世杯奪冠那年的啤酒銷量如何,那就首先會做一次糾錯,把“界世”糾錯為“世界”,然后把問題拆分為兩個問題,然后綜合去搜索,把搜索到的資料在給到大模型,讓其進行總結性輸出
3. 大模型的涌現
這個可能有些同學不怎么聽過這個詞,但這個是大模型里,我認為最核心的個概念。
因為其實經上面的原理講解,其實大家不難發現,這與目前大模型所表現出來的,仍然對不上啊。為什么只是在計算相關性和概率,就能讓大模型表現出難以解釋的表達?所以這就是涌現…也就是科學家們認為,當訓練的數據到了一定程度后,模型的能力會涌現出很多難以用邏輯去解釋的現象。
說實話在我看來,因為本身模型的學習就是在一個降維的latentspace中進行的,那我們嘗試去用三維世界中的if-else去解釋其行為,似乎本身也不靠譜不是么。不過現在倒也有一些論文使用跟蹤標注等的的方式來嘗試解釋大模型內部的行為,這個看看就好了
4. AI Agent
agent算是從年前到現在,比較火的一個概念了,也被很多人認為是大模型的未來的一個主要發展方向。
首先我們看這個很經典的一張圖
看起來還是蠻復雜的,然后市面上的很多描述agent的文章寫的也比較復雜,說智能體是啥智能的最小單元,相較于copilot,是可以給他設定一個目標后主動完成任務的等等。
當然這些說法都沒錯,但是我覺得還是有些不好理解的。所以我們依然先從原理著手去理解下,agent是個什么東西。
首先這張圖里,中間的“智能體”,其實就是llm,或者說大模型。四個箭頭,分別是我們為llm增加的四個能力。工具、記憶、行動、規劃。那么這個是怎么新增的呢?
目前行業里主要用到的是一個叫langchain的框架,這個框架可以簡單理解為,他把llm和llm之間,以及llm和工具之間,通過代碼或prompt的形式,進行了串接。
這個其實也像是在rag的基礎上再進了一步。因為我們知道rag其實是給了大模型一個瀏覽器工具來使用嘛,那agent,其實就是給了大模型更多的工具。比如像是長期記憶,其實就是給了大模型一個數據庫工具讓其往里記錄重要信息。規劃和行動,其實就是在大模型的prompt層做的些邏輯,比如讓其將目標進行每一步的拆解,拆解完成后,每一步去輸出不同的固定格式action指令,給到工具作為輸入。
當然langchain或者說agent還不止這些,也會有很多其他的代碼邏輯體現在其中,不過其主要的主干邏輯,其實還是在prompt層和工具層,完成的設計。
說實話我對于Agent產品我還是比較看好的,當然這不僅因為我曾經落地過實際的Agent產品,實在也是因為我認為這代表了我們可以在流程中給到大模型使用工具的能力,這其實就給了大模型應用更廣闊的空間。比如我可以大模型幫我把差旅安排一下,大模型首先會判斷一下為完成該目標,拆解需要有哪幾個步驟要做(planning能力),然后搜索近期我oa工具中的差旅記錄(memory能力),然后在飛豬上幫我預訂酒店和機票(tools/action能力),最終完成任務。
五、聊聊市面上目前的ai產品
ok,如果上面這些大家已經消化掉了的話,我們可以回過頭來盤一盤目前市面上出現的這些ai產品了。
1. To C領域
toc領域,目前看到比較成體系的主要有這幾類產品:
1)一類是主打ai角色扮演賽道的產品
例如“貓箱”“劇本戲”“名人朋友圈”這類
其實就是在llm基礎上,在prompt上加了些特定角色定義
2)一類是主打ai陪伴類的產品
例如“星野”“Talkie”“BubblePal”等為代表
這類產品其實也是在llm基礎上,在prompt上加了些特定角色定義。不過不一樣的是,這類產品往往會在長短記憶上做出些處理,以突出其陪伴意義。隨著陪伴的時間越久,知識庫沉淀的個性化記錄就越豐富,ai也會越懂你。老實說這類產品我覺得還是很有意義的。
3)一類是做ai搜索工具的產品
例如“秘塔”“360搜索”等
這類產品說白了就是上文提到的rag,沒啥別的。不過也有會在搜索內容基礎上,把內容結構化,整出一個圖譜或者腦圖的,這個也還算有意思。
4)一類是單純的做aigc的產品
例如“可靈”“ai寫作手”“即夢”“md”等
這類產品其實就是借助ai的生成能力做出的產品
5)還有一類是agent產品
這個目前只有頭部的廠商在做,比如字節的扣子,支付寶的智能助理,百度的文心智能體,騰訊的元寶。
這類產品會提供一套ai開放平臺框架,允許三方在上面通過組裝llm和組件和自有的知識庫信息等,定義自己專屬垂域的agent。
這個其實很像之前的小程序,主打的是一個生態和分發,做這個平臺的前提是,你得有完備且有吸引力的分發渠道才可以。不然哪有開發者愿意上你的平臺開發agent是不。
2. To B領域
在tob領域,目前看到比較成體系的主要有這幾類:
1)一類是智能辦公
這類產品價值點主要體現在辦公垂域場景中,比如辦公場景下,需要快速總結群聊內容或會議信息,那就可以把群聊記錄丟給大模型,讓其總結出個一二三四出來。或者需要寫個公文但沒有思路時,ai給出的結構模板參考等。
2)一類是智能客服
這類產品通常借助agent來實現,接入企業的QA知識庫,對用戶的信息予以回應。并且依據用戶的回答,下達諸如取消訂單、催快遞之類的action指令。
3)一類是AI導購
這類產品主要在用戶和商家之間發揮作用。以往的商品搜索體驗,往往是商家猜測用戶會搜索的標簽,用戶猜測商家設置的標簽。然而運用AI導購,能夠依據用戶的問題,結合產品的介紹和評論信息等,為用戶推薦更為準確、精準的產品。
比如,用戶期望購買一個能容納三個籃球的籃球背包。按照以往的流程,用戶需要先查詢能裝下三個籃球的背包所需的容量,然后再在平臺上搜索對應容量的背包。而使用AI導購,就能夠將這一整個過程完全交由AI來處理。
4)一類是智能營銷
此類別主要應用于營銷環節,通過AIGC生成一些話術、物料、口播等內容,有些還會融入用戶的個性化元素,以指導物料的生成。
5)一類是智能人力資源
目前,這類主要利用模型進行一些諸如簡歷初篩、JD自動生成、數據分析等工作。
六、ai究竟帶來了什么
在深入了解了AI的運作原理,并盤了眾多當前市面上AI的落地產品之后,我們不妨重新回到最開始的問題。此次AI大模型究竟引發了怎樣的變革?
在思考這個問題之前,我想先分享下去年剛接觸大模型時,困擾我的一個問題。即大模型與當下的智能語音技能的NLU存在什么差異?此前,我也曾涉足過一些語音產品的設計邏輯,知道語音技能鏈路其實就是把聲音轉為ASR,再對文本進行NLU理解,然后映射到對應的語音技能表中,最后讓程序依據相應的語音技能指令完成邏輯。乍看起來,大模型能實現的,通過語音技能似乎也能達成,那我們引入大模型的意義在哪里呢?
抱著這樣的疑問,我嘗試去理解了大模型的原理。當我在初步理解大模型的原理之后,我發現二者還是存在本質性的差別的。
差別在于,后者的語音技能NLU僅是通過一系列規則、分詞策略等訓練而成的產物。而且NLU的運作邏輯規律都是可觀測的,具有if-else式的邏輯性。而大模型,則是憑借海量的數據,在向量空間中學習知識的關聯性從而形成的,其運作邏輯難以觀測,已然脫離了if-else的層面。
所以,我們再度審視這個問題,此次的AI變革到底帶來了什么?
汪華老師在前不久的分享中,對于此次AI變革的量級提出了觀點:他認為這次AI的變革量級,100%能夠抵達第一個階段,即與移動互聯網處于同一級別;50%有可能發展至第二個階段,即與蒸汽機的出現同量級;至于能否到達第三個階段,即AGI,尚不明確。
在這一點上,我的看法與他一致。因為我覺得,AI此次帶來的變革,已然脫離了傳統互聯網基于if-else的最底層邏輯,這幾乎等同于重塑了互聯網,這不就相當于蒸汽機級別般的變革嗎?
七、我們該怎么去思考ai的發展和應用
變革歸變革,那么作為產品人,我們該怎么去把ai這個能力用起來呢?
我認為轉變自己的“傳統”產品設計思路和視角,是最關鍵的一步。
其實我前段時間我在一個僅面向產品經理的公眾號中,讀到一篇對大模型發展未來表達看法的文章。文章的開篇,就表達了認為大模型應用是在內容、電商、o2o、工具之外的第五條賽道,且當前是否夠資格成為“第五條賽道”都有待商榷。在該文章的評論區下,我建議作者先去了解下大模型的基礎原理以及當前的技術發展狀況。
當時之所以這樣說,只是因為我覺得許多產品同學實際上并未真正意識到這次大模型所帶來的變革,所以他們的思路和視角,依然停留在傳統互聯網商業模式上,仍然認為此次的變革只是在傳統的基礎之上做更新。
但上面我們也說了,這次的ai變革是從互聯網最底層的if-else邏輯開始的,而那些傳統互聯網的商業模式,只是基于傳統的互聯網技術架構和用戶需求綜合出來的產物。
所以,我們在去思考ai的發展的時候,切記一定要去拋開當前的業務體系和框架,從最本質入手,從人最底層心智,和最底層的需求去著手,重新思考自己的產品邏輯,去重新設計商業邏輯體系和流程。否則你做出來的,只能是在現有業務體系下的雕花產物罷了。
最后,紙上得來終覺淺,絕知此事要躬行。建議感興趣的產品同學,與其看千篇文章,不如實際地到coze或文心或混元平臺上,親手做幾個agent出來感受一下。相信在這個過程中,大家可以收獲到更多。祝愿大家都能在這次的AI浪潮中,找到屬于自己的方向。
本文由 @Ranger 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!