邻居一晚让我高潮3次正常吗,人妻丰满熟妇AV无码区动漫,乱LUN合集1第40部分阅读,精品无码国产一区二区三区51安

當(dāng)前位置:首頁(yè) > 最新資訊 > 行業(yè)資訊

詞表的選擇如何影響語(yǔ)言模型訓(xùn)練?這可能是目前見過(guò)最好的詞表選擇研究

不同詞表對(duì)語(yǔ)言模型有哪些影響?如何權(quán)衡這些影響?

在最近的一項(xiàng)實(shí)驗(yàn)中,研究者對(duì)16個(gè)語(yǔ)言模型使用不同的語(yǔ)料進(jìn)行了預(yù)訓(xùn)練和微調(diào)。這次實(shí)驗(yàn)使用了NanoGPT,一種小規(guī)模的架構(gòu)(基于GPT-2 SMALL),訓(xùn)練了12個(gè)模型,NanoGPT網(wǎng)絡(luò)架構(gòu)的配置為:12個(gè)注意力頭、12層transformer,詞嵌入維度為768,進(jìn)行大約400,000次迭代(大約10個(gè)epoch)。然后在GPT-2 MEDIUM上訓(xùn)練了4個(gè)模型,GPT-2 MEDIUM架構(gòu)的設(shè)置為16個(gè)注意力頭、24層transformer,詞嵌入維度為1024,并進(jìn)行600,000次迭代。所有模型均使用NanoGPT和OpenWebText數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練。微調(diào)方面,研究者使用了baize-chatbot提供的指令數(shù)據(jù)集,分別在兩類模型里補(bǔ)充了額外的20,000和500,000個(gè)「字典」條目。

未來(lái),研究者計(jì)劃發(fā)布代碼、預(yù)訓(xùn)練模型、指令調(diào)整模型和微調(diào)數(shù)據(jù)集。

不過(guò),這16個(gè)模型僅在預(yù)訓(xùn)練階段就要在8個(gè)GPU上累計(jì)運(yùn)行147天(單個(gè)GPU要使用1,176天),成本為8,000美元。因?yàn)闆](méi)有GPU贊助商(這是一個(gè)免費(fèi)的開源項(xiàng)目),出于成本考慮,雖然還存在進(jìn)一步對(duì)研究?jī)?nèi)容完善的空間,但是研究者目前沒(méi)有繼續(xù)進(jìn)行下去。

研究結(jié)果可總結(jié)為:

編碼方式上,TokenMonster(550256-strict-nocapcode)詞表在所有指標(biāo)上都比GPT-2 Tokenizer和tiktoken p50k_base表現(xiàn)更好。

最佳詞表規(guī)模為32000。

詞表越簡(jiǎn)單,模型收斂得越快,但收斂后不一定會(huì)產(chǎn)生更好的結(jié)果。

字詞比(每個(gè)token對(duì)應(yīng)的平均字符數(shù))增加,不會(huì)單獨(dú)對(duì)模型質(zhì)量產(chǎn)生負(fù)面影響。

單個(gè)token對(duì)應(yīng)多個(gè)單詞的詞表對(duì)SMLQA(真值)基準(zhǔn)有5%的負(fù)面影響,但對(duì)字詞比要高13%。

帶有Capcode的詞表的話,模型需要更長(zhǎng)的時(shí)間來(lái)學(xué)習(xí),但一旦模型收斂,似乎不會(huì)在任何方向上會(huì)對(duì)SMLQA(真值)或SQuAD(Data Extraction)基準(zhǔn)產(chǎn)生影響。

在比較不同的分詞器時(shí),驗(yàn)證損失和F1都是無(wú)意義的指標(biāo)。

分詞器的缺陷和復(fù)雜性對(duì)模型學(xué)習(xí)事實(shí)能力的影響大于對(duì)模型學(xué)習(xí)語(yǔ)言能力的影響。

根據(jù)實(shí)驗(yàn)結(jié)果,englishcode-32000-consistent的結(jié)果是最好的。然而,如上所述,當(dāng)使用在單個(gè)token對(duì)應(yīng)多個(gè)單詞的TokenMonster時(shí),SMLQA(Ground Truth)的準(zhǔn)確性和字詞比之間會(huì)存在一種權(quán)衡,這增加了學(xué)習(xí)曲線的斜率。研究者堅(jiān)信,通過(guò)強(qiáng)制 80% 的 token 對(duì)應(yīng)一個(gè)單詞,20% 的 token 對(duì)應(yīng)多個(gè)單詞,可以最大限度地減少這種權(quán)衡,實(shí)現(xiàn) “兩全其美” 的詞表。研究者認(rèn)為這種方法在性能上與 one-word 詞表相同,同時(shí)字詞比還能提高約 50%。

再詳細(xì)地解釋一下 “分詞器中的缺陷和復(fù)雜性對(duì)模型學(xué)習(xí)事實(shí)的能力的影響大于對(duì)其語(yǔ)言能力的影響” 這句話的含義:

這種現(xiàn)象是訓(xùn)練過(guò)程中發(fā)現(xiàn)的一個(gè)有趣的特征,從模型訓(xùn)練的工作方式去思考,也能說(shuō)得通。研究者沒(méi)有證據(jù)證明其推理是合理的。但從本質(zhì)上講,因?yàn)樵诜聪騻鞑ミ^(guò)程中,語(yǔ)言的流暢性比語(yǔ)言的事實(shí)性(它們是極其微妙和依賴上下文的)更容易糾正,這意味著分詞器效率若有任何提高,與事實(shí)性無(wú)關(guān),都會(huì)產(chǎn)生直接轉(zhuǎn)化為信息保真度提高的連鎖反應(yīng),如在 SMLQA(Ground Truth)基準(zhǔn)中所見。簡(jiǎn)單地說(shuō):一個(gè)更好的分詞器就是一個(gè)更真實(shí)的模型,但不一定是一個(gè)更流暢的模型。反過(guò)來(lái)說(shuō):一個(gè)擁有低效分詞器的模型仍然能學(xué)會(huì)流利地寫作,但流利性的額外成本會(huì)降低模型的可信度。

詞表規(guī)模的影響

在進(jìn)行這些測(cè)試之前,本文研究者認(rèn)為 32000 是最佳詞表規(guī)模,實(shí)驗(yàn)結(jié)果也證實(shí)了這一點(diǎn)。50256-balanced 的性能僅比 SMLQA(Ground Truth)基準(zhǔn)上的 32000-balanced 好 1%,但是模型的尺寸卻大了 13%。理想情況下,本文在基于 MEDIUM 的多個(gè)模型中,通過(guò)分別在規(guī)模為 24000、32000、50256 和 100256 的詞表中進(jìn)行如上所述的二八開劃分方法,來(lái)明確證明這一觀點(diǎn)。

優(yōu)化模式的影響

研究者對(duì) TokenMonster 下特定的三種優(yōu)化模式 balanced, consistent 和 strict 進(jìn)行了測(cè)試。不同的優(yōu)化模式會(huì)影響標(biāo)點(diǎn)符號(hào)以及 capcode 與單詞 token 的組合方式。研究者最初預(yù)測(cè) consistent 模式會(huì)表現(xiàn)得更好(因?yàn)椴荒敲磸?fù)雜),雖然字詞比(即 character 與 token 的比值)會(huì)略低。

實(shí)驗(yàn)結(jié)果似乎證實(shí)了上述猜想,但是研究者也觀察到了一些現(xiàn)象。首先,在 SMLQA(Ground Truth)基準(zhǔn)上,consistent 模式似乎比 balanced 模式的效果好約 5%。然而,consistent 模式在 SQuAD(Data Extraction)基準(zhǔn)上的表現(xiàn)明顯較差(28%)。但是,SQuAD 基準(zhǔn)表現(xiàn)出很大的不確定性(重復(fù)運(yùn)行的結(jié)果不同),也不具有說(shuō)服力。研究者并沒(méi)有對(duì) balanced 與 consistent 測(cè)試至收斂,所以這可能只代表 consistent 模式更容易學(xué)習(xí)。事實(shí)上,consistent 可能在 SQuAD(數(shù)據(jù)提?。┥献龅酶?,因?yàn)?SQuAD 更難學(xué)習(xí),也不太可能產(chǎn)生幻覺。

這本身就是一個(gè)有趣的發(fā)現(xiàn),因?yàn)樗馕吨鴮?biāo)點(diǎn)符號(hào)和單詞合并到一個(gè) token 中并不存在明顯的問(wèn)題。迄今為止,所有其他分詞器都認(rèn)為標(biāo)點(diǎn)符號(hào)應(yīng)與字母分開,但從這里的結(jié)果可以看出,單詞和標(biāo)點(diǎn)符號(hào)可以合并到一個(gè) token 中,不會(huì)有明顯的性能損失。50256-consistent-oneword 也證實(shí)了這一點(diǎn),這個(gè)組合與 50256-strict-oneword-nocapcode 的性能相當(dāng),而且優(yōu)于 p50k_base。50256-consistent-oneword 將簡(jiǎn)單的標(biāo)點(diǎn)符號(hào)與單詞 token 合并在一起(而其他兩個(gè)組合則不是這樣)。

在此之后,啟用 capcode 的 strict 模式會(huì)帶來(lái)顯著的不利影響。50256-strict-oneword-nocapcode 在 SMLQA 上得分 21.2,在 SQuAD 上得分 23.8,而 50256-strict-oneword 的得分分別為 16.8 和 20.0。原因很明顯:strict 優(yōu)化模式阻止 capcode 與單詞 token 的合并,導(dǎo)致需要更多的 token 來(lái)表示相同的文本,直接結(jié)果就是字詞比降低了 8%。事實(shí)上,比起 strict,strict-nocapcode 更類似于 consistent。50256-consistent-oneword 和 50256-strict-oneword-nocapcode 在各個(gè)維度的指標(biāo)中都幾乎相等。

最終的結(jié)論是,在大多數(shù)情況下,模型在學(xué)習(xí)包含標(biāo)點(diǎn)符號(hào)和單詞的 token 的含義方面沒(méi)有任何困難。也就是說(shuō),與 balanced 模型相比,consistent 的語(yǔ)法準(zhǔn)確性更高(語(yǔ)法錯(cuò)誤更少)。綜合考慮,研究者建議大家使用 consistent 模式。strict 只能在禁用 capcode 的情況下使用。

對(duì)語(yǔ)法準(zhǔn)確性的影響

如上所述,與 balanced 模式相比,consistent 模式的語(yǔ)法準(zhǔn)確性更高(語(yǔ)法錯(cuò)誤更少)。這反映在字詞比和語(yǔ)法之間存在非常輕微的負(fù)相關(guān),如下圖所示。除此之外,最值得注意的一點(diǎn)是,同樣與 TokenMonster 的 50256-strict-oneword-nocapcode (98.6% 和 98.4%)相比,GPT-2 分詞器和 tiktoken p50k_base 的語(yǔ)法結(jié)果都很糟糕(分別為 98.1% 和 97.5%)。研究者最初認(rèn)為這只是巧合,但多次采樣都會(huì)得到相同范圍的結(jié)果。至于原因是什么尚不清楚。

圖片

對(duì) MTLD 的影響

MTLD 用于表示生成樣本文本的語(yǔ)言多樣性。它似乎與 n_embed 參數(shù)高度相關(guān),而與詞匯量大小、優(yōu)化模式或每個(gè) token 的最大字?jǐn)?shù)等特征無(wú)關(guān)。這一點(diǎn)在 6000-balanced 模型(n_embd 為 864)和 8000-consistent 模型(n_embd 為 900)中表現(xiàn)得尤為明顯。

在中型模型中, p50k_base 的 MTLD 最高,為 43.85,但語(yǔ)法得分也最低。造成這種情況的原因尚不清楚,但研究者猜測(cè)可能是訓(xùn)練數(shù)據(jù)的選擇有些奇特。

對(duì) SQuAD 的討論

SQuAD 基準(zhǔn)測(cè)試的是模型從一段文字中提取數(shù)據(jù)的能力,具體做法是提供一段文字,然后提出一個(gè)問(wèn)題,答案需包含在該段文字中。測(cè)試結(jié)果沒(méi)有太大意義,沒(méi)有明顯的模式或相關(guān)性,包括模型總的參數(shù)。事實(shí)上,擁有 9100 萬(wàn)參數(shù)的 8000-balanced 模型在 SQuAD 中的得分要高于擁有 35400 萬(wàn)參數(shù)的 50256-consistent-oneword。造成這種情況的原因也許這種風(fēng)格的例子不夠多,也許在指導(dǎo)微調(diào)數(shù)據(jù)集中有太多的 QA 對(duì)?;蛘?,這只是一個(gè)不太好的基準(zhǔn)。

對(duì) SMLQA 的討論

SMLQA 基準(zhǔn)通過(guò)提出具有客觀答案的常識(shí)性問(wèn)題來(lái)測(cè)試 "真值",例如 "哪個(gè)國(guó)家的首都是雅加達(dá)?" 和 "《哈利 - 波特》系列叢書是誰(shuí)寫的?"。

值得注意的是,參考用的分詞器 —— GPT-2 Tokenizer 和 p50k_base 在該基準(zhǔn)測(cè)試中表現(xiàn)相當(dāng)出色。研究者最初以為浪費(fèi)了幾個(gè)月的時(shí)間和幾千美元,卻證明了 tiktoken 比 TokenMonster 有更高質(zhì)量的性能。但事實(shí)證明,問(wèn)題與每個(gè) token 對(duì)應(yīng)的字?jǐn)?shù)有關(guān)。這一點(diǎn)在 "中等"(MEDIUM)模型中體現(xiàn)得最為明顯,如下面的圖表所示。

圖片

圖片單字詞表的性能略好于 TokenMonster 默認(rèn)的每個(gè) token 對(duì)應(yīng)多個(gè)字的詞表。

另一個(gè)重要的觀察結(jié)果是,當(dāng)詞匯量低于 32,000 個(gè)時(shí),即使調(diào)整模型的 n_embd 參數(shù)以彌補(bǔ)模型規(guī)模的縮小,詞匯量也會(huì)直接影響真值。這是有悖直覺的,因?yàn)檠芯空弑疽詾?n_embd 為 864 的 16000-balanced(參數(shù)為 1.2134 億)和 n_embd 為 900 的 8000-consistent(參數(shù)為 1.2386 億)會(huì)比 n_embd 為 768 的 50256-consistent(參數(shù)為 1.2359 億)做得更好,但事實(shí)并非如此 — 兩者的表現(xiàn)都差得多(13.7 和 15.1 對(duì)比 50256-consistent 的 16.4)。不過(guò),這兩個(gè) “調(diào)整后” 的模型都接受了相同的時(shí)間來(lái)訓(xùn)練,這恰好導(dǎo)致預(yù)訓(xùn)練的次數(shù)顯著減少(盡管時(shí)間相同)。

具有 12 層注意力頭、12 層 transformer 層的小模型

研究者在默認(rèn)的 NanoGPT 架構(gòu)上訓(xùn)練了 12 個(gè)模型,該架構(gòu)基于 12 個(gè)注意力頭和 12 層的 GPT-2 架構(gòu),嵌入?yún)?shù)大小為 768。這些模型都沒(méi)有訓(xùn)練到收斂,通俗地說(shuō),就是沒(méi)有訓(xùn)練到最大的學(xué)習(xí)能力。模型的訓(xùn)練經(jīng)歷了 400,000 次迭代,而要想具有最大學(xué)習(xí)能力似乎需要 600,000 次迭代。造成這種情況的原因很簡(jiǎn)單,一是預(yù)算問(wèn)題,二是收斂點(diǎn)的不確定性。

小模型的結(jié)果:

圖片

小模型的皮爾遜相關(guān)性:

圖片

小模型的結(jié)論:

1. 32,000 是最佳詞匯量。從詞匯量 8,000 到 32,000 的階段中:增加詞匯量可以提高模型的真值準(zhǔn)確度。將詞匯量從 32,000 增加到 50,257 時(shí),模型的總參數(shù)也相應(yīng)增加,但對(duì)真值準(zhǔn)確度的提高只有 1%。超過(guò) 32,000 后,收益迅速減少。

2. 糟糕的分詞器設(shè)計(jì)會(huì)影響模型的正確性,但不會(huì)影響語(yǔ)法正確性或語(yǔ)言多樣性。在 90M - 125M 的參數(shù)范圍內(nèi),語(yǔ)法規(guī)則更復(fù)雜的分詞器(如 token 對(duì)應(yīng)對(duì)應(yīng)多詞、詞和標(biāo)點(diǎn)符號(hào)的組合 token、capcode 編碼 token 和減少總詞匯量)在真值基準(zhǔn)上的表現(xiàn)比簡(jiǎn)單的分詞器要差。不過(guò),分詞器設(shè)計(jì)的這種復(fù)雜性并沒(méi)有對(duì)生成文本的語(yǔ)言多樣性或語(yǔ)法正確性產(chǎn)生顯著的統(tǒng)計(jì)學(xué)影響。即使是一個(gè)緊湊的模型,如參數(shù)為 9000 萬(wàn)的模型,也能有效地利用更復(fù)雜的 token。更復(fù)雜的詞匯需要更長(zhǎng)的學(xué)習(xí)時(shí)間,從而減少了獲取與基本事實(shí)相關(guān)信息的時(shí)間。由于這些模型都沒(méi)有經(jīng)過(guò)完整的訓(xùn)練,因此進(jìn)一步訓(xùn)練以縮小性能差距的潛力還有待觀察。

3. 驗(yàn)證損失不是比較使用不同分詞器的模型的有效指標(biāo)。驗(yàn)證損失與給定分詞器的字詞比(每個(gè) token 對(duì)應(yīng)的平均字符數(shù))具有非常強(qiáng)的相關(guān)性(0.97 皮爾遜相關(guān)性)。要想比較分詞器之間的損失值,測(cè)量相對(duì)于字符而非 token 的損失可能更有效,因?yàn)閾p失值與每個(gè) token 對(duì)應(yīng)的平均字符數(shù)成正比。

4. F1 分?jǐn)?shù)不是評(píng)估語(yǔ)言模型的合適指標(biāo),這些語(yǔ)言模型被訓(xùn)練成生成可變長(zhǎng)度的響應(yīng)(用文本結(jié)束 token 來(lái)表示完成)。這是由于文本序列越長(zhǎng),F(xiàn)1 公式的懲罰越嚴(yán)重。F1 評(píng)分傾向于產(chǎn)生較短響應(yīng)的模型。

5. 所有模型(從 90M 參數(shù)開始),再加上所有測(cè)試的分詞器(大小從 8000 到 50257 不等),都證明了對(duì)其進(jìn)行微調(diào)以產(chǎn)生語(yǔ)法連貫的答案的能力。雖然這些反應(yīng)往往是不正確的或幻覺的,但都較為連貫,并表現(xiàn)出對(duì)上下文背景的理解能力。

6. 當(dāng) embedding 大小增加時(shí),生成文本的詞匯多樣性和語(yǔ)法準(zhǔn)確性顯著增加,并且與字詞比呈微微的負(fù)相關(guān)。這意味著,具有較大字詞比的詞匯會(huì)使學(xué)習(xí)語(yǔ)法和詞匯多樣性稍微困難一些。

7. 在調(diào)整模型參數(shù)大小時(shí),字詞比與 SMLQA(Ground Truth)或 SQuAD(Information Extraction)基準(zhǔn)之間沒(méi)有統(tǒng)計(jì)學(xué)上顯著相關(guān)性。這意味著具有更高字詞比的分詞器不會(huì)對(duì)模型的性能產(chǎn)生負(fù)面影響。

8. 與 “balanced” 相比,“consistent” 類的詞表在 SMLQA(Ground Truth)基準(zhǔn)上的表現(xiàn)似乎稍好,但在 SQuAD(Information Extraction)基準(zhǔn)上則差得多。盡管還需要更多的數(shù)據(jù)來(lái)證實(shí)這一點(diǎn)。

圖片

具有 16 層注意力頭、24 層 transformer 層的中模型

在對(duì)小型模型進(jìn)行訓(xùn)練和基準(zhǔn)測(cè)試后,研究者明顯發(fā)現(xiàn),衡量的結(jié)果反映的是模型的學(xué)習(xí)速度,而不是模型的學(xué)習(xí)能力。此外,研究者沒(méi)有優(yōu)化 GPU 的計(jì)算潛力,因?yàn)槭褂玫氖悄J(rèn)的 NanoGPT 的參數(shù)。為了解決這個(gè)問(wèn)題,研究者選擇使用有著 50257 個(gè) token 的分詞器及中等語(yǔ)言模型,對(duì)四種變體進(jìn)行了研究。研究者將 batch 的大小從 12 調(diào)整到 36,并將 block 的大小從 1024 縮減到 256,確保充分利用了 24GB GPU 的 VRAM 功能。然后進(jìn)行了 600000 次迭代,而不是小模型中的 400000 次。每種模型的預(yù)訓(xùn)練平均需要 18 天多一點(diǎn)的時(shí)間,是小模型需要的 6 天的三倍。

對(duì)模型進(jìn)行收斂訓(xùn)練確實(shí)顯著降低了更簡(jiǎn)單詞匯表和更復(fù)雜詞匯表之間的性能差異。SMLQA(Ground Truth)和 SQuAD(Data Extration)的基準(zhǔn)結(jié)果非常接近。主要區(qū)別在于 50256-consistent 有著比 p50k_base 高 23.5% 的字詞比的優(yōu)勢(shì)。不過(guò),對(duì)于每個(gè) token 對(duì)應(yīng)多個(gè)單詞的詞表來(lái)說(shuō),真值的性能代價(jià)較小,不過(guò)這可以用我在頁(yè)首討論的方法來(lái)解決。

中模型的結(jié)果:

圖片

在 560000 次迭代之后,所有模型都開始收斂,如下圖所示:

圖片

后續(xù)展望

下一階段將使用 englishcode-32000-consistent 來(lái)訓(xùn)練和基準(zhǔn)測(cè)試 MEDIUM 的模型,該詞匯表具有 80% 的單詞 tokentoken 和 20% 的多詞 token。

猜你喜歡