色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于一個完整的 LLM 訓(xùn)練流程

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 2023-06-29 10:08 ? 次閱讀

在這篇文章中,我們將盡可能詳細(xì)地梳理一個完整的 LLM 訓(xùn)練流程。包括模型預(yù)訓(xùn)練(Pretrain)、Tokenizer 訓(xùn)練、指令微調(diào)(Instruction Tuning)等環(huán)節(jié)。

文末進(jìn)群,作者答疑、不錯過直播

1.預(yù)訓(xùn)練階段(Pretraining Stage)

工欲善其事,必先利其器。

當(dāng)前,不少工作選擇在一個較強(qiáng)的基座模型上進(jìn)行微調(diào),且通常效果不錯(如:[alpaca]、[vicuna] 等)。

這種成功的前提在于:預(yù)訓(xùn)練模型和下游任務(wù)的差距不大,預(yù)訓(xùn)練模型中通常已經(jīng)包含微調(diào)任務(wù)中所需要的知識。

但在實際情況中,我們通常會遇到一些問題,使得我們無法直接使用一些開源 backbone:

語言不匹配:大多數(shù)開源基座對中文的支持都不太友好,例如:[Llama]、[mpt]、[falcon] 等,這些模型在英文上效果都很優(yōu)秀,但在中文上卻差強(qiáng)人意。

1069384a-15cc-11ee-962d-dac502259ad0.png

專業(yè)知識不足:當(dāng)我們需要一個專業(yè)領(lǐng)域的 LLM 時,預(yù)訓(xùn)練模型中的知識就尤為重要。由于大多數(shù)預(yù)訓(xùn)練模型都是在通用訓(xùn)練語料上進(jìn)行學(xué)習(xí),對于一些特殊領(lǐng)域(金融、法律等)中的概念和名詞無法具備很好的理解。我們通常需要在訓(xùn)練語料中加入一些領(lǐng)域數(shù)據(jù)(如:[xuanyuan 2.0]),以幫助模型在指定領(lǐng)域內(nèi)獲得更好的效果。

1070ee28-15cc-11ee-962d-dac502259ad0.png軒轅 2.0(金融對話模型)論文中所提及的訓(xùn)練語料分布,其中 Financial Pretraining 為金融語料

基于上述原因,我們在進(jìn)行 SFT 步驟之前,先來看看預(yù)訓(xùn)練任務(wù)是如何做的。

1.1 Tokenizer Training

在進(jìn)行預(yù)訓(xùn)練之前,我們需要先選擇一個預(yù)訓(xùn)練的模型基座。

一個較為普遍的問題是:大部分優(yōu)秀的語言模型都沒有進(jìn)行充分的中文預(yù)訓(xùn)練,

因此,許多工作都嘗試將在英語上表現(xiàn)比較優(yōu)秀的模型用中文語料進(jìn)行二次預(yù)訓(xùn)練,期望其能夠?qū)⒂⒄Z上的優(yōu)秀能力遷移到中文任務(wù)中來。

已經(jīng)有許多優(yōu)秀的倉庫做過這件事情,比如:[Chinese-LLaMA-Alpaca]。

但在進(jìn)行正式的訓(xùn)練之前,我們還有一步很重要的事情去做:詞表擴(kuò)充。

通俗來講,tokenizer 的目的就是將一句話進(jìn)行切詞,并將切好詞的列表喂給模型進(jìn)行訓(xùn)練。

例如:

輸入句子>>>你好世界
切詞結(jié)果>>>['你','好','世','界']

通常,tokenizer 有 2 種常用形式:WordPiece 和 BPE。

WordPiece

WordPiece 很好理解,就是將所有的「常用字」和「常用詞」都存到詞表中,

當(dāng)需要切詞的時候就從詞表里面查找即可。

1077f48e-15cc-11ee-962d-dac502259ad0.pngbert-base-chinese tokenizer 可視化

上述圖片來自可視化工具 [tokenizer_viewer]。

如上圖所示,大名鼎鼎的 BERT 就使用的這種切詞法。

當(dāng)我們輸入句子:你好世界,

BERT 就會依次查找詞表中對應(yīng)的字,并將句子切成詞的組合。

1088c78c-15cc-11ee-962d-dac502259ad0.pngBERT 切詞測試圖

當(dāng)遇到詞表中不存在的字詞時,tokenizer 會將其標(biāo)記為特殊的字符 [UNK]:

10a619ea-15cc-11ee-962d-dac502259ad0.pngOut of Vocabulary(OOV)情況

Byte Pair Encoder(BPE)

WordPiece 的方式很有效,但當(dāng)字詞數(shù)目過于龐大時這個方式就有點難以實現(xiàn)了。

對于一些多語言模型來講,要想窮舉所有語言中的常用詞(窮舉不全會造成 OOV),

既費人力又費詞表大小,為此,人們引入另一種方法:BPE。

BPE 不是按照中文字詞為最小單位,而是按照 unicode 編碼 作為最小粒度。

對于中文來講,一個漢字是由 3 個 unicode 編碼組成的,

因為平時我們不會拆開來看(畢竟中文漢字是不可拆分的),所以我一開始對這個概念也不太熟悉。

我們來看看 LLaMA 的 tokenizer(BPE)對中文是如何進(jìn)行 encode 的:

10b7d874-15cc-11ee-962d-dac502259ad0.png

上述圖片來自可視化工具 [tokenizer_viewer]。

可以看到,「編碼」兩個字能夠被正常切成 2 個字,

但「待」卻被切成了 3 個 token,這里的每個 token 就是 1 個 unicode 編碼。

10c66a4c-15cc-11ee-962d-dac502259ad0.pngLLaMA tokenizer 查找結(jié)果,「待」不在詞表中,「編」「碼」在詞表中

通過 token 查找功能,我們可以發(fā)現(xiàn)「編」「碼」在詞表中,但「待」不在詞表中。

但任何 1 個漢字都是可以由 unicode 表示(只是組合順序不同),因此「待」就被切成了 3 個 token。

10e07c7a-15cc-11ee-962d-dac502259ad0.png

通常在模型訓(xùn)練不夠充足的時候,模型會輸出一些亂碼(不合法的 unicode 序列):

游泳池是杭州西湖的一個游泳池,???

詞表擴(kuò)充

為了降低模型的訓(xùn)練難度,人們通常會考慮在原來的詞表上進(jìn)行「詞表擴(kuò)充」,

也就是將一些常見的漢字 token 手動添加到原來的 tokenizer 中,從而降低模型的訓(xùn)練難度。

我們對比 [Chinese-LLaMA] 和 [LLaMA] 之間的 tokenizer 的區(qū)別:

10fb2c32-15cc-11ee-962d-dac502259ad0.pngChinese LLaMA 和 原始LLaMA 之間 tokenizer 的區(qū)別

我們可以發(fā)現(xiàn):Chinese LLaMA 在原始 tokenizer 上新增了17953 個 tokens,且加入 token 的大部分為漢字。

而在 [BELLE] 中也有同樣的做法:

在 120w 行中文文本上訓(xùn)練出一個 5w 規(guī)模的 token 集合,

并將這部分 token 集合與原來的 LLaMA 詞表做合并,

最后再在 3.2B 的中文語料上對這部分新擴(kuò)展的 token embedding 做二次預(yù)訓(xùn)練。

110eb2d4-15cc-11ee-962d-dac502259ad0.png《Towards Better Instruction Following Language Models for Chinese》 Page-4

1.2 Language Model PreTraining

在擴(kuò)充完 tokenizer 后,我們就可以開始正式進(jìn)行模型的預(yù)訓(xùn)練步驟了。

Pretraining 的思路很簡單,就是輸入一堆文本,讓模型做 Next Token Prediction 的任務(wù),這個很好理解。

我們主要來討論幾種預(yù)訓(xùn)練過程中所用到的方法:數(shù)據(jù)源采樣、數(shù)據(jù)預(yù)處理、模型結(jié)構(gòu)。

數(shù)據(jù)源采樣

在 [gpt3] 的訓(xùn)練過程中,存在多個訓(xùn)練數(shù)據(jù)源,論文中提到:對不同的數(shù)據(jù)源會選擇不同采樣比例:

11290f62-15cc-11ee-962d-dac502259ad0.pngGPT3 Paper Page-9

通過「數(shù)據(jù)源」采樣的方式,能夠緩解模型在訓(xùn)練的時候受到「數(shù)據(jù)集規(guī)模大小」的影響。

從上圖中可以看到,相對較大的數(shù)據(jù)集(Common Crawl)會使用相對較大的采樣比例(60%),

這個比例遠(yuǎn)遠(yuǎn)小于該數(shù)據(jù)集在整體數(shù)據(jù)集中所占的規(guī)模(410 / 499 = 82.1%),

因此,CC 數(shù)據(jù)集最終實際上只被訓(xùn)練了 0.44(0.6 / 0.82 * (300 / 499))個 epoch。

而對于規(guī)模比較小的數(shù)據(jù)集(Wikipedia),則將多被訓(xùn)練幾次(3.4 個 epoch)。

這樣一來就能使得模型不會太偏向于規(guī)模較大的數(shù)據(jù)集,從而失去對規(guī)模小但作用大的數(shù)據(jù)集上的學(xué)習(xí)信息

數(shù)據(jù)預(yù)處理

數(shù)據(jù)預(yù)處理主要指如何將「文檔」進(jìn)行向量化。

通常來講,在 Finetune 任務(wù)中,我們通常會直接使用 truncation 將超過閾值(2048)的文本給截斷,

但在 Pretrain 任務(wù)中,這種方式顯得有些浪費。

以書籍?dāng)?shù)據(jù)為例,一本書的內(nèi)容肯定遠(yuǎn)遠(yuǎn)多余 2048 個 token,但如果采用頭部截斷的方式,

則每本書永遠(yuǎn)只能夠?qū)W習(xí)到開頭的 2048 tokens 的內(nèi)容(連序章都不一定能看完)。

因此,最好的方式是將長文章按照 seq_len(2048)作分割,將切割后的向量喂給模型做訓(xùn)練。

模型結(jié)構(gòu)

為了加快模型的訓(xùn)練速度,通常會在 decoder 模型中加入一些 tricks 來縮短模型訓(xùn)練周期。

目前大部分加速 tricks 都集中在 Attention 計算上(如:MQA 和 Flash Attention [falcon] 等);

此外,為了讓模型能夠在不同長度的樣本上都具備較好的推理能力,

通常也會在 Position Embedding 上進(jìn)行些處理,選用 ALiBi([Bloom])或 RoPE([GLM-130B])等。

具體內(nèi)容可以參考下面這篇文章[1]

1.3 數(shù)據(jù)集清理

中文預(yù)訓(xùn)練數(shù)據(jù)集可以使用 [悟道],數(shù)據(jù)集分布如下(主要以百科、博客為主):

113e1f2e-15cc-11ee-962d-dac502259ad0.png悟道-數(shù)據(jù)分布圖

但開源數(shù)據(jù)集可以用于實驗,如果想突破性能,則需要我們自己進(jìn)行數(shù)據(jù)集構(gòu)建。

在 [falcon paper] 中提到,

僅使用「清洗后的互聯(lián)網(wǎng)數(shù)據(jù)」就能夠讓模型比在「精心構(gòu)建的數(shù)據(jù)集」上有更好的效果,

一些已有的數(shù)據(jù)集和它們的處理方法如下:

11524da0-15cc-11ee-962d-dac502259ad0.png各種數(shù)據(jù)源 & 數(shù)據(jù)清理方法

有關(guān) Falcon 更多的細(xì)節(jié)可以看這里[2]

1.4 模型效果評測

關(guān)于 Language Modeling 的量化指標(biāo),較為普遍的有 [PPL],[BPC] 等,

可以簡單理解為在生成結(jié)果和目標(biāo)文本之間的 Cross Entropy Loss 上做了一些處理。

這種方式可以用來評估模型對「語言模板」的擬合程度,

即給定一段話,預(yù)測后面可能出現(xiàn)哪些合法的、通順的字詞。

但僅僅是「生成通順句子」的能力現(xiàn)在已經(jīng)很難滿足現(xiàn)在人們的需求,

大部分 LLM 都具備生成流暢和通順語句能力,很難比較哪個好,哪個更好。

為此,我們需要能夠評估另外一個大模型的重要能力 —— 知識蘊含能力。

C-Eval

一個很好的中文知識能力測試數(shù)據(jù)集是 [C-Eval],涵蓋1.4w 道選擇題,共 52 個學(xué)科。

覆蓋學(xué)科如下:

11780e64-15cc-11ee-962d-dac502259ad0.pngc-eval 數(shù)據(jù)集覆蓋學(xué)科圖

由于是選擇題的形式,我們可以通過將題目寫進(jìn) prompt 中,

并讓模型續(xù)寫 1 個 token,判斷這個續(xù)寫 token 的答案是不是正確答案即可。

但大部分沒有精調(diào)過的預(yù)訓(xùn)練模型可能無法續(xù)寫出「A B C D」這樣的選項答案,

因此,官方推薦使用 5-shot 的方式來讓模型知道如何輸出答案:

以下是中國關(guān)于會計考試的單項選擇題,請選出其中的正確答案。

下列關(guān)于稅法基本原則的表述中,不正確的是____。
A. 稅收法定原則包括稅收要件法定原則和稅務(wù)合法性原則
B. 稅收公平原則源于法律上的平等性原則
C. 稅收效率原則包含經(jīng)濟(jì)效率和行政效率兩個方面
D. 稅務(wù)機(jī)關(guān)按法定程序依法征稅,可以自由做出減征、停征或免征稅款的決定
答案:D

公司是國內(nèi)一家領(lǐng)先的新媒體、通信及移動增值服務(wù)公司,由于遭受世界金融危機(jī),甲公司經(jīng)濟(jì)利潤嚴(yán)重下滑,經(jīng)營面臨困境,但為了穩(wěn)定職工隊伍,公司并未進(jìn)行裁員,而是實行高層管理人員減薪措施。甲公司此舉采用的收縮戰(zhàn)略方式是____。
A. 轉(zhuǎn)向戰(zhàn)略
B. 放棄戰(zhàn)略
C. 緊縮與集中戰(zhàn)略
D. 穩(wěn)定戰(zhàn)略
答案:C

... # 第 3, 4, 5 道樣例題

下列各項中,不能增加企業(yè)核心競爭力的是____。
A. 產(chǎn)品差異化
B. 購買生產(chǎn)專利權(quán)
C. 創(chuàng)新生產(chǎn)技術(shù)
D. 聘用生產(chǎn)外包商
答案:

通過前面的樣例后,模型能夠知道在「答案:」后面應(yīng)該輸出選項字母。

于是,我們獲得模型續(xù)寫后的第一個 token 的概率分布(logits),

并取出「A B C D」這 4 個字母的概率,通過 softmax 進(jìn)行歸一化:

probs=(
torch.nn.functional.softmax(
torch.tensor(
[
logits[self.tokenizer.encode(
"A",bos=False,eos=False)[0]],
logits[self.tokenizer.encode(
"B",bos=False,eos=False)[0]],
logits[self.tokenizer.encode(
"C",bos=False,eos=False)[0]],
logits[self.tokenizer.encode(
"D",bos=False,eos=False)[0]],
]
),
dim=0,
).detach().cpu().numpy()
)
pred={0:"A",1:"B",2:"C",3:"D"}[np.argmax(probs)]#將概率最大的選項作為模型輸出的答案

C-Eval 通過這種方式測出了許多模型在中文知識上的效果,

由于是 4 選項問題,所以基線(隨機(jī)選擇)的正確率是 25%。

C-Eval 也再一次證明了 GPT-4 是個多么強(qiáng)大的知識模型:

1195cf76-15cc-11ee-962d-dac502259ad0.png各模型在 5-shot 下的得分排名

2. 指令微調(diào)階段(Instruction Tuning Stage)

在完成第一階段的預(yù)訓(xùn)練后,就可以開始進(jìn)到指令微調(diào)階段了。

由于預(yù)訓(xùn)練任務(wù)的本質(zhì)在于「續(xù)寫」,而「續(xù)寫」的方式并一定能夠很好的回答用戶的問題。

例如:

11adeaa2-15cc-11ee-962d-dac502259ad0.png

因為訓(xùn)練大多來自互聯(lián)網(wǎng)中的數(shù)據(jù),我們無法保證數(shù)據(jù)中只存在存在規(guī)范的「一問一答」格式,

這就會造成預(yù)訓(xùn)練模型通常無法直接給出人們想要的答案。

但是,這并不代表預(yù)訓(xùn)練模型「無知」,只是需要我們用一些巧妙的「技巧」來引導(dǎo)出答案:

11be5702-15cc-11ee-962d-dac502259ad0.png

不過,這種需要用戶精心設(shè)計從而去「套」答案的方式,顯然沒有那么優(yōu)雅。

既然模型知道這些知識,只是不符合我們?nèi)祟惖膶υ捔?xí)慣,那么我們只要再去教會模型「如何對話」就好了。

這就是 Instruction Tuning 要做的事情,即指令對齊。

OpenAI 在 [instruction-following] 中展示了 GPT-3 和經(jīng)過指令微調(diào)前后模型的區(qū)別:

11cce57e-15cc-11ee-962d-dac502259ad0.pngGPT-3 只是在做續(xù)寫任務(wù),InstructGPT 則能夠回答正確內(nèi)容

2.1 Self Instruction

既然我們需要去「教會模型說人話」,

那么我們就需要去精心編寫各式各樣人們在對話中可能詢問的問題,以及問題的答案。

在 [InstructGPT Paper] 中,使用了 1.3w 的數(shù)據(jù)來對 GPT-3.5 進(jìn)行監(jiān)督學(xué)習(xí)(下圖中左 SFT Data):

11e2f68e-15cc-11ee-962d-dac502259ad0.pngInstructGPT Paper 訓(xùn)練數(shù)據(jù)集預(yù)覽

可以觀察到,數(shù)據(jù)集中人工標(biāo)注(labeler)占大頭,

這還僅僅只是 InstructGPT,和 ChatGPT 遠(yuǎn)遠(yuǎn)不是一個量級。

非官方消息:ChatGPT 使用了百萬量級的數(shù)據(jù)進(jìn)行指令微調(diào)。

可見,使用人工標(biāo)注是一件成本巨大的事情,只是找到人不夠,需要找到「專業(yè)」且「認(rèn)知一致」的標(biāo)注團(tuán)隊。

如果這件事從頭開始做自然很難(OpenAI 確實厲害),但今天我們已經(jīng)有了 ChatGPT 了,

我們讓 ChatGPT 來教我們自己的模型不就好了嗎?

這就是 Self Instruction 的思路,即通過 ChatGPT 的輸入輸出來蒸餾自己的模型。

一個非常出名的項目是 [stanford_alpaca]。

如果從 ChatGPT 「套」數(shù)據(jù),那么我們至少需要「套」哪些數(shù)據(jù)。

Instruction Tuning 中的「輸入」(問題)和「輸出」(答案)是訓(xùn)練模型的關(guān)鍵,

答案很好得到,喂給 ChatGPT 問題根據(jù)返回結(jié)果就能獲得,

但「問題」從哪里獲得呢?

(靠人想太累了,屏幕前的你不妨試試,看看短時間內(nèi)能想出多少有價值的問題)

Alpaca 則是使用「種子指令(seed)」,使得 ChatGPT 既生成「問題」又生成「答案」。

由于 Alpaca 是英文項目,為了便于理解,我們使用相同思路的中文項目 [BELLE] 作為例子。

通俗來講,就是人為的先給一些「訓(xùn)練數(shù)據(jù)樣例」讓 ChatGPT 看,

緊接著利用 ChatGPT 的續(xù)寫功能,讓其不斷地舉一反三出新的訓(xùn)練數(shù)據(jù)集:

你被要求提供10個多樣化的任務(wù)指令。這些任務(wù)指令將被提供給GPT模型,我們將評估GPT模型完成指令的能力。
以下是你提供指令需要滿足的要求:
1.盡量不要在每個指令中重復(fù)動詞,要最大化指令的多樣性。
2.使用指令的語氣也應(yīng)該多樣化。例如,將問題與祈使句結(jié)合起來。
3.指令類型應(yīng)該是多樣化的,包括各種類型的任務(wù),類別種類例如:brainstorming,open QA,closed QA,rewrite,extract,generation,classification,chat,summarization。
4.GPT語言模型應(yīng)該能夠完成這些指令。例如,不要要求助手創(chuàng)建任何視覺或音頻輸出。例如,不要要求助手在下午5點叫醒你或設(shè)置提醒,因為它無法執(zhí)行任何操作。例如,指令不應(yīng)該和音頻、視頻、圖片、鏈接相關(guān),因為GPT模型無法執(zhí)行這個操作。
5.指令用中文書寫,指令應(yīng)該是1到2個句子,允許使用祈使句或問句。
6.你應(yīng)該給指令生成適當(dāng)?shù)妮斎耄斎胱侄螒?yīng)包含為指令提供的具體示例,它應(yīng)該涉及現(xiàn)實數(shù)據(jù),不應(yīng)包含簡單的占位符。輸入應(yīng)提供充實的內(nèi)容,使指令具有挑戰(zhàn)性。
7.并非所有指令都需要輸入。例如,當(dāng)指令詢問一些常識信息,比如“世界上最高的山峰是什么”,不需要提供具體的上下文。在這種情況下,我們只需在輸入字段中放置“<無輸入>”。當(dāng)輸入需要提供一些文本素材(例如文章,文章鏈接)時,就在輸入部分直接提供一些樣例。當(dāng)輸入需要提供音頻、圖片、視頻或者鏈接時,則不是滿足要求的指令。
8.輸出應(yīng)該是針對指令和輸入的恰當(dāng)回答。
下面是10個任務(wù)指令的列表:

###
1.指令: 在面試中如何回答這個問題?
1.輸入:當(dāng)你在車?yán)铼毺帟r,你會想些什么?
1.輸出:如果是在晚上,我通常會考慮我今天所取得的進(jìn)步,如果是在早上,我會思考如何做到最好。我也會嘗試練習(xí)感恩和活在當(dāng)下的狀態(tài),以避免分心駕駛。
###
2.指令: 按人口對這些國家進(jìn)行排名。
2.輸入:巴西,中國,美國,日本,加拿大,澳大利亞
2.輸出:中國,美國,巴西,日本,加拿大,澳大利亞
###
3.指令:

如上述例子所示,我們先給出 2 個樣例,并讓 ChatGPT 進(jìn)行續(xù)寫:

11f22b54-15cc-11ee-962d-dac502259ad0.pngChatGPT 續(xù)寫結(jié)果

關(guān)于 BELLE 的更多細(xì)節(jié)可以參考這篇文章[3]

2.2 開源數(shù)據(jù)集整理

在這一章中,我們將梳理一些開源的 Instruction Tuning 的數(shù)據(jù)集,

除了直接拿來用以外,我們期望通過分析這些已有數(shù)據(jù)集,從而學(xué)習(xí)如何構(gòu)建一個指令數(shù)據(jù)集。

Alpaca

[stanford_alpaca] 采用上述的 self instruction 的方式采集了 5200 條指令訓(xùn)練數(shù)據(jù)集。

數(shù)據(jù)樣例如下:

{
"instruction":"Arrangethewordsinthegivensentencetoformagrammaticallycorrectsentence.",
"input":"quicklythebrownfoxjumped",
"output":"Thequickbrownfoxjumpedquickly."
}

其中,instruction 代表要求模型做的任務(wù),input 代表用戶輸入, output 代表喂給模型的 label。

Alpaca 覆蓋了多種類型的指令,其數(shù)據(jù)分布如下:

121efce2-15cc-11ee-962d-dac502259ad0.pngAlpaca 數(shù)據(jù)分布圖

包含寫作、描述、分類、摘要等多種類型的任務(wù)集合。

BELLE

BELLE 開放了好幾種規(guī)模的數(shù)據(jù)集,[100萬]、[200萬]、[350萬] 等。

訓(xùn)練數(shù)據(jù)集樣例如下:

{
"instruction":"判斷給定的文章是否符合語法規(guī)則。如果不符合,請?zhí)峁┬薷慕ㄗh。下面是一篇文章的開頭:‘為了探討這個主題,本文將提供一系列數(shù)據(jù)和實例,以證明這一觀點。’",
"input":"",
"output":"這個開頭符合語法規(guī)則。"
}

由于數(shù)據(jù)量很大,我們無法統(tǒng)計出訓(xùn)練數(shù)據(jù)集中各任務(wù)的真實占比,

但從 [1000條評測集] 數(shù)據(jù)分布可以推測出,訓(xùn)練數(shù)據(jù)集中同樣包含:摘要、問答、分類等任務(wù)。

1233c6fe-15cc-11ee-962d-dac502259ad0.pngBELLE - 評測集分布

我們按照類別對評測數(shù)據(jù)進(jìn)行采樣,結(jié)果如下:

1253f0a0-15cc-11ee-962d-dac502259ad0.png

2.3 模型的評測方法

比起預(yù)訓(xùn)練(Pretrain)環(huán)節(jié)里相對明確的評價指標(biāo)(如PPL、NLL等),

Instruction 環(huán)節(jié)中的評價指標(biāo)比較令人頭疼。

鑒于語言生成模型的發(fā)展速度,BLEU 和 ROUGH 這樣的指標(biāo)已經(jīng)不再客觀。

一種比較流行的方式是像 [FastChat] 中一樣,利用 GPT-4 為模型的生成結(jié)果打分,

我們也嘗試使用同樣的 Prompt 對 3 種開源模型:OpenLlama、ChatGLM、BELLE 進(jìn)行測試。

注意:下面的測試結(jié)果僅源自我們自己的實驗,不具備任何權(quán)威性

對于每一個問題,我們先獲得 ChatGPT 的回復(fù),以及另外 3 種模型的回復(fù),

接著我們將 「ChatGPT 答案 - 候選模型答案」這樣的 pair 喂給 GPT-4 打分(滿分為 10 分)。

得到的結(jié)果如下:

127ada30-15cc-11ee-962d-dac502259ad0.png測試結(jié)果 & 測試 prompt

我們對每個任務(wù)單獨進(jìn)行了統(tǒng)計,并在最后一列求得平均值。

GPT-4 會對每一條測試樣本的 2 個答案分別進(jìn)行打分,并給出打分理由:

12929bfc-15cc-11ee-962d-dac502259ad0.pngGPT-Review 的結(jié)果

但是,我們發(fā)現(xiàn),GPT-4 打出的分?jǐn)?shù)和給出理由并不一定正確

如上圖所示,GPT-4 為右邊模型的答案打出了更高的分?jǐn)?shù),給出的理由是:

將「最長時期」改為了「最長時期之一」會更準(zhǔn)確。

但事實上,Instruction 中明確設(shè)定就是「最長時期」,

這種「給高分」的理由其實是不正確的。

此外,我們還發(fā)現(xiàn),僅僅調(diào)換句子順序也會對最后打分結(jié)果產(chǎn)生影響,

針對這個問題,我們考慮「調(diào)換句子順序并求和平均」來緩解。

但不管怎么樣,GPT-4 給出的分?jǐn)?shù)或許并沒有我們想象中的那么靠譜,

為此,我們通過人工的 Review 的方式對每個答案進(jìn)行了一次回掃,得到的結(jié)果和標(biāo)準(zhǔn)如下:

再次重申:我們只是期望指出 GPT-4 打分可能會和實際產(chǎn)生偏差的問題,這里排名不具備任何權(quán)威性

12b80be4-15cc-11ee-962d-dac502259ad0.png人工 Review 結(jié)果 & 打分原則

我們可以看到,

在 GPT-4 打分的結(jié)果中,已經(jīng)有模型的效果甚至超過了 ChatGPT(分?jǐn)?shù)為 1.02),

但再經(jīng)過人工 Review 后,ChatGPT 的答案是我們認(rèn)為更合理一些的。

當(dāng)然,最近陸陸續(xù)續(xù)的推出了許多新的評測方法,如:[PandaLM],

以及許多比較有影響力的評測集,如:[C-Eval]、[open_llm_leaderboard] 等,

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7002

    瀏覽量

    88941
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    940

    瀏覽量

    54814
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3226

    瀏覽量

    48807
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    286

    瀏覽量

    327

原文標(biāo)題:從零詳細(xì)地梳理一個完整的 LLM 訓(xùn)練流程

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    大型語言模型(LLM)的自定義訓(xùn)練:包含代碼示例的詳細(xì)指南

    近年來,像 GPT-4 這樣的大型語言模型 (LLM) 因其在自然語言理解和生成方面的驚人能力而受到廣泛關(guān)注。但是,要根據(jù)特定任務(wù)或領(lǐng)域定制LLM,定制培訓(xùn)是必要的。本文提供了有關(guān)自定義訓(xùn)練
    發(fā)表于 06-12 09:35 ?2748次閱讀

    MLC-LLM的編譯部署流程

    MLC-LLM部署在各種硬件平臺的需求,然后我就開始了解MLC-LLM的編譯部署流程和RWKV World模型相比于MLC-LLM已經(jīng)支持的Raven系列模型的特殊之處。 MLC-
    的頭像 發(fā)表于 09-04 09:22 ?2926次閱讀
    MLC-<b class='flag-5'>LLM</b>的編譯部署<b class='flag-5'>流程</b>

    大語言模型(LLM)預(yù)訓(xùn)練數(shù)據(jù)集調(diào)研分析

    model 訓(xùn)練完成后,使用 instruction 以及其他高質(zhì)量的私域數(shù)據(jù)集來提升 LLM 在特定領(lǐng)域的性能;而 rlhf 是 openAI 用來讓model 對齊人類價值觀的種強(qiáng)大技術(shù);pre-training dat
    的頭像 發(fā)表于 09-19 10:00 ?1154次閱讀
    大語言模型(<b class='flag-5'>LLM</b>)預(yù)<b class='flag-5'>訓(xùn)練</b>數(shù)據(jù)集調(diào)研分析

    mlc-llm對大模型推理的流程及優(yōu)化方案

    在 MLC-LLM 部署RWKV World系列模型實戰(zhàn)(3B模型Mac M2解碼可達(dá)26tokens/s) 中提到要使用mlc-llm部署模型首先需要編譯過程,將原始的基于Rea
    發(fā)表于 09-26 12:25 ?891次閱讀
    mlc-<b class='flag-5'>llm</b>對大模型推理的<b class='flag-5'>流程</b>及優(yōu)化方案

    基于NVIDIA Megatron Core的MOE LLM實現(xiàn)和訓(xùn)練優(yōu)化

    本文將分享阿里云人工智能平臺 PAI 團(tuán)隊與 NVIDIA Megatron-Core 團(tuán)隊在 MoE (Mixture of Experts) 大語言模型(LLM)實現(xiàn)與訓(xùn)練優(yōu)化上的創(chuàng)新工作。
    的頭像 發(fā)表于 03-22 09:50 ?759次閱讀
    基于NVIDIA Megatron Core的MOE <b class='flag-5'>LLM</b>實現(xiàn)和<b class='flag-5'>訓(xùn)練</b>優(yōu)化

    人臉識別模型訓(xùn)練流程

    人臉識別模型訓(xùn)練流程是計算機(jī)視覺領(lǐng)域中的項重要技術(shù)。本文將詳細(xì)介紹人臉識別模型的訓(xùn)練流程,包括數(shù)據(jù)準(zhǔn)備、模型選擇、模型
    的頭像 發(fā)表于 07-04 09:19 ?935次閱讀

    llm模型和chatGPT的區(qū)別

    LLM(Large Language Model)是指大型語言模型,它們是類使用深度學(xué)習(xí)技術(shù)構(gòu)建的自然語言處理(NLP)模型。LLM模型可以處理各種語言任務(wù),如文本生成、文本分類、機(jī)器翻譯等。目前
    的頭像 發(fā)表于 07-09 09:55 ?1033次閱讀

    llm模型有哪些格式

    LLM(Large Language Model,大型語言模型)是種深度學(xué)習(xí)模型,主要用于處理自然語言處理(NLP)任務(wù)。LLM模型的格式多種多樣,以下是些常見的
    的頭像 發(fā)表于 07-09 09:59 ?596次閱讀

    llm模型訓(xùn)練般用什么系統(tǒng)

    LLM(Large Language Model,大型語言模型)是近年來在自然語言處理領(lǐng)域取得顯著成果的種深度學(xué)習(xí)模型。它通常需要大量的計算資源和數(shù)據(jù)來進(jìn)行訓(xùn)練。以下是關(guān)于LLM模型
    的頭像 發(fā)表于 07-09 10:02 ?396次閱讀

    LLM預(yù)訓(xùn)練的基本概念、基本原理和主要優(yōu)勢

    在人工智能和自然語言處理(NLP)領(lǐng)域,大型語言模型(Large Language Model,簡稱LLM)的興起極大地推動了技術(shù)的進(jìn)步和應(yīng)用的發(fā)展。LLM通過在大規(guī)模文本數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,獲得了
    的頭像 發(fā)表于 07-10 11:03 ?1063次閱讀

    端到端InfiniBand網(wǎng)絡(luò)解決LLM訓(xùn)練瓶頸

    的,這需要大量的計算資源和高速數(shù)據(jù)傳輸網(wǎng)絡(luò)。端到端InfiniBand(IB)網(wǎng)絡(luò)作為高性能計算和AI模型訓(xùn)練的理想選擇,發(fā)揮著重要作用。在本文中,我們將深入探討大型語言模型(LLM訓(xùn)練的概念,并探索端到端InfiniBand
    的頭像 發(fā)表于 10-23 11:26 ?379次閱讀
    端到端InfiniBand網(wǎng)絡(luò)解決<b class='flag-5'>LLM</b><b class='flag-5'>訓(xùn)練</b>瓶頸

    LLM和傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    訓(xùn)練方法 LLM: 預(yù)訓(xùn)練和微調(diào): LLM通常采用預(yù)訓(xùn)練(Pre-training)和微調(diào)(Fine-tuning)的方法。預(yù)
    的頭像 發(fā)表于 11-08 09:25 ?409次閱讀

    如何訓(xùn)練自己的LLM模型

    訓(xùn)練自己的大型語言模型(LLM)是復(fù)雜且資源密集的過程,涉及到大量的數(shù)據(jù)、計算資源和專業(yè)知識。以下是訓(xùn)練
    的頭像 發(fā)表于 11-08 09:30 ?507次閱讀

    從零開始訓(xùn)練大語言模型需要投資多少錢?

    ,前言 ? 在AI領(lǐng)域,訓(xùn)練大型語言模型(LLM)是
    的頭像 發(fā)表于 11-08 14:15 ?199次閱讀
    從零開始<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>一</b><b class='flag-5'>個</b>大語言模型需要投資多少錢?

    什么是LLMLLM在自然語言處理中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,自然語言處理(NLP)領(lǐng)域迎來了革命性的進(jìn)步。其中,大型語言模型(LLM)的出現(xiàn),標(biāo)志著我們對語言理解能力的次飛躍。LLM通過深度學(xué)習(xí)和海量數(shù)據(jù)訓(xùn)練,使得
    的頭像 發(fā)表于 11-19 15:32 ?523次閱讀
    主站蜘蛛池模板: 中国xxxxxxxxx孕交| 湖南电台在线收听| 欧美一区二区视频97色伦| 伊人色综合久久天天| 国产在线自天天人人| 无码国产成人777爽死| 成人免费一区二区无码视频| 嫩小幼处在线| 88蜜桃人妻无码精品系列| 久久66热在线视频精品| 亚洲va精品中文字幕| 国产午夜高潮熟女精品AV| 午夜人妻理论片天堂影院| 国产国产人免费观看在线视频| 人妻无码AV中文系列| 产传媒61国产免费| 欧洲videosdesrxotv| VIDEOSGGRATIS欧美另类| 欧美派对xxxhdparty| 99麻豆精品国产人妻无码| 麻豆精品2021最新| 自拍偷拍2| 免费成人高清在线视频| 777久久人妻少妇嫩草AV| 美女撒尿无遮挡免费中国| 91精品一区二区三区在线观看| 蜜桃TV成人网站免费打开| 97色伦图区97色伦综合图区| 麻豆文化传媒一区二区| 999zyz色资源站在线观看| 欧美AAAAAA级午夜福利视频| TIMI1TV天美传媒在线观看| 日本久久久久久久做爰片日本| 第一福利在线永久视频| 神电影院午夜dy888我不卡| 国产精品一国产精品免费| 亚洲爱视频| 精品无人区麻豆乱码1区2| 中文字幕按摩| 欧美雌雄双性人交xxxx| 成在线人免费|