前言
大規(guī)模語言模型(Large Language Models,LLM),也稱大語言模型或大型語言模型,是一種由包含數(shù)百億以上參數(shù)的深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的語言模型,通常使用自監(jiān)督學(xué)習(xí)方法通過大量無標(biāo)注文本進(jìn)行訓(xùn)練。
一、語言模型發(fā)展歷程
語言模型旨在對(duì)于人類語言的內(nèi)在規(guī)律進(jìn)行建模,從而準(zhǔn)確預(yù)測詞序列中未來(或缺失)詞的概率。語言模型分為以下四個(gè)主要發(fā)展階段:
1. 第一階段:統(tǒng)計(jì)語言模型(Statistical Language Model, SLM)
統(tǒng)計(jì)語言模型基于馬爾可夫假設(shè),通過n元(n-gram)方法預(yù)測下一個(gè)詞的出現(xiàn)概率。這些模型在信息檢索和自然語言處理中得到廣泛應(yīng)用。然而,它們受限于固定上下文長度,難以捕捉長距離依賴關(guān)系,且面臨數(shù)據(jù)稀疏問題。
2. 第二階段:神經(jīng)語言模型(Neural Language Model, NLM)
神經(jīng)語言模型利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和詞嵌入(Word Embedding)來建模文本序列。與n元模型相比,神經(jīng)網(wǎng)絡(luò)方法能夠更好地處理數(shù)據(jù)稀疏問題,并且有助于捕捉長距離依賴關(guān)系。但是,早期的神經(jīng)網(wǎng)絡(luò)模型在長文本建模能力上存在局限性,且不易并行訓(xùn)練。
3. 第三階段:預(yù)訓(xùn)練語言模型(Pre-trained Language Model, PLM)
預(yù)訓(xùn)練語言模型通過在大規(guī)模無標(biāo)注數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,學(xué)習(xí)上下文感知的單詞表示。代表性模型如ELMo、BERT和GPT-1,它們確立了“預(yù)訓(xùn)練-微調(diào)”范式,通過預(yù)訓(xùn)練建立基礎(chǔ)能力,然后使用有標(biāo)注數(shù)據(jù)進(jìn)行特定任務(wù)的適配。這一階段的模型改進(jìn)了長文本建模能力,但仍存在優(yōu)化空間,特別是在并行訓(xùn)練和硬件友好性方面。
4. 第四階段:大語言模型(Large Language Model, LLM)
大語言模型通過“擴(kuò)展法則”(增加模型參數(shù)規(guī)模或數(shù)據(jù)規(guī)模)進(jìn)一步提升模型性能。同時(shí),在嘗試訓(xùn)練更大的預(yù)訓(xùn)練語言模型(例如 175B 參數(shù)的 GPT-3 和 540B 參數(shù)的 PaLM)來探索擴(kuò)展語言模型所帶來的性能極限過程中。這些大規(guī)模的預(yù)訓(xùn)練語言模型在解決復(fù)雜任務(wù)時(shí)表現(xiàn)出了與小型預(yù)訓(xùn)練語言模型(例如 330M 參數(shù)的 BERT 和 1.5B 參數(shù)的 GPT-2)不同的行為。例如,GPT-3 可以通過“上下文學(xué)習(xí)”(In-Context Learning, ICL)的方式來利用少樣本數(shù)據(jù)解決下游任務(wù),這種能力稱為:涌現(xiàn)能力。為了區(qū)分這一能力上的差異,學(xué)術(shù)界將這些大型預(yù)訓(xùn)練語言模型命名為“大語言模型”,同時(shí)大規(guī)模模型的訓(xùn)練和應(yīng)用帶來了計(jì)算資源和環(huán)境影響等方面的挑戰(zhàn)。
注意:大語言模型不一定比小型預(yù)訓(xùn)練語言模型具有更強(qiáng)的任務(wù)效果,而且某些大語言模型中也可能不具有某種涌現(xiàn)能力,和訓(xùn)練的數(shù)據(jù)質(zhì)量和方式也有很大的關(guān)系。
涌現(xiàn)能力: 主要的涌現(xiàn)能力包括以下3種
1)上下文學(xué)習(xí)能力:在提示中為大語言模型提供指令和多個(gè)任務(wù)示例;不需要顯式的訓(xùn)練或梯度更新,僅輸入文本的單詞序列 就能為測試樣本生成預(yù)期的輸出。
2)指令遵循:大語言模型能夠按照自然語言指令來執(zhí)行對(duì)應(yīng)的任務(wù)。為了獲得這一能力,通常需要使用自然語言描述的多任務(wù)示例數(shù)據(jù)集進(jìn)行微調(diào),稱為指令微調(diào)(Instruction Tuning)或監(jiān)督微調(diào)(Supervised Fine-tuning)。通過指令微調(diào),大語言模型可以在沒有使用顯式示例的情況下按照任務(wù)指令完成新任務(wù),有效提升了模型的泛化能力。
3)逐步推理:大語言模型則可以利用思維鏈(Chain-of-Thought, CoT)提示策略來加強(qiáng)推理性能。具體來說,大語言模型可以在提示中引入任務(wù)相關(guān)的中間推理步驟來加強(qiáng)復(fù)雜任務(wù)的求解,從而獲得更為可靠的答案
二、大語言模型的能力特點(diǎn)
1. 豐富的世界知識(shí)
相較于傳統(tǒng)機(jī)器學(xué)習(xí)模型和早期預(yù)訓(xùn)練模型(如BERT、GPT-1),大語言模型通過更大規(guī)模的數(shù)據(jù)預(yù)訓(xùn)練,能更全面地吸收世界知識(shí)。這使得它們?cè)谔幚硖囟I(lǐng)域任務(wù)時(shí),不再像傳統(tǒng)機(jī)器學(xué)習(xí)算法嚴(yán)重依賴微調(diào)相關(guān)的技術(shù)手段。
2. 通用任務(wù)解決能力
大語言模型主要通過預(yù)測下一個(gè)詞元的預(yù)訓(xùn)練任務(wù)進(jìn) 行學(xué)習(xí),夠建立了遠(yuǎn)強(qiáng)于傳統(tǒng)模型的通用任務(wù)求解能力。這種能力使其在多個(gè)自然語言處理任務(wù)中取得卓越表現(xiàn),逐漸取代了傳統(tǒng)的任務(wù)特定解決方案。例如,在自然語言處理 領(lǐng)域,很多傳統(tǒng)任務(wù)(如摘要、翻譯等)都可以采用基于大語言模型的提示學(xué)習(xí) 方法進(jìn)行解決,而且能夠獲得較好的任務(wù)效果。
3. 復(fù)雜任務(wù)推理能力
大語言模型在復(fù)雜推理任務(wù)上展現(xiàn)出較強(qiáng)的能力,例如復(fù)雜的知識(shí)關(guān)系推理和數(shù)學(xué)問題解答。相比之下,傳統(tǒng)方法需針對(duì)性修改或特定數(shù)據(jù)學(xué)習(xí),而大模型憑借大規(guī)模文本數(shù)據(jù)預(yù)訓(xùn)練,顯示出更強(qiáng)的綜合推理能力。
4. 人類指令遵循能力
大語言模型通過預(yù)訓(xùn)練和微調(diào),獲得了較好的人類指令遵循能力,能夠直接通過自然語言描述執(zhí)行任務(wù)(提示學(xué)習(xí))。這一能力為打造以人為中心的應(yīng)用服務(wù)(如智能音箱、信息助手等)提供了自然而通用的技術(shù)路徑。
5. 人類對(duì)齊能力
隨著大語言模型性能的提升,其安全性成為關(guān)注焦點(diǎn)。采用基于人類反饋的強(qiáng)化學(xué)習(xí)技術(shù)進(jìn)行對(duì)齊,使得模型在線上部署時(shí)能有效阻止功能濫用行為,規(guī)避使用風(fēng)險(xiǎn)。
6. 工具使用能力
大語言模型展現(xiàn)了可拓展的工具使用能力,可以通過微調(diào)、上下文學(xué)習(xí)等方式掌握外部工具的使用,如搜索引擎與計(jì)算器;類似人類利用技術(shù)與工具擴(kuò)展認(rèn)知與能力。很多先進(jìn)的模型都支持多種工具使用,增強(qiáng)任務(wù)解決能力。
三、大語言模型關(guān)鍵技術(shù)
1. 規(guī)模擴(kuò)展
大語言模型性能提升依賴于參數(shù)、數(shù)據(jù)和算力的增加。OpenAI提出的“擴(kuò)展法則”定量描述了這種關(guān)系,GPT-3驗(yàn)證了千億參數(shù)規(guī)模的有效性。
2. 數(shù)據(jù)工程
模型能力本質(zhì)上是來源于所見過的訓(xùn)練數(shù)據(jù),因此數(shù)據(jù)工程就變得極為重要,不是簡單的擴(kuò)大數(shù)據(jù)規(guī)模就能夠?qū)崿F(xiàn)的。目前來說,數(shù)據(jù)工程主要包括三個(gè)方面:首先,需要對(duì)于數(shù)據(jù)進(jìn)行全面的采集,拓寬高質(zhì)量的 數(shù)據(jù)來源;其次,需要對(duì)于收集到的數(shù)據(jù)進(jìn)行精細(xì)的清洗,盡量提升用于大模型訓(xùn)練的數(shù)據(jù)質(zhì)量;第三,需要進(jìn)行有效的數(shù)據(jù)配比與數(shù)據(jù)課程,加強(qiáng)模型對(duì)于數(shù)據(jù)語義信息的利用效率。這三個(gè)方面的數(shù)據(jù)工程技術(shù)直接決定了最后大語言模型的性能水平。
3. 高效預(yù)訓(xùn)練
由于參數(shù)規(guī)模巨大,需要使用大規(guī)模分布式訓(xùn)練算法優(yōu)化大語言模型的神經(jīng)網(wǎng)絡(luò)參數(shù)。在訓(xùn)練過程中,需要聯(lián)合使用各種并行策略以及效率優(yōu)化方法,包括 3D 并行(數(shù)據(jù)并行、流水線并行、張量并行)、ZeRO(內(nèi)存冗余消除技術(shù))等。比如訓(xùn)練框架:DeepSpeed和 Megatron-LM。
4. 能力激發(fā)
通過指令微調(diào)和提示詞的設(shè)計(jì)激發(fā)或誘導(dǎo),增強(qiáng)大語言模型的通用任務(wù)求解能力。
1)指令微調(diào)方面: 使用自然語言表達(dá)的任務(wù)描述以及期望的任務(wù)輸出對(duì)于大語言模型進(jìn)行指令 微調(diào),從而增強(qiáng)大語言模型的通用任務(wù)求解能力,提升模型在未見任務(wù)上的泛化能力。
2)提示學(xué)習(xí)方面:設(shè)計(jì)合適的提示策略去誘導(dǎo)大語言模型生成正確的問題答案。比如:上下文學(xué)習(xí)、思維鏈提示等,通過構(gòu)建特殊的提 示模板或者表述形式來提升大語言模型對(duì)于復(fù)雜任務(wù)的求解能力。提示工程已經(jīng) 成為利用大語言模型能力的一個(gè)重要技術(shù)途徑。
進(jìn)一步,大語言模型還具有較好的規(guī)劃能力,能夠針對(duì)復(fù)雜任務(wù)生成逐步求解的解決方案,從而簡化通過單一步驟直接求解任務(wù)的難度,進(jìn)一步提升模型在復(fù)雜任務(wù)上的表現(xiàn)
5. 人類對(duì)齊
1)互聯(lián)網(wǎng)上開放的無標(biāo)注文本數(shù)據(jù)的內(nèi)容覆蓋范圍較廣,可能包含低質(zhì)量、個(gè)人隱私、事實(shí)錯(cuò)誤的數(shù)據(jù)信息。因此,經(jīng)過海量無標(biāo)注文本預(yù)訓(xùn)練的大語言模型可能會(huì)生成有偏見、泄露隱私甚至對(duì)人類有害的內(nèi)容。因此,需要保證大語言模型能夠較好地符合人類的價(jià)值觀。
2)目前,比較具有代表性的對(duì)齊標(biāo)準(zhǔn)是“3 H 對(duì)齊標(biāo)準(zhǔn)”,即 Helpfulness(有用性)、Honesty(誠實(shí)性)和 Harmlessness(無害性)。
OpenAI 提出了基于人類反饋的強(qiáng)化學(xué)習(xí)算法(Reinforcement Learning from Human Feedback, RLHF),將人類偏好引入到大模型的對(duì)齊過程中:首先訓(xùn)練能夠區(qū)分模型輸出質(zhì)量好壞的獎(jiǎng)勵(lì)模型,進(jìn)而使用強(qiáng)化學(xué)習(xí)算法來指導(dǎo)語言模型輸出行為的調(diào)整,讓大語言模型能夠生成符合人類預(yù)期的輸出。
6. 工具使用
1)通過讓大語言模型學(xué)會(huì)使用各種工具的調(diào)用方式,進(jìn)而利用合適的工具去實(shí)現(xiàn)特定的功能需求。例如,大語言模型可以利用計(jì)算器進(jìn)行精確的數(shù)值計(jì)算,利用搜索引擎檢索最新的時(shí)效信息。通過這些插件外掛擴(kuò)展大語言模型的能力范圍。
2)由于大語言模型的能力主要是通過大規(guī)模文本數(shù)據(jù)的語義學(xué)習(xí)所建立的,因此在非自然語言形式的任務(wù)(如數(shù)值計(jì)算)中能力較為受限。此外, 語言模型的能力也受限于預(yù)訓(xùn)練數(shù)據(jù)所提供的信息,無法有效推斷出超過數(shù)據(jù)時(shí) 間范圍以及覆蓋內(nèi)容的語義信息。為了解決上述問題,工具學(xué)習(xí)成為一種擴(kuò)展大語言模型能力的關(guān)鍵技術(shù)。
四、大語言模型的構(gòu)建過程
大語言模型是一種基于Transformer 結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型;其構(gòu)建過程就是使用訓(xùn)練數(shù)據(jù)對(duì)于模型參數(shù)的擬合過程。他的本質(zhì)是在做模型參數(shù)的優(yōu)化,希望能夠作為通用任務(wù)的求解器。通過一種非常符復(fù)雜、精細(xì)的訓(xùn)練方法來進(jìn)行構(gòu)建;這個(gè)訓(xùn)練過程可以分為大規(guī)模預(yù)訓(xùn)練和指令微調(diào)與人類對(duì)齊兩個(gè)大階段;同時(shí)又分為四小個(gè)階段:預(yù)訓(xùn)練、有監(jiān)督微調(diào)、獎(jiǎng)勵(lì)建模、強(qiáng)化學(xué)習(xí)。這四個(gè)階段都需要不同規(guī)模數(shù)據(jù)集合以及不同類型的算法,會(huì)產(chǎn)出不同類型的模型。
1.預(yù)訓(xùn)練階段
預(yù)訓(xùn)練(Pretraining)階段需要利用海量的訓(xùn)練數(shù)據(jù),包括互聯(lián)網(wǎng)網(wǎng)頁、維基百科、書籍、GitHub、論文、問答網(wǎng)站等,構(gòu)建包含數(shù)千億甚至數(shù)萬億單詞的具有多樣性的內(nèi)容。利用由數(shù)千塊高性能GPU 和高速網(wǎng)絡(luò)組成超級(jí)計(jì)算機(jī),花費(fèi)數(shù)十天完成深度神經(jīng)網(wǎng)絡(luò)參數(shù)訓(xùn)練,構(gòu)建基礎(chǔ)語言模型(Base Model)?;A(chǔ)大模型構(gòu)建了長文本的建模能力,使得模型具有語言生成能力,根據(jù)輸入的提示詞(Prompt),模型可以生成文本補(bǔ)全句子。
2.有監(jiān)督微調(diào)階段
1)有監(jiān)督微調(diào)(Supervised Finetuning)也稱為指令微調(diào)(Instruction Tuning),利用少量高質(zhì)量數(shù)據(jù)集合,包含用戶輸入的提示詞(Prompt)和對(duì)應(yīng)的理想輸出結(jié)果。用戶輸入包括問題、閑聊對(duì)話、任務(wù)指令等多種形式和任務(wù)。
2)利用這些有監(jiān)督數(shù)據(jù),使用與預(yù)訓(xùn)練階段相同的語言模型訓(xùn)練算法,在基礎(chǔ)語言模型基礎(chǔ)上再進(jìn)行訓(xùn)練,從而得到有監(jiān)督微調(diào)模型(SFT 模型)。經(jīng)過訓(xùn)練的 SFT 模型具備了初步的指令理解能力和上下文理解能力,能夠完成開放領(lǐng)域問題、閱讀理解、翻譯、生成代碼等能力,也具備了一定的對(duì)未知任務(wù)的泛化能力
3.獎(jiǎng)勵(lì)建模階段
獎(jiǎng)勵(lì)建模(Reward Modeling)階段目標(biāo)是構(gòu)建一個(gè)文本質(zhì)量對(duì)比模型,對(duì)于同一個(gè)提示詞,SFT 模型給出的多個(gè)不同輸出結(jié)果的質(zhì)量進(jìn)行排序。獎(jiǎng)勵(lì)模型(RM 模型)可以通過二分類模型,對(duì)輸入的兩個(gè)結(jié)果之間的優(yōu)劣進(jìn)行判斷。
獎(jiǎng)勵(lì)模型(Reward Model): 當(dāng)我們?cè)谧鐾?SFT 后,我們大概率已經(jīng)能得到一個(gè)還不錯(cuò)的模型。但我們回想一下 SFT 的整個(gè)過程:我們一直都在告訴模型什么是「好」的數(shù)據(jù),卻沒有給出「不好」的數(shù)據(jù)。我們更傾向于 SFT 的目的只是將 Pretrained Model 中的知識(shí)給引導(dǎo)出來的一種手段,而在SFT數(shù)據(jù)有限的情況下,我們對(duì)模型的「引導(dǎo)能力」就是有限的。這將導(dǎo)致預(yù)訓(xùn)練模型中原先「錯(cuò)誤」或「有害」的知識(shí)沒能在 SFT數(shù)據(jù)中被糾正,從而出現(xiàn)「有害性」或「幻覺」的問題。
4.強(qiáng)化學(xué)習(xí)階段
1)強(qiáng)化學(xué)習(xí)階段也叫人類對(duì)齊,基于人類反饋的強(qiáng)化學(xué)習(xí)對(duì)齊方法 RLHF(Reinforcement Learning from Human Feedback),讓模型的輸出與人類的期望、需求、價(jià)值觀對(duì)齊。
2)強(qiáng)化學(xué)習(xí)(Reinforcement Learning)階段根據(jù)數(shù)十萬用戶給出的提示詞,利用前一階段訓(xùn)練的RM模型,給出SFT模型對(duì)用戶提示詞補(bǔ)全結(jié)果的質(zhì)量評(píng)估,并與語言模型建模目標(biāo)綜合得到更好的效果。
3)使用強(qiáng)化學(xué)習(xí),在SFT 模型基礎(chǔ)上調(diào)整參數(shù),使得最終生成的文本可以獲得更高的獎(jiǎng)勵(lì)(Reward)。該階段需要的計(jì)算量相較預(yù)訓(xùn)練階段也少很多,通常僅需要數(shù)十塊GPU,數(shù)天即可完成訓(xùn)練。
以下面某位大佬對(duì)Llama模型進(jìn)行預(yù)訓(xùn)練,期望能訓(xùn)練出來一個(gè)能翻譯論語的模型為例:
Pretraining模型
SFT 模型RLHF模型
??系列篇章
AI大模型探索之路-訓(xùn)練篇1:大語言模型微調(diào)基礎(chǔ)認(rèn)知
AI大模型探索之路-訓(xùn)練篇2:大語言模型預(yù)訓(xùn)練基礎(chǔ)認(rèn)知
??更多專欄系列文章:AIGC-AI大模型探索之路文章來源:http://www.zghlxwxcb.cn/news/detail-858760.html
文章若有瑕疵,懇請(qǐng)不吝賜教;若有所觸動(dòng)或助益,還望各位老鐵多多關(guān)注并給予支持。文章來源地址http://www.zghlxwxcb.cn/news/detail-858760.html
到了這里,關(guān)于AI大模型探索之路-訓(xùn)練篇3:大語言模型全景解讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!