歡迎關(guān)注『CVHub』官方微信公眾號!
Title: Efficient and Effective Text Encoding for Chinese Llama and Alpaca
PDF: https://arxiv.org/pdf/2304.08177v1.pdf
Code: https://github.com/ymcui/Chinese-LLaMA-Alpaca
導(dǎo)讀
大型語言模型LLM
,如ChatGPT和GPT-4,已經(jīng)徹底改變了自然語言處理研究。然而,LLMs
的昂貴訓(xùn)練和部署對于透明和開放的學(xué)術(shù)研究提出了挑戰(zhàn)。為了解決這些問題,該項(xiàng)目開源了中文LLaMA
和Alpaca
大語言模型,并強(qiáng)調(diào)指令微調(diào)。通過增加20K個(gè)中文token擴(kuò)展了原始LLaMA
的中文詞匯表,增加了編碼效率并提高了基本語義理解。通過將中文數(shù)據(jù)進(jìn)行輔助預(yù)訓(xùn)練并使用中文指令數(shù)據(jù)進(jìn)行微調(diào),可大大改善模型對指令的理解和執(zhí)行能力。
引言
隨著大型語言模型LLMs
的出現(xiàn),自然語言處理NLP
領(lǐng)域已然經(jīng)歷了一次革命性的范式轉(zhuǎn)變。這些模型以其龐大的規(guī)模和廣泛的訓(xùn)練數(shù)據(jù)為特征,已經(jīng)展示出了理解和生成類似于人類文本的強(qiáng)大能力。與用于文本理解的預(yù)訓(xùn)練語言模型BERT
不同,GPT
系列注重文本生成能力。作為GPT
家族中最新的LLMs
,ChatGPT
和GPT-4
引起廣泛關(guān)注,并成為這個(gè)快速發(fā)展領(lǐng)域最具代表性的強(qiáng)大模型。
ChatGPT
(OpenAI,2022)是基于GPT-3.5架構(gòu)構(gòu)建的高級對話人工智能模型,可以進(jìn)行上下文感知的類人交互。它的成功為GPT-4
(OpenAI,2023)的開發(fā)鋪平了道路,GPT-4
是一種更復(fù)雜的LLM
,已經(jīng)展示出更大的自然語言理解、生成和各種NLP任務(wù)的潛力。這兩個(gè)模型開辟了新的研究和應(yīng)用方向,引起了人們對探索人工通用智能AGI
能力的興趣。這些LLMs
不僅在多個(gè)基準(zhǔn)測試中表現(xiàn)出令人印象深刻的性能,而且還展示了少量數(shù)據(jù)學(xué)習(xí)和適應(yīng)新任務(wù)的能力。
盡管LLMs
異常強(qiáng)大,但這些模型也存在某些限制:
- 私有化,這限制了外界對這些模型源碼的訪問,并阻礙了更廣泛的研究社區(qū)基于它們的成功進(jìn)行研究的能力。
- 訓(xùn)練和部署這些大語言模型所需的巨大計(jì)算資源對于資源有限的研究人員來說也是一個(gè)挑戰(zhàn)
為了應(yīng)對這些限制,自然語言處理研究社區(qū)已經(jīng)轉(zhuǎn)向開源平替方案。其中最著名的是:LLaMA
和Alpaca
,其中Alpaca
模型在LLaMA
的基礎(chǔ)上進(jìn)一步用指令數(shù)據(jù)進(jìn)行了微調(diào)。這些開源LLMs
的設(shè)計(jì)旨在促進(jìn)學(xué)術(shù)研究并加快自然語言處理領(lǐng)域的進(jìn)展。通過開源這些模型,自然語言處理社區(qū)旨在創(chuàng)建一個(gè)鼓勵(lì)模型開發(fā)、微調(diào)和評估進(jìn)一步發(fā)展的環(huán)境,最終構(gòu)建一些強(qiáng)大的LLMs
,以應(yīng)用于各類應(yīng)用中。
現(xiàn)有的大語言模型存在私有化和資源受限的問題,因此學(xué)術(shù)界轉(zhuǎn)向了開源平替方案:LLaMA
和Alpaca
等,以促進(jìn)更大的透明度和協(xié)作。然而,這些開源模型在處理中文任務(wù)時(shí)仍然存在困難,因?yàn)樗鼈兊脑~匯表中只包含了幾百個(gè)中文單詞,導(dǎo)致編碼和解碼中文文本的效率受到很大影響。為此,該項(xiàng)目提出了一種改進(jìn)的中文LLaMA
和Alpaca
模型,通過添加20k個(gè)中文單詞來擴(kuò)展詞匯表,從而提高了這些模型處理和生成中文文本的能力。同時(shí)采用低秩適應(yīng)LoRA
方法來確保模型的高效訓(xùn)練和部署,從而為其他語言的模型適應(yīng)提供了參考。這項(xiàng)工作為將LLaMA
和Alpaca
模型推廣到其它語言提供了一個(gè)基礎(chǔ),也提供了一些方法擴(kuò)展這些模型的詞匯表和提高性能。
這份技術(shù)報(bào)告的貢獻(xiàn)如下:
- 通過向原始
LLaMA
的詞匯表中添加20k個(gè)中文詞匯,增強(qiáng)了中文編碼和解碼效率并改善了LLaMA
的中文理解能力。 - 采用Low-Rank Adaptation
LoRA
方法,實(shí)現(xiàn)了中文LLaMA
和Alpaca
模型的高效訓(xùn)練和部署,使研究人員能夠在不產(chǎn)生過多計(jì)算成本的情況下使用這些模型。 - 評估了中文
Alpaca
7B和13B模型在各種自然語言理解NLU
和自然語言生成NLG
任務(wù)中的表現(xiàn),在中文語言任務(wù)中相比原始LLaMA
模型取得了顯著的提高。 - 公開了相關(guān)研究的資源和結(jié)果,促進(jìn)了
NLP
社區(qū)內(nèi)進(jìn)一步的研究和協(xié)作,并鼓勵(lì)將LLaMA
和Alpaca
模型適應(yīng)到其他語言中。
Chinese LLAMA
LLaMA
是一個(gè)基于transformer
架構(gòu)的僅解碼器的基礎(chǔ)性大語言模型。與其它基于transformer
的大語言模型類似,LLaMA
包括一個(gè)嵌入層、多個(gè)transformer
塊和一個(gè)語言模型head層。它還包含了各種改進(jìn):如預(yù)歸一化、SwiGLU激活和Rotary Embeddings等等。LLaMA
的參數(shù)總數(shù)在7B到65B之間。實(shí)驗(yàn)數(shù)據(jù)表明:LLaMA
在保持更小模型尺寸的同時(shí),與其它大語言模型(如GPT-3
)相比具有相當(dāng)?shù)母偁幮浴?/p>
LLaMA
已經(jīng)在公開可用的語料庫中預(yù)訓(xùn)練了1T到1.4T個(gè)token,其中大多數(shù)數(shù)據(jù)為英語,因此LLaMA
理解和生成中文的能力受到限制。為了解決這個(gè)問題,該項(xiàng)目建議在中文語料庫上對LLaMA
模型進(jìn)行預(yù)訓(xùn)練,以增強(qiáng)其基本的中文理解和生成能力。
然而,在中文語料庫上對LLaMA
進(jìn)行預(yù)訓(xùn)練也存在相應(yīng)的挑戰(zhàn):
- 原始
LLaMA
tokenizer詞匯表中只有不到一千個(gè)中文字符,雖然LLaMA
tokenizer可以通過回退到字節(jié)來支持所有的中文字符,但這種回退策略會顯著增加序列長度,并降低處理中文文本的效率。 - 字節(jié)標(biāo)記不僅用于表示中文字符,還用于表示其它
UTF-8
標(biāo)記,這使得字節(jié)標(biāo)記難以學(xué)習(xí)中文字符的語義含義。
為了解決這些問題,研究人員提出了以下兩個(gè)解決方案來擴(kuò)展LLaMA
tokenizer中的中文詞匯:
- 在中文語料庫上使用
SentencePiece
訓(xùn)練一個(gè)中文tokenizer,使用20000個(gè)詞匯大小。然后將中文tokenizer與原始LLaMA
tokenizer合并,通過組合它們的詞匯表,最終獲得一個(gè)合并的tokenizer,稱為Chinese LLaMA tokenizer,詞匯表大小為49,953 - 為了適應(yīng)新的tokenizer,研究人員將詞嵌入和語言模型頭從V × H調(diào)整為V’× H的形狀,其中V = 32,000代表原始詞匯表的大小,而V’ = 49,953則是Chinese LLaMA tokenizer的詞匯表大小。新行附加到原始嵌入矩陣的末尾,確保原始詞匯表中的標(biāo)記的嵌入不受影響。
該技術(shù)報(bào)告指出,使用中文LLaMA
分詞器相對于原始LLaMA
分詞器生成的token數(shù)減少了一半左右。 對比了原始LLaMA
分詞器和中文LLaMA
分詞器,使用中文LLaMA
分詞器相對于原始的編碼長度有明顯的減少。這表明該項(xiàng)目提出的方法在提高LLaMA
模型的中文理解和生成能力方面是有效的。通過在標(biāo)準(zhǔn)的自然語言模型訓(xùn)練任務(wù)中,使用中文LLaMA
分詞器對中文LLaMA
模型進(jìn)行預(yù)訓(xùn)練,以自回歸的方式預(yù)測下一個(gè)標(biāo)記,從而進(jìn)一步提高了LLaMA
模型的中文理解和生成能力。
對于給定的輸入token序列 x = ( x 0 , x 1 , x 2 , . . . ) x =(x_0,x_1,x_2,...) x=(x0?,x1?,x2?,...),模型以自回歸的方式訓(xùn)練以預(yù)測下一個(gè)token,目標(biāo)是最小化以下負(fù)對數(shù)似然:
這里,符號Θ表示模型參數(shù), x i x_i xi?表示待預(yù)測的token,而 x 0 x_0 x0?, x 1 x_1 x1?, . . . , x i ? 1 x_{i-1} xi?1?則表示上下文。在這個(gè)任務(wù)中,模型會自動(dòng)地根據(jù)已經(jīng)看到的上下文信息來預(yù)測下一個(gè)token的概率分布,并通過最小化負(fù)對數(shù)似然函數(shù)來學(xué)習(xí)模型參數(shù)。
Chinese Alpaca
在獲得預(yù)訓(xùn)練的中文LLaMA
模型之后,我們采用Alpaca
中使用的方法來應(yīng)用指令微調(diào)的方式來繼續(xù)訓(xùn)練該模型。每個(gè)訓(xùn)練sample由一個(gè)指令和一個(gè)輸出組成,sample構(gòu)成模板如下展示:
實(shí)驗(yàn)設(shè)置
Pre-training階段
首先使用了類似于中文BERT-wwm
、MacBERT
、LERT
等預(yù)訓(xùn)練模型使用的大規(guī)模中文語料庫,總共約有20GB。預(yù)訓(xùn)練分為兩個(gè)階段:
- 固定模型中的
transformer
編碼器參數(shù),只訓(xùn)練詞嵌入embeddings
,適應(yīng)新添加的中文詞向量,同時(shí)最小化對原模型的干擾 - 添加
LoRA
權(quán)重adapters
到注意力機(jī)制中,訓(xùn)練詞嵌入、語言模型頭以及新添加的LoRA
參數(shù)
Instruction Fine-tuning階段
使用了self-instruction
方法從ChatGPT
(gpt-3.5-turbo API)中自動(dòng)獲取訓(xùn)練數(shù)據(jù),另外這段描述中提供了超參數(shù)(hyperparameters)的列表,并在Table 3中提供了微調(diào)數(shù)據(jù)的詳細(xì)信息。作者在GitHub上公開了模板和代碼細(xì)節(jié)。
下表2展示了訓(xùn)練7B與13B模型的相關(guān)超參數(shù)列表
實(shí)驗(yàn)評估方法
本項(xiàng)目采用GPT-4作為評分工具。然而,GPT-4并不總是提供準(zhǔn)確的分?jǐn)?shù),所以作者對其評分進(jìn)行人工檢查并在必要時(shí)進(jìn)行調(diào)整,手動(dòng)檢查確保分?jǐn)?shù)一致并反映所評估的模型的真實(shí)性能。作者使用以下評估模板輸入到GPT-4進(jìn)行評分:
采用了GPT-4
作為評分方法,并結(jié)合人工檢查可建立了一個(gè)可靠的評估框架,以有效地衡量中文Alpaca
模型在各種自然語言理解和生成任務(wù)上的表現(xiàn)。評估集包括 160 個(gè)樣本,涵蓋了10個(gè)不同的任務(wù),包括問答、推理、文學(xué)、娛樂、翻譯、多輪對話、編碼和倫理等等。每個(gè)任務(wù)的總分是該任務(wù)內(nèi)所有樣本的分?jǐn)?shù)之和,并將總分標(biāo)準(zhǔn)化為100分。
實(shí)驗(yàn)結(jié)果
上述結(jié)果表明,中文Alpaca-13B模型在各項(xiàng)任務(wù)中均表現(xiàn)優(yōu)于7B模型,凸顯了模型容量增加的好處。在回答問題任務(wù)中,中文Alpaca-13B模型得分77,而7B模型得分53。在開放式問答方面,13B模型得分73,7B模型得分64。在數(shù)值推理任務(wù)中,13B模型的得分為50,而7B模型的得分僅為23。
下方例子展示了7B與13B中文LLama模型在同一個(gè)prompt下的對比結(jié)果:
結(jié)論
本文開源了專門針對中文的LLaMA
和Alpaca
大語言模型,通過增加20K個(gè)中文token擴(kuò)展了原始LLaMA
的中文詞匯表,使用中文LLaMA
分詞器相對于原始LLaMA
分詞器生成的token數(shù)減少了一半左右,進(jìn)一步增加了中文編碼效率并提高了中文基礎(chǔ)語義理解能力。有中文LLaMA
大語言模型訓(xùn)練需求的同學(xué)可以借鑒一下。文章來源:http://www.zghlxwxcb.cn/news/detail-491070.html
如果您也對人工智能和計(jì)算機(jī)視覺全棧領(lǐng)域感興趣,強(qiáng)烈推薦您關(guān)注有料、有趣、有愛的公眾號『CVHub』,每日為大家?guī)砭吩瓌?chuàng)、多領(lǐng)域、有深度的前沿科技論文解讀及工業(yè)成熟解決方案!歡迎添加小編微信號: cv_huber,備注"CSDN",加入 CVHub 官方學(xué)術(shù)&技術(shù)交流群,一起探討更多有趣的話題!文章來源地址http://www.zghlxwxcb.cn/news/detail-491070.html
到了這里,關(guān)于中文LLaMa和Alpaca大語言模型開源方案 | 擴(kuò)充中文詞表 & 針對中文語料進(jìn)行高效編碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!