一文講清楚大模型中六個關(guān)鍵詞及原理:LLM、Transformer、Bert、預(yù)訓(xùn)練、微調(diào)FineTuning、機(jī)器學(xué)習(xí)
什么是大模型,相信每個人都能說上一個一二三點來。
比如:OpenAI、ChatGPT、DeepSeek、豆包、Manus等。
也知道大模型需要做訓(xùn)練與推理。但是如果稍微深入一點,可能就無法再回答上來。這篇文章,我從系統(tǒng)性角度來講講大模型。
圖片
深度學(xué)習(xí)與機(jī)器學(xué)習(xí)
深度學(xué)習(xí)(deep learning)是機(jī)器學(xué)習(xí)(machine learning)和人工智能(artificial intelligence,AI)領(lǐng)域的一個重要分支,主要聚焦于神經(jīng)網(wǎng)絡(luò)的研究。深度學(xué)習(xí)的發(fā)展使得大語言模型能夠利用海量的文本數(shù)據(jù)進(jìn)行訓(xùn)練,從而相比于以往的方法能夠捕獲更深層次的上下文信息和人類語言的細(xì)微之處。因此,大語言模型在文本翻譯、情感分析、問答等各類自然語言處理任務(wù)中都有顯著的性能提升。
圖片
大語言模型的成功,一方面得益于為其提供支撐的 Transformer 架構(gòu),另一方面得益于用于訓(xùn)練這些模型的海量數(shù)據(jù)。這使得它們能夠捕捉到語言中的各類細(xì)微差別、上下文信息和模式規(guī)律,而這些都是手動編碼難以實現(xiàn)的。
什么是大語言模型
大語言模型(large language model,LLM,簡稱大模型)是一種用于理解、生成和響應(yīng)類似人類語言文本的神經(jīng)網(wǎng)絡(luò)。這類模型屬于深度神經(jīng)網(wǎng)絡(luò)(deep neural network),通過大規(guī)模文本數(shù)據(jù)訓(xùn)練而成,其訓(xùn)練資料甚至可能涵蓋了互聯(lián)網(wǎng)上大部分公開的文本。
大語言模型在理解、生成和解釋人類語言方面擁有出色的能力。當(dāng)我們談?wù)撜Z言模型的“理解”能力時,實際上是指它們能夠處理和生成看似連貫且符合語境的文本,而這并不意味著它們真的擁有像人類一樣的意識或理解能力。
“大語言模型”這一名稱中的“大”字,既體現(xiàn)了模型訓(xùn)練時所依賴的龐大數(shù)據(jù)集,也反映了模型本身龐大的參數(shù)規(guī)模。這類模型通常擁有數(shù)百億甚至數(shù)千億個參數(shù)(parameter)。這些參數(shù)是神經(jīng)網(wǎng)絡(luò)中的可調(diào)整權(quán)重,在訓(xùn)練過程中不斷被優(yōu)化,以預(yù)測文本序列中的下一個詞。下一單詞預(yù)測(next-word prediction)任務(wù)合理地利用了語言本身具有順序這一特性來訓(xùn)練模型,使得模型能夠理解文本中的上下文、結(jié)構(gòu)和各種關(guān)系。
由于大語言模型能夠生成文本,因此它們通常也被歸類為生成式人工智能(generative artificial intelligence,簡稱 generative AI 或GenAI)。
如今大多數(shù)大語言模型是使用 PyTorch 深度學(xué)習(xí)庫實現(xiàn)的,針對特定領(lǐng)域或任務(wù)量身打造的大語言模型在性能上往往優(yōu)于 ChatGPT 等為多種應(yīng)用場景而設(shè)計的通用大語言模型。這樣的例子包括專用于金融領(lǐng)域的模型和專用于醫(yī)學(xué)問答的大語言模型。
使用定制的大語言模型具有多個優(yōu)勢,尤其是在數(shù)據(jù)隱私方面。例如,出于機(jī)密性考慮,公司可能不愿將敏感數(shù)據(jù)共享給像 OpenAI 這樣的第三方大語言模型提供商。此外,如果開發(fā)較小的定制的大語言模型,那么就可以將其直接部署到客戶設(shè)備(筆記本電腦和智能手機(jī))上。這也是蘋果公司等企業(yè)正在探索的方向。本地部署可以顯著減少延遲并降低與服務(wù)器相關(guān)的成本。此外,定制的大語言模型使開發(fā)者擁有完全的自主權(quán),能夠根據(jù)需要控制模型的更新和修改。
大語言模型的構(gòu)建通常包括預(yù)訓(xùn)練(pre-training)和微調(diào)(fine-tuning)兩個階段?!邦A(yù)訓(xùn)練”中的“預(yù)”表明它是模型訓(xùn)練的初始階段,此時模型會在大規(guī)模、多樣化的數(shù)據(jù)集上進(jìn)行訓(xùn)練,以形成全面的語言理解能力。以預(yù)訓(xùn)練模型為基礎(chǔ),微調(diào)階段會在規(guī)模較小的特定任務(wù)或領(lǐng)域數(shù)據(jù)集上對模型進(jìn)行針對性訓(xùn)練,以進(jìn)一步提升其特定能力
圖片
預(yù)訓(xùn)練是大語言模型的第一個訓(xùn)練階段,預(yù)訓(xùn)練后的大語言模型通常稱為基礎(chǔ)模型(foundation model)。一個典型例子是 ChatGPT的前身——GPT-3,這個模型能夠完成文本補(bǔ)全任務(wù),即根據(jù)用戶的前半句話將句子補(bǔ)全。此外,它還展現(xiàn)了有限的少樣本學(xué)習(xí)能力,這意味著它可以在沒有大量訓(xùn)練數(shù)據(jù)的情況下,基于少量示例來學(xué)習(xí)并執(zhí)行新任務(wù)。
微調(diào)大語言模型最流行的兩種方法是指令微調(diào)和分類任務(wù)微調(diào)。在指令微調(diào)(instruction fine-tuning)中,標(biāo)注數(shù)據(jù)集由“指令?答案”對(比如翻譯任務(wù)中的“原文?正確翻譯文本”)組成。在分類任務(wù)微調(diào)(classification fine-tuning)中,標(biāo)注數(shù)據(jù)集由文本及其類別標(biāo)簽(比如已被標(biāo)記為“垃圾郵件”或“非垃圾郵件”的電子郵件文本)組成。
Transformer 架構(gòu)介紹
該架構(gòu)是在谷歌于 2017年發(fā)表的論文“Attention Is All You Need”中首次提出的。
Transformer 最初是為機(jī)器翻譯任務(wù)(比如將英文翻譯成德語和法語)開發(fā)的。
圖片
Transformer 架構(gòu)由兩個子模塊構(gòu)成:編碼器和解碼器。編碼器(encoder)模塊負(fù)責(zé)處理輸入文本,將其編碼為一系列數(shù)值表示或向量,以捕捉輸入的上下文信息。然后,解碼器(decoder)模塊接收這些編碼向量,并據(jù)此生成輸出文本。以翻譯任務(wù)為例,編碼器將源語言的文本編碼成向量,解碼器則解碼這些向量以生成目標(biāo)語言的文本。編碼器和解碼器都是由多層組成,這些層通過自注意力機(jī)制連接。
Transformer 和大語言模型的一大關(guān)鍵組件是自注意力機(jī)制(self-attention mechanism),它允許模型衡量序列中不同單詞或詞元之間的相對重要性。這一機(jī)制使得模型能夠捕捉到輸入數(shù)據(jù)中長距離的依賴和上下文關(guān)系,從而提升其生成連貫且上下文相關(guān)的輸出的能力。
BERT 基于原始 Transformer的編碼器模塊構(gòu)建,其訓(xùn)練方法與GPT 不同。GPT 主要用于生成任務(wù),而 BERT 及其變體專注于掩碼預(yù)測(masked word prediction),即預(yù)測給定句子中被掩碼的詞。
圖片
GPT 則側(cè)重于原始 Transformer 架構(gòu)的解碼器部分,主要用于處理生成文本的任務(wù),包括機(jī)器翻譯、文本摘要、小說寫作、代碼編寫等。
零樣本學(xué)習(xí)(zero-shot learning)是指在沒有任何特定示例的情況下,泛化到從未見過的任務(wù),而少樣本學(xué)習(xí)(few-shot learning)是指從用戶提供的少量示例中進(jìn)行學(xué)習(xí)。
Token、預(yù)訓(xùn)練與微調(diào)
并非所有的 Transformer 都是大語言模型,因為Transformer 也可用于計算機(jī)視覺領(lǐng)域。同樣,并非所有的大語言模型都基于 Transformer 架構(gòu),因為還存在基于循環(huán)和卷積架構(gòu)的大語言模型。
詞元(token)是模型讀取文本的基本單位。數(shù)據(jù)集中的詞元數(shù)量大致等同于文本中的單詞和標(biāo)點符號的數(shù)量。
分詞,即將文本轉(zhuǎn)換為詞元的過程。
預(yù)訓(xùn)練 GPT-3的云計算費用成本估計高達(dá) 460 萬美元。該模型僅在 3000 億個詞元上進(jìn)行了訓(xùn)練。
好消息是,許多預(yù)訓(xùn)練的大語言模型是開源模型,可以作為通用工具,用于寫作、摘要和編輯那些未包含在訓(xùn)練數(shù)據(jù)中的文本。同時,這些大語言模型可以使用相對較小的數(shù)據(jù)集對特定任務(wù)進(jìn)行微調(diào),這不僅減少了模型所需的計算資源,還提升了它們在特定任務(wù)上的性能。
下一單詞預(yù)測任務(wù)采用的是自監(jiān)督學(xué)習(xí)(self-supervised learning)模式,這是一種自我標(biāo)記的方法。這意味著我們不需要專門為訓(xùn)練數(shù)據(jù)收集標(biāo)簽,而是可以利用數(shù)據(jù)本身的結(jié)構(gòu)。也就是說,我們可以使用句子或文檔中的下一個詞作為模型的預(yù)測標(biāo)簽。由于該任務(wù)允許“動態(tài)”創(chuàng)建標(biāo)簽,因此我們可以利用大量的無標(biāo)注文本數(shù)據(jù)集來訓(xùn)練大語言模型。
與原始 Transformer 架構(gòu)相比,GPT的通用架構(gòu)更為簡潔。
圖片
它只包含解碼器部分,并不包含編碼器。由于像 GPT 這樣的解碼器模型是通過逐詞預(yù)測生成文本,因此它們被認(rèn)為是一種自回歸模型(autoregressive model)。自回歸模型將之前的輸出作為未來預(yù)測的輸入。
GPT-3 總共有 96 層 Transformer 和 1750 億個參數(shù)
雖然原始的 Transformer 模型(包含編碼器模塊和解碼器模塊)專門為語言翻譯而設(shè)計,但 GPT 模型采用了更大且更簡單的純解碼器架構(gòu),旨在預(yù)測下一個詞,并且它們也能執(zhí)行翻譯任務(wù)。
模型能夠完成未經(jīng)明確訓(xùn)練的任務(wù)的能力稱為涌現(xiàn)(emergence)。這種能力并非模型在訓(xùn)練期間被明確教授所得,而是其廣泛接觸大量多語言數(shù)據(jù)和各種上下文的自然結(jié)果。
圖片
最后總結(jié):
現(xiàn)代大語言模型的訓(xùn)練主要包含兩個步驟。
首先,在海量的無標(biāo)注文本上進(jìn)行預(yù)訓(xùn)練,將預(yù)測的句子中的下一個詞作為“標(biāo)簽”。
隨后,在更小規(guī)模且經(jīng)過標(biāo)注的目標(biāo)數(shù)據(jù)集上進(jìn)行微調(diào),以遵循指令和執(zhí)行分類任務(wù)。
原始的 Transformer 架構(gòu)由兩部分組成:一個是用于解析文本的編碼器,另一個是用于生成文本的解碼器。
當(dāng)一個大語言模型完成預(yù)訓(xùn)練后,該模型便能作為基礎(chǔ)模型,通過高效的微調(diào)來適應(yīng)各類下游任務(wù)。
在自定義數(shù)據(jù)集上進(jìn)行微調(diào)的大語言模型能夠在特定任務(wù)上超越通用的大語言模型。