關(guān)于 LLM Pre-training(預(yù)訓(xùn)練),你所應(yīng)該了解的【大模型行業(yè)應(yīng)用入門系列】
關(guān)于 LLM Pre-training(預(yù)訓(xùn)練),你所應(yīng)該了解的【大模型行業(yè)應(yīng)用入門系列】
【摘要】 本文介紹了Pre-training(預(yù)訓(xùn)練)的定義、基本步驟與預(yù)訓(xùn)練的價值和意義,為讀者進一步了解微調(diào)技術(shù)打下基礎(chǔ)。 【作者】 李杰, 專注于Java虛擬機技術(shù)、云原生技術(shù)領(lǐng)域的探索與研究。
*本文是【大模型行業(yè)應(yīng)用入門系列】系列的第6篇文章。 下 篇預(yù)告: 一文讀懂LLM Fine Tuning(微調(diào)),歡迎關(guān)注。 了解本系列和閱讀其他系列文章請看文末。
在開發(fā)生成式人工智能應(yīng)用程序時,選擇合適的模型是一個關(guān)鍵的決策步驟。通常有兩種可選方案:利用現(xiàn)有的預(yù)訓(xùn)練模型或者從頭開始訓(xùn)練全新的模型。但在大多數(shù)實際場景下,研究人員和工程師都 更傾向于從現(xiàn)有的基礎(chǔ)模型出發(fā),而不是自頭構(gòu)建一個全新的模型。
這主要是出于以下幾方面考慮:
1.現(xiàn)有的預(yù)訓(xùn)練模型通常經(jīng)過了大規(guī)模數(shù)據(jù)集的訓(xùn)練,已經(jīng)學(xué)習(xí)到了許多有價值的通用特征和知識表示。利用這些模型作為起點,可以大大縮短開發(fā)周期,并獲得不錯的初始性能。相比之下,從頭開始訓(xùn)練一個全新模型需要投入大量的時間和計算資源,且最終性能也存在不確定性。
2.業(yè)界已經(jīng)有許多優(yōu)質(zhì)的開源預(yù)訓(xùn)練模型可供選擇,比如 Hugging Face 和 PyTorch 提供的模型中心。這些平臺不僅擁有豐富的模型庫,還為每個模型都配備了詳細(xì)的 " 模型卡 ” ,包括模型的具體用途、訓(xùn)練方法、局限性等關(guān)鍵信息,為開發(fā)者提供了很好的參考依據(jù)。
一. 什么是LLM訓(xùn)練?
LLM Training 是指大型語言模型(LLM)的訓(xùn)練過程。作為一種采用超大規(guī)模數(shù)據(jù)進行預(yù)訓(xùn)練的深度學(xué)習(xí)模型,LLM 訓(xùn)練目標(biāo)是培養(yǎng)出一個能夠理解和生成自然語言文本的模型。在這個過程中,LLM 通過處理海量文本數(shù)據(jù)來學(xué)習(xí)語言的規(guī)律、語義和上下文關(guān)系等訓(xùn)練方式,可以獲得豐富的語言知識和智能,從而使得能夠自動理解和生成人類語言。
二. 什么是Pre-training(預(yù)訓(xùn)練)?
Pre-training(預(yù)訓(xùn)練)是深度學(xué)習(xí)領(lǐng)域中一個非常重要的概念。以無監(jiān)督的方式在大規(guī)模文本數(shù)據(jù)上預(yù)先訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,讓模型學(xué)習(xí)到通用的語言理解能力和知識表示。這個預(yù)訓(xùn)練階段目標(biāo)是讓語言模型具備基礎(chǔ)語言能力的關(guān)鍵步驟。
預(yù)訓(xùn)練的主要優(yōu)勢在于,允許模型利用之前在大數(shù)據(jù)集上學(xué)習(xí)到的經(jīng)驗知識,而不是完全從頭開始。這種遷移學(xué)習(xí)的方式大大提高了模型在新任務(wù)上的學(xué)習(xí)效率和性能。就像人類可以利用之前的經(jīng)驗來快速掌握新事物一樣,預(yù)訓(xùn)練過的模型也能夠更有效地解決新的問題,從而獲益于之前的廣泛訓(xùn)練。
然而,盡管預(yù)訓(xùn)練模型具備相當(dāng)廣泛的核心知識和能力,但通常還缺乏專業(yè)性和針對性。比如一個通用的語言模型可以勝任各種基礎(chǔ)的語言理解和生成任務(wù),但如果要達到會話技能、專業(yè)文本生成等更高層次的熟練程度,還需要進一步的專門訓(xùn)練和微調(diào)。
三. 關(guān)于LLM Pre-training(預(yù)訓(xùn)練)的定義
通常來講,預(yù)訓(xùn)練的LLM目前尚不適合在高度專業(yè)化的領(lǐng)域使用,因為它們?nèi)狈@些領(lǐng)域的深入背景知識。在這種情況下,我們需要使用監(jiān)督微調(diào)(SFT)和人類反饋強化學(xué)習(xí)(RLHF)來構(gòu)建適合于特定領(lǐng)域的預(yù)訓(xùn)練模型,以滿足特定的場景需求。
要克服這一問題,通常需要采用監(jiān)督微調(diào)(Supervised Fine-Tuning, SFT)和人類反饋強化學(xué)習(xí)(Reinforcement Learning from Human Feedback, RLHF)等技術(shù)手段,在現(xiàn)有預(yù)訓(xùn)練模型的基礎(chǔ)上,進一步使用小規(guī)模的專業(yè)領(lǐng)域數(shù)據(jù)和人類反饋進行定制化培訓(xùn),使其能夠勝任特定的高專業(yè)化任務(wù)。
圖:高水平的LLM 預(yù)訓(xùn)練
Fine-Tuning ( 微調(diào) ) 是一個監(jiān)督學(xué)習(xí)過程,它只需要相對較小的標(biāo)記數(shù)據(jù)集。使用已經(jīng)預(yù)先訓(xùn)練的模型可以利用這樣的小型數(shù)據(jù)集進行額外訓(xùn)練。換句話說,如果我們選擇從頭開始訓(xùn)練一個未經(jīng)預(yù)訓(xùn)練的深度學(xué)習(xí)模型,我們將需要收集大量數(shù)據(jù)集來訓(xùn)練它以實現(xiàn)所期望的任務(wù)。由于預(yù)訓(xùn)練模型已經(jīng)具有初始知識,因此在較小的數(shù)據(jù)集上進行微調(diào)變得更加容易。
四. LLM Pre-training(預(yù)訓(xùn)練)基本步驟
在機器學(xué)習(xí)的預(yù)訓(xùn)練階段,模型通過以一種專注的方式預(yù)測文本中的下一個單詞來進行學(xué)習(xí),這被稱為模型的預(yù)訓(xùn)練目標(biāo)。然而,經(jīng)過預(yù)訓(xùn)練的模型目前還無法理解提供給它的說明或問題,因此需要進行監(jiān)督微調(diào)(SFT)和人類反饋強化學(xué)習(xí)(RLHF)步驟,以使其適應(yīng)現(xiàn)實世界的人工智能應(yīng)用,例如作為聊天機器人。正如前面提到的,預(yù)訓(xùn)練可以幫助以更低的成本和更快的速度完成這些步驟。以下是實施這些步驟的詳細(xì)步驟:
1.Data Collection(數(shù)據(jù)采集)
在LLM Pre-training 活動中,Data Collection指的是收集用于LLM預(yù)訓(xùn)練的數(shù)據(jù)的過程。在LLM預(yù)訓(xùn)練中,需要大量的無標(biāo)簽文本數(shù)據(jù)來訓(xùn)練模型以學(xué)習(xí)語言的潛在結(jié)構(gòu)和規(guī)律。LLM預(yù)訓(xùn)練數(shù)據(jù)的收集通常涉及數(shù)據(jù)源選擇、數(shù)據(jù)獲取、數(shù)據(jù)規(guī)模及類型等,數(shù)據(jù)的多樣性有助于模型學(xué)習(xí)廣泛的語言模式和概念。
通過LLM Pre-training Data Collection,可以獲取大規(guī)模的無標(biāo)簽文本數(shù)據(jù),為后續(xù)的LLM預(yù)訓(xùn)練提供足夠的訓(xùn)練樣本。這使得模型能夠從大量的數(shù)據(jù)中學(xué)習(xí)語言的統(tǒng)計規(guī)律、語義表示和上下文理解,為各種自然語言處理任務(wù)提供了更好的基礎(chǔ)。
2.Datasets Cleaning(數(shù)據(jù)集清洗)
LLM Pre-training Cleaning指的是在LLM預(yù)訓(xùn)練過程中對數(shù)據(jù)進行清洗和處理的步驟。由于預(yù)訓(xùn)練數(shù)據(jù)可能包含噪音、錯誤或不需要的內(nèi)容,進行數(shù)據(jù)清洗是確保數(shù)據(jù)質(zhì)量和模型性能的關(guān)鍵步驟。
LLM Pre-training Cleaning的主要目標(biāo)是去除數(shù)據(jù)中的噪音和不必要的信息,以準(zhǔn)備干凈、一致和可靠的數(shù)據(jù)供模型進行預(yù)訓(xùn)練。
通過LLM Pre-training Cleaning,可以獲得干凈、一致且高質(zhì)量的數(shù)據(jù)集,有助于提高模型的預(yù)訓(xùn)練效果和泛化能力。清洗后的數(shù)據(jù)可以更好地捕捉語言的統(tǒng)計規(guī)律和語義表示,為模型提供更準(zhǔn)確和可靠的語言知識。
3.Tokenization(標(biāo)簽化)
LLM Pre-training Tokenization是指在LLM預(yù)訓(xùn)練過程中對文本進行分詞的過程。分詞構(gòu)成連續(xù)的文本序列劃分為單個的標(biāo)記(tokens)或子詞(subwords)的過程,該模型能夠理解和處理文本數(shù)據(jù)。
LLM預(yù)訓(xùn)練使用多種分詞方法,包括BPE、WordPiece、SentencePiece等。這些方法通過將詞匯單元劃分為更小的子詞單元,以處理詞匯中的復(fù)雜性和多樣性。這樣做的好處是可以更很好地處理未登錄詞(詞匯外)和罕見詞匯,同時減少模型需要處理的標(biāo)記數(shù)量。
在LLM預(yù)訓(xùn)練中,文本被分解為一系列的標(biāo)記或子詞,每個標(biāo)記或子詞都被賦予一個唯一的標(biāo)識符。這些標(biāo)記成為模型輸入的基本單位,模型根據(jù)這些標(biāo)記來學(xué)習(xí)文本的結(jié)構(gòu)和語義。
LLM Pre-training Tokenization的目的是將文本數(shù)據(jù)轉(zhuǎn)換為模型能夠理解和處理的輸入形式,以便進行后續(xù)的預(yù)訓(xùn)練過程。通過合適的分詞方法,能夠更好地捕捉文本的語義信息,并提高模型在各種語言和任務(wù)上的泛化能力。
4.Architecture Selection(架構(gòu)選型)
LLM Pre-training Architecture Selection指的是在LLM預(yù)訓(xùn)練中選擇適當(dāng)?shù)哪P图軜?gòu)的過程。LLM預(yù)訓(xùn)練階段涉及選擇和設(shè)計適合于大規(guī)模文本數(shù)據(jù)的模型架構(gòu),以便模型能夠?qū)W習(xí)語言的統(tǒng)計規(guī)律和語義表示。
在LLM預(yù)訓(xùn)練中,有多種不同的架構(gòu)選擇可供考慮。這些架構(gòu)可以基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、自注意力機制(self-attention mechanism)或它們的組合。不同的架構(gòu)在建模長期依賴關(guān)系、捕獲上下文信息和處理輸入序列的方式上可能有所不同。
通常而言,在實際的業(yè)務(wù)場景中,選擇適當(dāng)?shù)腖LM預(yù)訓(xùn)練架構(gòu)需要考慮多個因素,包括模型的計算效率、內(nèi)存需求、訓(xùn)練速度和性能表現(xiàn)。此外,還需要考慮模型的規(guī)模和參數(shù)數(shù)量,以便在給定的計算資源和數(shù)據(jù)集大小下進行有效的訓(xùn)練。
5.Process Operations(活動實施)
五. 為什么需要LLM Pre-training(預(yù)訓(xùn)練)?
隨著語言處理(NLP)任務(wù)的復(fù)雜性不斷提高,對模型性能的要求也越來越高。傳統(tǒng)的NLP方法通常需要大量的人工標(biāo)注數(shù)據(jù),這不僅增加成本,而且效率低下。LLM預(yù)訓(xùn)練可以有效地解決這些問題,并為NLP任務(wù)的發(fā)展提供新的動力。
圖:3種模型架構(gòu)和預(yù)訓(xùn)練目標(biāo)
于LLM模型的本質(zhì)來看,Pre-training是一種基于大量參數(shù)的高度非線性函數(shù)模型,需要海量數(shù)據(jù)對其進行高效訓(xùn)練。但是,在特定的自然語言任務(wù)上,標(biāo)注數(shù)據(jù)通常是非常昂貴和稀缺的資源。如果每個任務(wù)都從頭開始訓(xùn)練,數(shù)據(jù)短缺將嚴(yán)重制約模型的性能發(fā)揮。
于LLM預(yù)訓(xùn)練的核心目的來看,Pre-training能夠利用互聯(lián)網(wǎng)上海量的、多種形式的文本數(shù)據(jù)(例如網(wǎng)頁、維基百科、書籍等),在全語言級別學(xué)習(xí)語義、語法和世界知識,掌握語言本身的內(nèi)在規(guī)律,從而擁有了一個廣博的知識面和語言表征能力,為日后各種具體任務(wù)的高效學(xué)習(xí)奠定了基礎(chǔ)。
從實際應(yīng)用的角度看,LLM預(yù)訓(xùn)練也是解決自然語言處理領(lǐng)域長期困擾的兩大痛點的有力手段。首先是通過遷移學(xué)習(xí)大幅降低了任務(wù)數(shù)據(jù)需求。無需為不同場景準(zhǔn)備大量標(biāo)注數(shù)據(jù),只需進行極小量的任務(wù)精調(diào),模型即可作出不錯的輸出。其次是實現(xiàn)了模型和能力的統(tǒng)一。以往需要針對每個任務(wù)從頭開發(fā)特定模型,現(xiàn)在只需基于同一LLM模型,通過簡單的指令調(diào)用即可服務(wù)于各種語言任務(wù),大大提升了開發(fā)效率。
此外,LLM預(yù)訓(xùn)練也為通用人工智能的實現(xiàn)奠定了基礎(chǔ)。目前的預(yù)訓(xùn)練主要關(guān)注語言能力建模,未來還可以打通多模態(tài)(視覺、語音等)信息的學(xué)習(xí),甚至對常識知識、推理邏輯等進行內(nèi)化。模型的泛化能力也將不斷提升,逐步走向真正的"通用"智能。
總之,LLM預(yù)訓(xùn)練是一個重大的范式創(chuàng)新,它極大地提升了模型的學(xué)習(xí)效率和泛化水平,同時也為各類應(yīng)用場景帶來了全新的智能化解決方案。這種預(yù)訓(xùn)練方法可以有效規(guī)避以往任務(wù)專用模型所面臨的數(shù)據(jù)稀缺、知識碎片、開發(fā)效率低下等問題,被視為實現(xiàn)通用人工智能的關(guān)鍵一步。因此,未來一段時間內(nèi),LLM預(yù)訓(xùn)練必將持續(xù)受到產(chǎn)業(yè)界和學(xué)術(shù)界的高度關(guān)注。
https://www.coursera.org/learn/generative-ai-with-llms/lecture/gZArr/computational-challenges-of-training-llms https://ritikjain51.medium.com/llms-model-architectures-and-pre-training-objectives-39c4543edef0
點擊文末 閱讀原文 ,可以到原文下留言交流
覺得本文有用,請 轉(zhuǎn)發(fā)、點贊 或點擊 “賞” ,讓更多同行看到
本系列已發(fā)布文章:
一文讀懂 LLM(大語言模型)生態(tài)
一文讀懂 NLM(神經(jīng)語言模型)
一文讀懂深度學(xué)習(xí)框架 PyTorch vs TensorFlow 差異性對比
一文讀懂 LLM Datesets (大語言模型數(shù)據(jù)集)
本系列將如何幫助讀者入門:通過理論學(xué)習(xí)、實踐訓(xùn)練、工具應(yīng)用和前沿了解等多個維度,引導(dǎo)讀者全面掌握大型語言模型微調(diào)技術(shù)的方方面面,使其能夠快速入門該領(lǐng)域,并為后續(xù)深化學(xué)習(xí)做好準(zhǔn)備。
歡迎關(guān)注社區(qū) “大模型應(yīng)用”技術(shù)主題 ,將會不斷更新優(yōu)質(zhì)資料、文章。地址: https://www.talkwithtrend.com/Topic/155171
下載 twt 社區(qū)客戶端 APP
長按識別二維碼即可下載
或到應(yīng)用商店搜索“twt”
-
2023年各省最新電價一覽!8省中午執(zhí)行谷段電價! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
2023年最新!國家電網(wǎng)27家省級電力公司負(fù)責(zé)人大盤點 2023-03-14
-
全國消防救援總隊主官及簡歷(2023.2) 2023-02-10
-
盤點 l 中國石油大慶油田現(xiàn)任領(lǐng)導(dǎo)班子 2023-02-28
-
我們的前輩!歷屆全國工程勘察設(shè)計大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報 2022-04-26
