提 要:在本文中,我們通過擴展LLaMA現(xiàn)有的詞表,增加額外的20,000個朝鮮語Token,從而提高其對朝鮮語的編碼和語義理解的能力;并且進(jìn)一步使用朝鮮語數(shù)據(jù)進(jìn)行繼續(xù)預(yù)訓(xùn)練,使用朝鮮語指令微調(diào)數(shù)據(jù)集對模型進(jìn)行SFT(Supervised Fine-Tuning),并分析不同數(shù)據(jù)量對指令精調(diào)效果的影響,經(jīng)過繼續(xù)預(yù)訓(xùn)練和指令微調(diào)后的模型顯著提高了理解和遵循朝鮮語指令的能力。實驗結(jié)果表明,新提出的模型Ko-LLaMA顯著提高了原版LLaMA在理解和生成朝鮮語內(nèi)容方面的能力。此外,在朝鮮語文本分類數(shù)據(jù)集YNAT上對Ko-LLaMA與擅長少數(shù)民族語言的CINO模型及CINO的多種模型組合以及原版LLaMA和GPT-3.5進(jìn)行了效果對比。結(jié)果表明,Ko-LLaMA的朝鮮語文本分類能力遠(yuǎn)超CINO和CINO的組合模型以及LLaMA和GPT-3.5等未經(jīng)過朝鮮語語料進(jìn)行詞表擴充和繼續(xù)預(yù)訓(xùn)練的大語言模型。
關(guān)鍵詞:朝鮮語;大語言模型;詞表擴充;繼續(xù)預(yù)訓(xùn)練;指令微調(diào)
中圖分類號:H08 """"文獻(xiàn)標(biāo)識碼:A """"文章編號:1000-0100(2025)01-0001-8
DOI編碼:10.16263/j.cnki.23-1071/h.2025.01.001
Ko-LLaMA: A Korean Large Language Model Based on LLaMA
Pang Jie Yan Xiao-dong Zhao Xiao-bing
(Minzu University of China, Beijing 100081, China; National Language Resources Monitoring and
Research Center for Minority Languages, Beijing 100081, China; Key Laboratory of
Ethnic Language Intelligent Analysis and Security Governance of" MOE, Beijing 100081, China)
Large language models have gained immense popularity in the last couple of years, with models like ChatGPT and GPT-4 revolutionizing natural language processing research and taking exciting steps towards artificial general intelligence (AGI). Despite several large language models being open-sourced, such as LLaMA, these models primarily focus on English and Chinese corpora, with limited applicability to other languages. For minority languages such as Korean, the applicability of large language models is even more limited. In this paper, we enhance the applicability of" LLaMA to the Korean language by extending its exis-ting vocabulary with an additional 20,000 Korean tokens, improving its ability to encode and semantically understand Korean. We further continue pre-training the model with Korean data, fine-tune the model with a Korean instruction dataset (SFT: Supervised Fine-Tuning), and analyze the impact of varying amounts of data on the fine-tuning effect. The model after continued pre-training and instruction fine-tuning significantly improves the model’s ability to understand and execute Korean instructions. With the proposed approach, the capability of" LLaMA to understand and generate Korean text is greatly enhanced, and its ability to follow instructions is strengthened. Experimental results show that the newly proposed model, Ko-LLaMA, significantly outperforms the original LLaMA in terms of understanding and generating Korean content. Furthermore, in the comparison of effectiveness on the YNAT dataset for fresh language text classification, Ko-LLaMA was compared against the CINO model, which excels in minority languages, along with various combinations of CINO models, original LLaMA, and GPT-3.5. The results indicate that Ko-LLaMA’s ability in classifying Korean text far surpasses that of CINO and its combinations, as well as LLaMA and GPT-3.5, which have not undergone vocabulary expansion and continued pre-training on Korean language corpora.
Key words:Korean;Large language model;Vocabulary extension;Continued pretraining;Command fine-tuning
1 引言
隨著大型語言模型(LLMs)的出現(xiàn),自然語言處理領(lǐng)域經(jīng)歷了實質(zhì)性的范式轉(zhuǎn)變。這些模型以其龐大的規(guī)模和全面的訓(xùn)練數(shù)據(jù)而受到關(guān)注,它們在理解和生成類似人類的文本方面表現(xiàn)出了非凡的能力。與專注于文本理解的預(yù)訓(xùn)練語言模型(如BERT)不同,GPT系列(Brown et al." 2020)強調(diào)文本生成,使它們相比其他模型更適合發(fā)揮創(chuàng)造性。值得注意的是,GPT家族的最新成員,即ChatGPT和GPT-4,受到極大的關(guān)注,他們在這個迅速發(fā)展的領(lǐng)域中確立了自己的領(lǐng)先地位。然而,盡管LLMs具有很大影響力,但LLMs的實施具有很大的限制,這些限制阻礙了透明和開放的研究。最主要的問題是他們的專有性質(zhì),限制了對模型的訪問,從而阻礙了更廣泛的研究社區(qū)基于他們的成功進(jìn)行建設(shè)。此外,訓(xùn)練和部署這些模型所需大量計算資源,對資源有限的大多數(shù)研究者來說是個挑戰(zhàn),進(jìn)一步加劇了可研究性的問題。為了應(yīng)對這些限制,NLP研究傾向于使用開源替代品,以增加更大的透明度和協(xié)作。LLaMA(Touvron et al. 2023a)、LLaMA-2(Touvron et al, 2023b)和Alpaca(San-Martin et al. 1968)就是這些倡議的顯著例子。這些開源的LLMs旨在促進(jìn)學(xué)術(shù)研究,加快NLP領(lǐng)域的進(jìn)步。開源這些模型的目的是創(chuàng)造一個有利于模型開發(fā)、微調(diào)和評估的環(huán)境,最終創(chuàng)建適用于各種用途強大、有能力的LLMs,所以為了彌補少數(shù)民族語言朝鮮語在大語言模型上的空缺,我們研究一款可以用于少數(shù)民族語言朝鮮語的大語言模型,便于以后朝鮮語大語言模型的研究與發(fā)展。
目前,中英文領(lǐng)域的大語言模型研究已經(jīng)取得很好的發(fā)展,而對于少數(shù)民族語言如朝鮮語來說,大語言模型仍處于萌芽階段,沒有發(fā)揮出應(yīng)有的效果。中英文領(lǐng)域的大語言模型的詞匯表幾乎沒有朝鮮語Token,無法編碼和解碼朝鮮語文本。通過對原版LLaMA模型進(jìn)行詞表擴充、繼續(xù)預(yù)訓(xùn)練、指令微調(diào)等工作,極大的提高了LLaMA對朝鮮語的理解和生成的能力,充分挖掘了大語言模型在朝鮮語的能力。本文的主要貢獻(xiàn)在于,第一,通過收集大量的朝鮮語訓(xùn)練語料,使用SentencePiece工具采用BPE的分詞方式對語料進(jìn)行分詞,并與原版LLaMA詞表進(jìn)行合并,擴充了20,000個朝鮮語Token. 并且采用低秩適配(LoRA)方法,對詞表擴充后的模型進(jìn)行了繼續(xù)預(yù)訓(xùn)練,在使用較少計算資源的情況下顯著提高了模型在朝鮮語的理解和生成能力。第二,通過公開的YNAT朝鮮語文本分類數(shù)據(jù)集構(gòu)造了包括45,678條訓(xùn)練集、9104條驗證集,9104條測試集的朝鮮語文本分類的指令微調(diào)數(shù)據(jù)集,并對模型進(jìn)行指令微調(diào),分析了不同數(shù)據(jù)量對模型指令微調(diào)效果的影響,顯著提高了模型朝鮮語文本分類的能力。通過在YNAT朝鮮語文本分類數(shù)據(jù)集上的對比實驗,表明Ko-LLaMA的效果超過CINO及CINO相關(guān)組合模型。
2 相關(guān)工作
下文將現(xiàn)梳理大語言模型近幾年的研究進(jìn)展,再介紹詞表擴充、繼續(xù)預(yù)訓(xùn)練、指令微調(diào)一系列訓(xùn)練范式的發(fā)展?fàn)顩r。
OpenAI在2018年首次提出GPT(Generative Pretrained Transformer)(Radford "et al. 2018)。這種模型使用Transformer的解碼器架構(gòu),并使用一個單向的語言模型目標(biāo)進(jìn)行預(yù)訓(xùn)練。在預(yù)訓(xùn)練后,GPT可以通過在特定任務(wù)的數(shù)據(jù)上進(jìn)行微調(diào)來適應(yīng)各種NLP任務(wù),其工作原理與Bert類似,當(dāng)作預(yù)訓(xùn)練模型使用。在2019年,OpenAI發(fā)布GPT的第二版,即GPT-2(Radford et al. 2019)。與GPT相比,GPT-2有更多的參數(shù)(從1.1億增加到3.4億)。GPT-2在許多NLP基準(zhǔn)測試中取得領(lǐng)先的表現(xiàn)。2020年,OpenAI發(fā)布GPT-3(Mann et al. 2020),是當(dāng)時最大的語言模型,擁有1750億個參數(shù)。GPT-3在文本生成任務(wù)上的表現(xiàn)超越許多先前的模型。在GPT-3的基礎(chǔ)上,OpenAI進(jìn)一步進(jìn)行微調(diào),于2021年發(fā)布InstructGPT(Ouyang et al. 2022)。這個模型經(jīng)過大量的模型訓(xùn)練和數(shù)據(jù)清洗,旨在理解和執(zhí)行用戶的指令。InstructGPT的訓(xùn)練過程包括兩個階段。第一階段是預(yù)訓(xùn)練,這是在大量的互聯(lián)網(wǎng)文本上進(jìn)行的。第二階段是微調(diào),這是在一個更小、特定的、由人類審核員生成的數(shù)據(jù)集上進(jìn)行的。InstructGPT在許多實際應(yīng)用中都表現(xiàn)出色,如進(jìn)行技術(shù)支持、提供教育資源、幫助用戶學(xué)習(xí)新技能等。由于InstructGPT的成功,OpenAI受到啟發(fā)并于2022年11月底發(fā)布ChatGPT. InstructGPT和ChatGPT都是從GPT-3微調(diào)而來,但他們的區(qū)別是,InstructGPT是為了理解和執(zhí)行用戶的指令,而ChatGPT則是為了進(jìn)行自由形式的對話?;谏鲜鰠^(qū)別,我們確定朝鮮語大語言模型要先經(jīng)過InstructGPT的訓(xùn)練階段,但是由于GPT沒有開源,而上述工作要在開源的模型上展開,所以LLaMA(Touvron et al. 2023a)作為Meta開源的模型則是一個比較好的選擇,而且LLaMA在各項NLP任務(wù)上取得顯著的成果。
LLaMA作為一款開源的大語言模型在相關(guān)研究上做出突出的貢獻(xiàn),由于LLaMA只在英文的效果上表現(xiàn)卓越,在其他語種上展現(xiàn)出來的能力并沒有很突出,所以LLaMA在其他語言上的加固和拓展也基本采用詞表擴充+繼續(xù)預(yù)訓(xùn)練+指令微調(diào)的訓(xùn)練范式。Chinese-LLaMA(Cui et al.2024)是在LLaMA的基礎(chǔ)上增強了中文能力,這也提供了一種思路。雖然加固其中文能力比開發(fā)出LLaMA的朝鮮語理解和生成的能力要簡單一些,但是驗證了這一思路的可行性。
3 Ko-LLaMA訓(xùn)練流程
3.1 原版LLaMA-7B詞表擴充
LLaMA-7B的訓(xùn)練集大約包含1.4T的Token,其中大部分是英文,小部分是拉丁語和其他歐洲語言(Xia et al. 2023)。因此,LLaMA幾種語言上的能力表明它具有多語種和跨語種理解能力。初步研究表明,LLaMA幾乎沒有朝鮮語理解和生成的能力,在朝鮮語的各類NLP任務(wù)表現(xiàn)上都有待提高。為了賦予LLaMA更強的朝鮮語理解和生成能力,我們使用朝鮮語語料庫對LLaMA模型進(jìn)行繼續(xù)預(yù)訓(xùn)練。然而,直接使用朝鮮語語料庫進(jìn)行繼續(xù)預(yù)訓(xùn)練面臨一些挑戰(zhàn)。首先,原始的LLaMA詞匯表包含的朝鮮語Token非常少,這不足以編碼一般的朝鮮語文本。雖然LLaMA Tokenizer可以通過回退到字節(jié)碼來支持所有的朝鮮語字符,但這種回退策略會顯著增加序列長度,因為每個朝鮮語字符都被拆分為3-4個字節(jié)Token,降低了朝鮮語文本的編碼和解碼效率。其次,字節(jié)Tokens不僅用于表示朝鮮語字符,還用于表示其它UTF-8 Tokens,所以使用字節(jié)Tokens的方法很難讓LLaMA有效地學(xué)習(xí)捕獲朝鮮語Token語義的表示。為了解決這些問題并提高編碼效率,我們使用額外的朝鮮語Token擴展LLaMA詞表,并調(diào)整模型以適應(yīng)擴展后的詞表(Gao et al. 2023)。擴展過程如下:
第一,為了增強分詞器對朝鮮語文本的支持,首先使用SentencePiece(Kudo and Richardson 2018),采用BPE的方式在朝鮮語語料庫上訓(xùn)練一個朝鮮語分詞器,詞匯量為20,000。第二,通過合并他們的詞匯表,將朝鮮語分詞器合并到原版LLaMA分詞器中。這樣就可以得到一個合并過的分詞器,即包含了朝鮮語的LLaMA分詞器,它的詞匯量為49,924。第三,為了使LLaMA模型適應(yīng)朝鮮語LLaMA分詞器,我們將詞嵌入層和語言模型頭從V×H形狀調(diào)整為V’×H,其中V=32000表示原始詞匯表的大小,H表示詞嵌入的維度,V’= 49924是朝鮮語LLaMA分詞器的新詞匯表大小。新添加的行被添加到原始嵌入矩陣的末尾,確保原始詞匯表中標(biāo)記的嵌入不受影響。
3.2 使用LoRA對LLaMA進(jìn)行繼續(xù)預(yù)訓(xùn)練
常規(guī)的大語言模型訓(xùn)練范式,即更新LLMs的全量參數(shù)是非常昂貴的,并且在時間和成本上對大多數(shù)實驗室或公司來說是不可行的。低秩適配(LoRA)(Hu et al. 2021)是一種參數(shù)高效的訓(xùn)練方法,它保持預(yù)訓(xùn)練模型的權(quán)重不變,同時引入可訓(xùn)練的秩分解矩陣。LoRA凍結(jié)預(yù)訓(xùn)練模型的權(quán)重,并在每一層注入可訓(xùn)練的低秩矩陣。這種方法顯著減少總的可訓(xùn)練參數(shù),使得用更少的計算資源訓(xùn)練LLMs成為可能。具體來說,對于一個線性層,其權(quán)重矩陣W0∈Rdk,其中k是輸入維度,d是輸出維度,LoRA添加了兩個低秩分解的可訓(xùn)練矩陣B∈Rdr和A∈RrK,其中r是預(yù)先設(shè)定的秩。帶有輸入x的前向傳遞公式如下:
h=W0x+△Wx=W0x+BAx, B∈Rdr, A∈Rrk(1)
在訓(xùn)練過程中,W0是凍結(jié)的,不接收梯度更新,而B和A是可以更新的。通過選擇秩rmin(d, k),我們減少了內(nèi)存消耗,因為我們不需要為大的凍結(jié)矩陣存儲優(yōu)化器狀態(tài)。我們主要將LoRA適配器集成到注意力模塊和MLP層的權(quán)重中,因為在QLoRA(Dettmers et al. 2023)中驗證了將LoRA應(yīng)用到所有線性Transformer塊的有效性,表明這種選擇是合理的。
我們使用標(biāo)準(zhǔn)的因果語言模型(CLM)任務(wù)對LLaMA進(jìn)行朝鮮語的繼續(xù)預(yù)訓(xùn)練,給定輸入序列x=x0,x1,x2,...,模型采用自回歸的方式預(yù)測下一個Token ,目標(biāo)就是最小化負(fù)對數(shù)似然:
LCLMΘ=-∑ilogpxi|x0,x1,,,,,xi-1;Θ(2)
經(jīng)過繼續(xù)預(yù)訓(xùn)練以后模型能夠完成對已輸入文本進(jìn)行續(xù)寫,即提高了模型對朝鮮語文本的理解和生成能力,接下來只需要對繼續(xù)預(yù)訓(xùn)練以后的模型做任務(wù)上的指令微調(diào)就能讓模型完成具體的下游任務(wù)。
3.3 朝鮮語指令微調(diào)
由于模型學(xué)習(xí)的知識是非常廣泛的,所以我們對模型的輸入輸出難以控制,并且經(jīng)常會生成一些無關(guān)的內(nèi)容,這是因為公式(2)中的語言建模目標(biāo)
是預(yù)測下一個詞而不是follow instructions with hu-man feedback(Ouyang et al. 2022)。為了使語言模型的行為與用戶的意圖相符,可以對模型進(jìn)行微調(diào),明確地訓(xùn)練它遵循指示。斯坦福Alpaca(Taori et al. 2023)是一個基于LLaMA的指令模型,它是在由Self-Instruct(Wang et" al. 2023)中的技術(shù)生成的52K條指令數(shù)據(jù)上進(jìn)行訓(xùn)練的。我們遵循斯坦福Alpaca的方法,對朝鮮語LLaMA進(jìn)行有監(jiān)督的微調(diào)訓(xùn)練,以訓(xùn)練出一個指令遵循模型。
由于數(shù)據(jù)有限,沒有對繼續(xù)預(yù)訓(xùn)練以后的LLaMA做大規(guī)模的指令微調(diào),所以只挑選了一個NLP常見的任務(wù):文本分類,挑選數(shù)據(jù)進(jìn)行指令微調(diào),并且與CINO(Ouyang et al. 2022)和CINO的一些組合模型以及原版LLamA和GPT-3.5等大語言模型做效果比對。
在進(jìn)行指令微調(diào)數(shù)據(jù)之前,需要明確兩個事情,一個是Prompt模版如何確定,另外一個是指令微調(diào)的數(shù)據(jù)從何而來。由于Chinese-LLaMA-Alpaca(Cui" et al. 2023)已經(jīng)成功進(jìn)行了指令微調(diào),所以這里的Prompt模版還是采用斯坦福Alpaca模版,不過因為我們要做朝鮮語的指令微調(diào),所以要將其格式轉(zhuǎn)換成朝鮮語版本。具體Prompt形式如圖2所示:
通過使用上述Prompt模版進(jìn)行構(gòu)造數(shù)據(jù),并且使用公開數(shù)據(jù)集YNAT經(jīng)過數(shù)據(jù)擴充來構(gòu)造指令微調(diào)的數(shù)據(jù),YNAT公開的朝鮮語文本分類數(shù)據(jù)集,其中訓(xùn)練集45,678條,驗證集9,104條,測試集9,104條,并且將最終結(jié)果與CINO模型及CINO相關(guān)組合模型進(jìn)行結(jié)果比較;同時為了驗證與相關(guān)大模型在朝鮮語理解能力的差距,設(shè)置Ko-LLaMA與原版LLaMA和GPT-3.5在朝鮮語文本分類數(shù)據(jù)集上的對比實驗。具體結(jié)果分析放在實驗與分析環(huán)節(jié)。
4 實驗與分析
4.1 繼續(xù)預(yù)訓(xùn)練實驗
4.1.1 實驗數(shù)據(jù)集
繼續(xù)預(yù)訓(xùn)練的數(shù)據(jù)集主要是從新華網(wǎng)、人民網(wǎng)朝鮮語版等多家新聞媒體網(wǎng)站上爬取58,642篇新聞文本作為訓(xùn)練集原始語料以及230篇新聞文本作為測試集原始語料。將部分語料爬取以后經(jīng)過去除亂碼、特殊符號、圖片等信息過濾得到比較純凈的新聞文本,共計680MB.
4.1.2 模型評估標(biāo)準(zhǔn)
PPL(困惑度)是一種衡量語言模型質(zhì)量的評價指標(biāo)。它衡量模型預(yù)測下一個單詞的難度。PPL 越低,模型越好。具體來說,PPL 是給定數(shù)據(jù)集上模型預(yù)測的單詞序列的對數(shù)似然函數(shù)的負(fù)值。對于一個包含 N 個單詞的數(shù)據(jù)集,PPL 計算如下:
PPL=exp-1N∑Ni=1logPwi|w1,...,wi-1(3)
因為LLaMA在經(jīng)過詞表擴充和繼續(xù)預(yù)訓(xùn)練以后,已經(jīng)可以完成基本的文本續(xù)寫,并且其訓(xùn)練語料大多是新聞文本,在朝鮮語新聞文本續(xù)寫效果最為明顯,所以對繼續(xù)預(yù)訓(xùn)練以后的模型在230篇新聞文本上采用困惑度作為評估指標(biāo)進(jìn)行評估,這里需要注意一點,針對同一個測試集,采用不同tokenizer的模型會導(dǎo)致公式(3)中N的大小不同,即序列長度不同,所以tokenizer不同的模型進(jìn)行PPL值的對比是沒有意義的,因此本文采用詞表擴充未經(jīng)過繼續(xù)預(yù)訓(xùn)練的模型和詞表擴充并經(jīng)過繼續(xù)預(yù)訓(xùn)練的模型在230篇新聞文本續(xù)寫任務(wù)的PPL值進(jìn)行對比,這樣保證tokenizer的一致性,也就是N相同,進(jìn)而可以描述出模型經(jīng)過繼續(xù)預(yù)訓(xùn)練以后對朝鮮語的理解和生成能力的提升。
4.1.3 實驗設(shè)置
在繼續(xù)預(yù)訓(xùn)練部分,由于數(shù)據(jù)集中沒有其他大模型訓(xùn)練時用的那么多語料,并且原版LLaMA模型基本沒有朝鮮語的編碼和解碼能力,所以我們設(shè)置的學(xué)習(xí)率等參數(shù)相對大一些便于模型快速學(xué)習(xí)朝鮮語語料的知識,下面表1為繼續(xù)預(yù)訓(xùn)練的詳細(xì)參數(shù)設(shè)置。
在繼續(xù)預(yù)訓(xùn)練階段我們對模型進(jìn)行了全面的預(yù)訓(xùn)練,包括Embedding層,這樣不僅可以使模型適應(yīng)新添加的朝鮮語Token,同時可以最小化對原始模型的干擾,并且我們向模型添加了LoRA權(quán)重(adapter),使用PEFT庫去做帶有LoRA的參數(shù)高效訓(xùn)練,同時使用DeepSpeed(Aminabadi et al. 2022)來優(yōu)化訓(xùn)練過程中的內(nèi)存效率,采用AdamW優(yōu)化器(Loshchilov and" Hutter. 2019),峰值學(xué)習(xí)率為2e-4,warm-up cosine scheduler為5%。此外,我們還使用值為1.0的梯度裁剪,以緩解潛在的梯度爆炸。最終在兩張A100 GPU(80GB VRAM)進(jìn)行一次5小時的迭代訓(xùn)練。
4.1.4 實驗結(jié)果分析
本節(jié)使用LLaMA-7B模型經(jīng)過朝鮮語詞表擴充以后做繼續(xù)預(yù)訓(xùn)練,分別在爬取的訓(xùn)練數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,其中58, 642篇新聞文本按照9:1的比例劃分訓(xùn)練集和驗證集,測試集230篇新聞文本,驗證集Loss下降圖如圖3所示。繼續(xù)預(yù)訓(xùn)練階段的Loss是前期急劇下降,然后變得平緩并趨于穩(wěn)定,對此做出的分析是,在預(yù)訓(xùn)練階段模型并不具備朝鮮語的編解碼能力,模型參數(shù)還沒有得到很好的調(diào)整,誤差相對較大,因此每次參數(shù)更新都在較大程度上減小誤差,所以損失下降得快;隨著訓(xùn)練的進(jìn)行,模型參數(shù)逐漸接近最優(yōu)解,每次參數(shù)更新帶來誤差減小,因此Loss下降速度變慢。
圖3 繼續(xù)預(yù)訓(xùn)練Loss下降圖
由于需要考慮PPL可比性的問題,所以在PPL對比實驗中需要保證對比模型的詞表一致,為了說明繼續(xù)預(yù)訓(xùn)練對Ko-LLaMA的朝鮮語理解和生成能力的提升,我們將擴充詞表但未經(jīng)過繼續(xù)預(yù)訓(xùn)練的模型和擴充詞表并經(jīng)過繼續(xù)預(yù)訓(xùn)練的模型在230篇新聞文本上的續(xù)寫任務(wù)計算得到的PPL值進(jìn)行對比。在文本續(xù)寫中,擴充詞表但是沒有經(jīng)過繼續(xù)預(yù)訓(xùn)練的模型的PPL值為41.287,擴充詞表并經(jīng)過訓(xùn)練以后的模型的PPL值為11.683,具體結(jié)果如下表2所示。這表明繼續(xù)預(yù)訓(xùn)練以后的模型能夠有效地學(xué)習(xí)新聞文本中的語言模式并預(yù)測單詞序列。下圖4為擴充詞表并經(jīng)過繼續(xù)預(yù)訓(xùn)練模型的續(xù)寫效果展示。
最終得出結(jié)論:經(jīng)過預(yù)訓(xùn)練后的模型在文本建模任務(wù)上的良好性能表明,它可以用于各種自然語言處理應(yīng)用,例如文本摘要、機器翻譯和問答以及分類。進(jìn)一步的研究可以探索該模型在各種數(shù)據(jù)集和任務(wù)上的性能,并對其進(jìn)行微調(diào)以提高特定任務(wù)的性能。
4.2 指令微調(diào)實驗
4.2.1 實驗數(shù)據(jù)集
指令微調(diào)的訓(xùn)練數(shù)據(jù)是直接通過公開的YNAT數(shù)據(jù),按照斯坦福的Alpaca格式的Prompt模版進(jìn)行拼接得到,其中訓(xùn)練集45,678條,驗證集9,104條,測試集9,104條,包含朝鮮語文本及其所處的類別共7個主題科技、經(jīng)濟、文化、美容/健康、社會、生活、世界。數(shù)據(jù)樣例見圖5。
4.2.2 模型評估標(biāo)準(zhǔn)
本節(jié)在Ko-LLaMA與CINO及相關(guān)模型進(jìn)行分類效果評定的時候,標(biāo)準(zhǔn)采用準(zhǔn)確率(A)、精確率(P)、召回率(R)以及F1值作為實驗的評價標(biāo)準(zhǔn)。計算公式為:
A=TTP+TTNTTP+TTN+TFP+TFN(4)
P=TTPTTP+TFP(5)
R=TTPTTP+TFN(6)
F1=2PRP+R(7)
式中:TTP為樣本屬于類Ci,并被分類器正確分類到類Ci的樣本數(shù);TFP為樣本不屬于類Ci,但被分類器分到類Ci的樣本數(shù);TFN為樣本屬于類Ci,但被分類器分到其他類的樣本數(shù)。本文所研究的朝鮮語文本分類屬于多分類任務(wù),因此采用宏平均來衡量整體的分類效果,即單獨計算每個類別的P和R,再進(jìn)行算術(shù)平均得到測試集總體的P和R,最后通過(7)式得到F1。
4.2.3 實驗設(shè)置
指令微調(diào)部分參數(shù)設(shè)置與繼續(xù)預(yù)訓(xùn)練部分參數(shù)設(shè)置是不同的,因為在指令微調(diào)的時候,模型已經(jīng)學(xué)習(xí)過朝鮮語知識,并且我們主要的任務(wù)是對齊問答格式,所以我們可以設(shè)置的相對小一些。下面的表3是指令微調(diào)時設(shè)置的參數(shù)詳情。
本節(jié)實驗分為兩個階段:
階段1,驗證不同數(shù)據(jù)量對經(jīng)過預(yù)訓(xùn)練以后模型能力的影響,分別隨機抽取訓(xùn)練集數(shù)據(jù)的1%、5%、20%、50%、80%、100%的數(shù)據(jù)對繼續(xù)預(yù)訓(xùn)練以后的模型進(jìn)行指令微調(diào)并驗證效果。
階段2,分別采用CINO及CINO+TextCNN、CINO+BiLSTM、CINO+TextCNN+BiLSTM(模型串聯(lián),下面稱為Model series)、CINO+TextCNN/BiLSTM(TextCNN和BiLSTM并聯(lián)在CINO后面,下面稱為Model parallel)以及Ko-LLaMA在YNAT數(shù)據(jù)集上進(jìn)行評測實驗。
4.2.4 實驗結(jié)果分析
指令微調(diào)階段的驗證集Loss如下圖6所示。和預(yù)訓(xùn)練階段Loss下降非常相似,都是前期急劇下降,然后變得平緩并趨于穩(wěn)定。對此做出的分析:
雖然模型已經(jīng)在大量數(shù)據(jù)上預(yù)訓(xùn)練過,但是當(dāng)模型開始在特定任務(wù)的數(shù)據(jù)上進(jìn)行微調(diào)時,它仍然需要進(jìn)行一些參數(shù)的調(diào)整以適應(yīng)這個新任務(wù)。在微調(diào)的初始階段,模型由于對新任務(wù)的數(shù)據(jù)分布不熟悉,因此可能會有較大的誤差,這就導(dǎo)致了在微調(diào)初期下降得較快。而隨著微調(diào)的進(jìn)行,模型對新任務(wù)的數(shù)據(jù)分布逐漸熟悉,每次更新帶來的誤差減小,因此Loss下降的速度會變慢。
第一階段的實驗:驗證不同數(shù)據(jù)量對預(yù)訓(xùn)練以后模型能力的影響,所以我們分別隨機抽取了訓(xùn)練數(shù)據(jù)的1%、5%、20%、50%、80%、100%進(jìn)行微調(diào),其F1-score的變化如下圖7所示。
從圖7中可以看出不同數(shù)據(jù)量對應(yīng)的F1-score值的變化情況符合Loss下降的規(guī)律,當(dāng)僅用1%的數(shù)據(jù)時,模型并沒有很好的被充分訓(xùn)練,所以F1-score低,Loss高;當(dāng)繼續(xù)增加訓(xùn)練數(shù)據(jù)時,Loss急劇下降,F(xiàn)1-score迅速升高;再繼續(xù)增加數(shù)據(jù)至50%時,F(xiàn)1-score就已經(jīng)趨于平穩(wěn),再繼續(xù)增加數(shù)據(jù)的收益將會很低。
第二階段實驗:使用全部指令微調(diào)數(shù)據(jù)在經(jīng)過繼續(xù)預(yù)訓(xùn)練以后的模型上做文本分類任務(wù)的指令微調(diào),Ko-LLaMA在朝鮮語文本分類上的能力得到巨大的提升。具體實驗結(jié)果由表4給出,根據(jù)實驗結(jié)果得出以下結(jié)論:經(jīng)過繼續(xù)預(yù)訓(xùn)練和指令微調(diào)的Ko-LLaMA的效果要顯著優(yōu)于CINO的多種組合模型的效果,因為Ko-LLaMA模型參數(shù)更多并且已經(jīng)在大規(guī)模的語料庫上進(jìn)行了預(yù)訓(xùn)練,當(dāng)其經(jīng)過詞表擴充以及繼續(xù)預(yù)訓(xùn)練,模型可以很快的學(xué)習(xí)到朝鮮語的相關(guān)知識并進(jìn)行理解;同時Ko-LLaMA的效果也優(yōu)于未經(jīng)過詞表擴充和繼續(xù)預(yù)訓(xùn)練的大語言模型(原版LLaMA和GPT-3.5)的效果,對此的分析為原版LLaMA和GPT-3.5詞表中缺少朝鮮語Token導(dǎo)致對朝鮮語的編碼能力很弱,并且未經(jīng)過朝鮮語語料的預(yù)訓(xùn)練更將導(dǎo)致對朝鮮語的理解能力不理想。最后在指令微調(diào)的數(shù)據(jù)集上,通過特定的格式的Prompt引導(dǎo)模型如何完成一個分類任務(wù),這樣模型可以更好的學(xué)習(xí)到如何去完成一個分類任務(wù)。最終Ko-LLaMA在YNAT朝鮮語文本分類數(shù)據(jù)集上的效果為:準(zhǔn)確率(A)92.57%、精確率(P)92.83%、召回率(R)93.19%、F1-score 93.01%。
5 結(jié)束語
本文提出一種基于LLaMA并且能夠理解少數(shù)民族語言朝鮮語的大語言模型Ko-LLaMA.因為原版LLaMA無法理解和生成朝鮮語,所以我們增加額外的2萬個朝鮮語Token,并且與原版LLaMA進(jìn)行詞表合并,最終詞表大小為49,924;然后通過爬取的58,642篇朝鮮語文檔進(jìn)行繼續(xù)預(yù)訓(xùn)練,在訓(xùn)練過程中使用PEFT庫去做帶有LoRA的參數(shù)高效訓(xùn)練,同時使用DeepSpeed來優(yōu)化訓(xùn)練過程中的內(nèi)存效率,通過繼續(xù)預(yù)訓(xùn)練,使Ko-LLaMA能夠理解和生成朝鮮語,由于數(shù)據(jù)量的限制,朝鮮語的的理解和生成能力并不是特別強,只能進(jìn)行一些基本的續(xù)寫;然后我們通過公開數(shù)據(jù)集YNAT,按照斯坦福Alpaca的Prompt格式進(jìn)行構(gòu)造數(shù)據(jù),并且對繼續(xù)預(yù)訓(xùn)練以后的模型進(jìn)行指令微調(diào)訓(xùn)練,通過隨機抽取不同比例的指令微調(diào)數(shù)據(jù)進(jìn)行指令微調(diào)訓(xùn)練,分析不同數(shù)據(jù)量對指令微調(diào)效果的影響,經(jīng)過全部數(shù)據(jù)指令微調(diào)訓(xùn)練以后的Ko-LLaMA在朝鮮語文本分類任務(wù)上的能力已經(jīng)得到顯著提高。我們通過與CINO、CINO+TextCNN、CINO+BiLSTM、CINO+TextCNN+BiLSTM、CINO+TextCNN/BiLSTM以及原版LLaMA和GPT-3.5等以及原版LLaMA和GPT-3.5等一系列模型進(jìn)行比較,Ko-LLaMA的朝鮮語文本分類效果比CINO等一系列模型顯著提高。
*閆曉東為本文的通訊作者。
參考文獻(xiàn)
Aminabadi, R.Y., Rajbhandari, S., et al. Deep Speed Infe-rence: Enabling Efficient Inference of Transformer Mo-dels at Unprecedented Scale[OL]. arXiv Preprint ar-Xiv: 2207.00032, 2022.
Brown, T.B., Mann, B., et al. Language Models Are Few-shot Learners[OL]. arXiv Preprint arXiv: 2005.14165, 2020.
Cui, Y., Yang, Z., et al. Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca[OL]. arXiv Preprint arXiv: 2304.08177, 2024.
Dettmers, T., Pagnoni, A., et al. QLoRA: Efficient Finetu-ning of Quantized LLMs[OL]. arXiv Preprint arXiv: 2305.14314, 2023.
Gao, P., Han, J., et al. Llama-Adapter V2: Parameter-efficient Visual Instruction Model[OL]. arXiv Preprint arXiv: 2304.15010, 2023.
Hu, E.J., Shen, Y., et al.LoRA: Low-rank Adaptation of Large Language Models[OL]. arXiv Preprint arXiv: 2106.09685, 2021.
Kudo, T., Richardson, J. Sentence Piece: A Simple and Language Independent Subword Tokenizer and Detokenizer for Neural Text Processing[OL]. arXiv Preprint ar-Xiv: 1808.06226, 2018.
Loshchilov, I., Hutter, F. Decoupled Weight Decay Regula-rization[OL]. arXiv Preprint arXiv: 1711.05101, 2019.
Mann, B., Ryder, N. et al. Language Models Are Few-shot Learners[OL]. arXiv Preprint arXiv: 2005.14165, 2020.
Ouyang, L., Wu, J., et al. Training Language Models to Follow Instructions with Human Feedback[EB/OL]. arXiv Preprint arXiv: 2203.02155, 2022.
Radford, A., Wu, J., et al. Language Models Are Unsupervised Multitask Learners[J]. OpenAI" Blog, 2019(1).
San-Martin, M., Copaira, M., et al. Aspects of" Reproduction in the Alpaca[J]. Reproduction, 1968(3).
Taori, R., Gulrajani, I., et al. Alpaca: A Strong, Replicable Instruction-following Model[OL]. https://crfm.stanford.edu/2023/03/13/alpaca.html, 2023.
Touvron, H., Lavril, T., et al. LLaMA: Open and Efficient Foundation Language Models[OL]. arXiv Preprint ar-Xiv: 2302.13971, 2023.
Touvron, H., Martin, L., et al. Llama 2: Open Foundation and Fine-tuned Chat Models [OL]. arXiv Preprint ar-Xiv: 2307.09288, 2023.
Wang, Y., Kordi, Y., et al. Self-Instruct: Aligning Language Models with Self-Generated Instructions[OL]. arXiv Preprint arXiv: 2212.10560, 2023.
Xia, M., Gao, T., et al. Sheared Llama: Accelerating Language Model Pre-training via Structured Pruning[OL]. arXiv Preprint, arXiv: 2310.06694, 2023.
定稿日期:2024-12-10【責(zé)任編輯 孫 穎】