白話告訴你大模型到底是怎么工作的
圖片
前言
2022年底“大模型”在國內(nèi)突然遍地開花,不管你身處什么行業(yè),都或多或少聽說或使用過大模型相關(guān)的工具,也聽說過大模型訓(xùn)練是一件超級燒錢的事情。那你是否有想過大模型訓(xùn)練為什么會這么燒錢,或者說大模型到底大在了哪里呢?
防止勸退,閱讀本文章你不用擔(dān)心看不懂晦澀難懂的公式以及計算過程,本文僅作為一篇大模型科普文章,帶你了解你使用的大模型背后的故事,文章最后會推薦一些幫助博主日常提效的大模型工具,希望通過本文能讓你對大模型有新的認(rèn)識和理解。
大模型的工作過程
圖片
從上圖可以看出,樹左側(cè)Encoder-Only:表示僅做學(xué)習(xí)和理解內(nèi)容的工作;樹右側(cè)Decoder-Only:表示做內(nèi)容生成的工作。 大眾目前使用的大模型工具也基本集中在樹右側(cè),比如大名鼎鼎的chat-gpt系列模型。
大模型的訓(xùn)練構(gòu)成可以拆解成:推理過程 + 訓(xùn)練過程,我們通過理解這兩個過程來感受大模型到底是如何工作的。
推理過程
1. 詞向量
- 向量表示:每個單詞被表示為一個高維向量(比如三維、四維甚至更高維度),這些向量通常通過訓(xùn)練模型從大量文本數(shù)據(jù)數(shù)據(jù)中學(xué)習(xí)而獲得的。
- 語義相似性:在向量空間中,語義相似的單詞會被映射到相近的位置(類似于物以類聚人以群分的感覺)。例如,“king”和“queen”都有“國王”的意思,它兩在向量空間中相對位置就比較近。
同義詞的case:
king和queen都有“國王”的意思,big和biggest都表示大的意思。
同音異義詞(一詞多義)的case:
china:既可以表示為“中國”的意思,也可以理解成“瓷器”的意思;magazine:可以指代雜志或者是雜志社。
無論是同義詞還是同音異義詞在大模型中是如何區(qū)分的呢?那就是向量的概念,對于多義詞的含義使用的向量比較相似,而對于同音異義詞使用的向量則不太相似。
2. 詞向量模型
- WOrd2Vec(2013年):由Google提出,包括CBOW(Continuous Bag Of Words)和Skip-Gram。前者通過預(yù)測上下文詞來學(xué)習(xí)目標(biāo)詞的標(biāo)識,后者通過目標(biāo)詞來預(yù)測上下文詞。
- GlocVe(2014年):由斯坦福大學(xué)提出,通過統(tǒng)計整個語料庫中的詞共現(xiàn)矩陣來學(xué)習(xí)詞向量。
- FastText(2016年):由Facebook提出,擴(kuò)展了Word2Vec,考慮了詞的子詞(subword)信息,使得模型在處理未見過的單詞或拼寫錯誤時有更好的表現(xiàn)。
3. Transformer架構(gòu)
圖片
transformer框架通過修改詞向量來存儲每個詞的隱藏含義(即上圖中空色字體的內(nèi)容),通過第一層transformer處理輸出后的新向量被稱為隱藏狀態(tài)hidden state,然后在傳遞給下一層transformer,在經(jīng)過transformer處理,解釋出來了his和bank的真實語境含義。
對于Chat-GPT3大模型,transformer的中間層數(shù)達(dá)到了96層,有研究表名前基層的神經(jīng)網(wǎng)絡(luò)會專注于理解句子的語法,并解決上面所表示的歧義,后面的層重點致力于對整個文本段落的更高層次的理解。
對于GPT3模型,它使用了12288維的詞向量,也就意味著每個詞有12288個維度;所以一個單詞通過輸入到最后數(shù)據(jù)的輸出就需要計算1179648次(有沒有感覺計算量非常大); 同時GPT3需要理解上下文之間關(guān)聯(lián)更多的信息,需要引入注意力頭的概念來進(jìn)行信息的表達(dá),在每一層的transformer都會存在96個注意力頭,所以在每次預(yù)測一個新詞的時候,需要執(zhí)行9126次計算。
由于模型是通過海量簡單的向量運(yùn)算,所以非常適合在GPU上進(jìn)行訓(xùn)練,同時由于計算數(shù)據(jù)量級超級大,一次模型訓(xùn)練可能需要花上幾十天甚至更多,算力和電力成本可想而知是非常巨大的。
訓(xùn)練過程
1. 早期的機(jī)器學(xué)習(xí)算法
早期的機(jī)器學(xué)習(xí)算法主要分為有監(jiān)督和無監(jiān)督學(xué)習(xí)兩大類。
有監(jiān)督學(xué)習(xí):用于訓(xùn)練的樣本數(shù)據(jù)提前被打上各種標(biāo)簽,讓機(jī)器提前知道樣本真正代表了什么,隨著機(jī)器不斷學(xué)習(xí)之后,投喂給機(jī)器一個未打標(biāo)簽的數(shù)據(jù),從而讓它得出這個數(shù)據(jù)對應(yīng)的標(biāo)簽是什么。
無監(jiān)督學(xué)習(xí):提前并未給訓(xùn)練數(shù)據(jù)打上任何標(biāo)簽,而是讓機(jī)器自動計算,通過不斷的計算迭代后,最終相似的數(shù)據(jù)逐漸聚合在一起,不相似的數(shù)據(jù)則逐漸遠(yuǎn)離。
對于有監(jiān)督學(xué)習(xí),由于需要預(yù)先對大量數(shù)據(jù)人工打上標(biāo)簽,導(dǎo)致訓(xùn)練大模型這件事情就變得非常困難且成本非常高,以至于無法繼續(xù)推進(jìn),那么無監(jiān)督學(xué)習(xí)對于大模型來說可實施性相對就更強(qiáng)一些(當(dāng)然對于GPT,在實際訓(xùn)練過程中,也會有部分人工達(dá)標(biāo)的工作用于修正模型)。
2. 大模型的訓(xùn)練過程
通過嘗試預(yù)測文本段落中的下一個單詞來學(xué)習(xí)幾乎任何的書面材料。對于一個新的模型,一開始預(yù)測的結(jié)果很差,因為對于一個新模型,它的每個權(quán)重參數(shù)最初狀態(tài)都是從一個隨機(jī)數(shù)字開始,隨著模型接觸到越來越的case,模型開始調(diào)整參數(shù)權(quán)重,從而實現(xiàn)GPT3的效果。
一個具體的case:城市地下網(wǎng)絡(luò)管道非常多且錯綜復(fù)雜,為了讓水流出到指定位置,當(dāng)水流過錯誤的管道,就需要將對應(yīng)管道的水龍頭關(guān)閉,在整個水流經(jīng)的管道上,通過反復(fù)的向前后向后檢查流經(jīng)路徑,并調(diào)整對應(yīng)的管道閥門,最終水流向了指定的目的地,這個反復(fù)調(diào)整各個部位的權(quán)重的過程,正是大模型訓(xùn)練的一個過程。
當(dāng)然在整個訓(xùn)練過程中還有很多具體的概念,比如前向傳播、后向傳播、以及損失函數(shù)等,不會在本文展開,感興趣的朋友可以自行通過GPT/百度來了解詳細(xì)過程。
工具推薦
推薦一些博主日常使用的大模型工具,供大家參考
可靈大模型(視頻&圖片生成)
官網(wǎng)地址:https://kling.kuaishou.com/
APP:可靈AI
圖片
秘塔AI搜索(學(xué)術(shù)搜索)
官網(wǎng)地址:https://metaso.cn/
APP:秘塔AI搜索
圖片
Kimi智能助手(百科搜索)
官網(wǎng)地址:https://kimi.moonshot.cn/
APP:Kimi只能助手
圖片
豆包(百科搜索、知識問答)
官網(wǎng)地址:https://www.doubao.com/chat/
APP:豆包
圖片
通義靈碼(代碼續(xù)寫)
官網(wǎng)地址:https://tongyi.aliyun.com/lingma/
圖片
總結(jié)
本文通過大白話的方式介紹了大模型的一個基礎(chǔ)訓(xùn)練過程,以及淺顯的展示了大模型究竟大到了哪里,從而理解大模型訓(xùn)練龐大的數(shù)據(jù)為什么那么貴,隨著技術(shù)的快速發(fā)展,相信未來大模型一定會對我們的生活產(chǎn)生非常大的影響。