面向大语言模型的藏语指令数据集构建
论文题目:面向大语言模型的藏语指令数据集构建
作者机构:北方工业大学;百度网讯科技有限公司;北京理工大学
1. 摘要
指令微调被认为是增强大语言模型(LLMs)能力的关键技术,受到了学术界和工业界的广泛关注。目前针对英语、汉语等资源丰富的语种的大语言模型取得了超出预期的效果,其重要原因之一是依托丰富的语言资源构建的大规模指令数据集能够有效支撑目标任务的指令微调。而对于低资源语言,LLMs的相关研究与应用尚处于起步阶段。该文以藏语作为低资源语言的代表,研究了面向大语言模型指令微调的数据集构建方法。首先,通过收集网页及社交媒体上的藏语文本构成原始藏语数据,并对此数据进行过滤、去重等预处理形成质量较好的藏语数据集;然后,根据不同数据的特点,有针对性地进行人工标注形成高质量的指令数据集;此外,为了保证数据的多样性,该文收集部分高质量的中文指令数据集,采用基于翻译的方法来构造藏语指令数据集作为人工标注数据的补充,最终形成了包含12个子任务的384K条藏语指令数据,并将开源用于相关科学研究。最后通过实验验证了本文发布的藏语指令数据集能够大幅提升大语言模型在藏语上的文本生成与理解能力。
2. 内容
本文以藏语作为低资源语言的代表进行研究。在我国,藏语是我国古老的语言文字之一,记载和传播了藏民族优良的文化和博大的精神,也在推动我国社会发展进步,民族团结一致等方面发挥了不可替代的重要作用。然而,藏语语言资源相对匮乏,在算法、算力和数据的平衡中,数据成为了制约藏语LLMs应用发展的关键短板。为推动LLMs在藏语中的应用,需要构建面向LLMs训练和调优的指令数据集。首先,需要解决数据稀缺的问题,通过多种途径收集高质量的藏语数据;其次,由于LLMs是通用的大语言模型,需要具备多种通用的自然语言处理能力,包括理解能力、生成能力等,因此需要构造面向多领域、多任务的高质量的藏语指令数据集才能够提升LLMs在藏语上的能力。
本文面向LLMs指令微调任务构建综合考虑藏语特性和LLMs需求的丰富多样的藏语数据集。首先,从多个数据源搜集原始藏语数据,包括藏语知名网站、相关藏语微信公众号等,并对原始数据进行清洗、过滤等获得高质量的原始藏语语料库;然后,基于藏语数据的特点以及LLMs的能力需求,人工构造指令数据;此外,为了进一步增强数据的多样性,收集符合藏语语言文化的优质中文指令数据,通过翻译方法构造藏语指令数据作为补充;最后基于现有开源的大语言模型,如LLaMA-2和Baichuan-2,在构造的数据集上进行指令微调训练,通过分析大语言模型能力的提升程度验证数据集的有效性。
本文主要贡献如下:
- 收集多领域的藏语数据,并人工构造面向LLMs能力需求的指令数据集,涵盖信息抽取、作文生成、摘要生成、文本分类等多个任务类别;
- 针对藏语语料稀缺、标注困难导致的多样性不足的问题,收集符合藏语文化的高质量中文指令数据,基于翻译的方式构建高质量的藏语指令数据作为补充,最终形成了384K的藏语指令数据并将开源用于相关研究。
- 基于LLaMA-2和Baichuan-2大语言模型对本文构造的数据集进行实验,验证数据集对大语言模型能力提升的有效性。
3. 指令数据集构建
表1 藏语指令数据集
专项类目 | 数据规模 |
---|---|
信息抽取 | 1276 |
文本摘要 | 51058 |
作文生成 | 58000 |
名词解释 | 6900 |
知识科普 | 1644 |
文本分类 | 13434(12个领域) |
阅读理解 | 2000 |
机器翻译 | 239224 |
知识问答 | 600 |
4. 指令数据集示例
表2 部分指令数据样本示例
Instruction | Input | Output |
---|---|---|
请识别输入文本中国籍、人名、书名 | འཇར་མན་ཕུའུ་ཁེ་དབང་ཀེན་ཞབས་བྲོའི་ལས་དོན་ཁང་གིས་རང་རྩོམ་དང་།རང་ཁྲིད།རང་འཁྲབ་བཅས་བྱས་པའི་ལེ་ཚན་ཀྲུང་གོའི་གནའ་བོའི་གསུང་རྩོམ་གྲགས་ཅན་ཁང་ཆེན་དམར་པོའི་རྨི་ལམ་་ཞེས་པ་དེ་ནུབ་ཕྱོགས་ཀྱི་སྒྱུ་རྩལ་གར་སྟེགས་ཐོག་ཐེངས་དང་པོར་འཁྲབ་སྟོན་བྱེད་འགོ་ཚུགས་པ་རེད།(德国富克旺根舞蹈工作室自编、自导、自演节目中国古典名著《红楼梦》在西方艺术舞台上首次开演。) |
‘国籍’: ['འཇར་མན་'], ‘人名’: ['ཕུའུ་ཁེ་དབང་ཀེན་'], ‘书名’: ['ཁང་ཆེན་དམར་པོའི་རྨི་ལམ་'] |
གཤམ་གྱི་བོད་ཡིག་གི་ཡིག་ཆ་དག་ཚིག་གཅིག་ཏུ་ཕྱོགས་བསྡོམས་བྱེད་རོགས།(请对输入的藏文进行总结) |
ཞིན་ཧྭ་གསར་འགྱུར་ཁང་གི་གློག་འཕྲིན་ལྟར།ཁ་ཐར་འཕྲོད་བསྟེན་པུའུ་ཡིས་ཚེས་བདུན་ཉིན་བསྒྲགས་པ་འི་གཞི་གྲངས་ལྟར་ན།ཁ་ཐར་རྒྱལ་ཁབ་ཏུ་ཉིན་དེ་ར་པྲོག་གསར་གློ་ཚད་རིམས་ནད་འཕར་སྣོན་བྱུང་ཚད་རྒྱུན་མཐུད་སྒོས་ཇེ་དམའ་རུ་འགྲོ་བཞིན་ཡོད།གཞི་གྲངས་ལས་མངོན་པ་ལྟར་ན།ཁ་ཐར་རྒྱལ་ཁབ་ཏུ་ཚེས་བདུན་ཉིན་པྲོག་གསར་གློ་ཚད་རིམས་ནད་ལ་ངོས་བཟུང་བ་འི་ནད་པ་སྟོང་གཅིག་དང་ལྔ་བརྒྱ་གོ་ལྔ་འཕར་སྣོན་བྱུང་བ་དང་།ཚེས་ལྔ་དང་ཚེས་དྲུག་ཉིན་གཉིས་ལ་སོ་སོ་ར་ནད་པ་སྟོང་གཅིག་དང་བདུན་བརྒྱ་ང་བཞི་དང་སྟོང་གཅིག་དང་བདུན་བརྒྱ་ལ་འཕར་སྣོན་བྱུང་།རྒྱལ་ཁབ་དེར་མིག་སྔར་ངོས་བཟུང་བ་འི་ནད་པ་བསྡོམས་པ་ས་ཁྲི་དྲུག་དང་སྟོང་བརྒྱད་བདུན་བརྒྱ་དགུ་བཅུ་ཡོད་པ་དང་དེའི་ནང་གི་ནད་པ་ཁྲི་བཞི་དང་སྟོང་བཞི་སུམ་བརྒྱ་སོ་བརྒྱད་དྲག་སྐྱེད་བྱུང་བ་དང་ནད་པ་ང་བཞི་རྐྱེན་ལམ་དུ་ཤོར།ཁ་ཐར་འཕྲོད་བསྟེན་པུའུ་ཡིས་བཤད་དོན།འཕར་སྣོན་བྱུང་བ་འི་པྲོག་གསར་གློ་ཚད་རིམས་ནད་ལ་ངོས་བཟུང་བ་འི་ནད་པ་འི་ཁྲོད་དུ་ཕྱི་རྒྱལ་གྱི་ཞོར་ལས་པ་ས་སྤྱི་གྲངས་ཀྱི་མང་ཤོས་སུ་ཟིན་ཡོད་ཟེར།(据新华社电卡塔尔卫生部7日发布的数据显示,卡塔尔当天新增新冠肺炎疫情持续下降。在卡塔尔,7日确诊新冠肺炎疫情的病例增加1595例,5日和6日又分别增加1754例和1770例。该国目前确认的病人共有68790人,其中治愈病人44338人,死亡54人。卡塔尔卫生部说:在被确诊新增新冠肺炎疫情的患者中,外籍打工人员占绝大多数。) |
ཁ་ཐར་རྒྱལ་ཁབ་ཏུ་པྲོག་གསར་གློ་ཚད་རིམས་ནད་འཕར་སྣོན་བྱུང་ཚད་རྒྱུན་མཐུད་སྒོས་ཇེ་དམའ་རུ་འགྲོ་བཞིན་ཡོད།(卡塔尔新冠肺炎疫情增加幅度持续降低。) |
གཤམ་གྱི་བོད་ཡིག་གི་ཡིག་རྐྱང་ལ་རིགས་དབྱེ་བྱེད་རོགས།(请对输入的藏文进行分类) |
་ལུང་ཉག་ག་ནི་ཤེས་ཡོན་གྲོང་རྡལ་ཤར་ཕྱོགས་ཀྱི་སྤྱི་ལེ29ཡི་མཚམས་སུ་ཡོད་པ་དང་།མཐོ་ཚད་ལ་མཚོ་ངོས་ལས་རྨིད3500ཡས་མས་ཡོད།ཆུ་ལུང་རི་རྒྱུད་ཀྱི་གོང་ཁ་ན་ཡོད་པས་དེ་ལྟར་དུ་ཐོགས།(溪龙峡位于知识镇以东29公里处,高海拔3500米左右,位于溪谷山脉的上端,故得其名。) |
ས་ཁམས།(地理) |
3.实验
3.1 模型选择
本文选择两个通用大语言模型LLaMA-2和Baichuan-2作为基座模型,其中,LLaMA-2(Large Language Model Meta AI)是由Meta AI发布的一个开放且高效的大型基础语言模型,作为完全开源的模型,被广泛用作AI模型的通用基座;Baichuan-2[44]是国内百川智能发布的一个开源大语言模型,多次在国内外测评榜单中脱颖而出,夺得榜首位置。虽然两个模型的词汇表中都缺少藏语词汇,但都采用了回退到字节的方式来支持多种语言,故而可以进行藏语数据的指令调优。
本文采用LLaMA Factory作为大语言模型调优训练的框架,选择LORA作为指令微调技术,使用本文的指令微调数据集进行指令微调,验证数据集的有效性。
3.2 实验实现
为了验证本文构建的藏语指令数据集的有效性,对每个任务领域的数据集,将数据随机分成训练集/测试集,其占比分别为80%和20%.
对于LLaMA-2和Baichuan-2模型调优训练的大部分相关参数设置遵从LLaMA Factory的默认设置,仅在学习率上做了修改,对于LLaMA-2模型,学习率设为1e-5,对于Baichuan-2模型,学习率设为5e-5。本实验的模型都是在拥有4块32G NVIDIA TeslaV100的服务器上进行调优训练与测试。
本文基于所有领域的训练集分别对基座模型LLaMA-2和Baichuan-2进行指令微调训练得到LLaMA-Ti和Baichuan-Ti模型,将其与基座模型进行对比。对于信息抽取和文本分类任务,采用Accuracy作为衡量指标,对于其他生成式任务,采用BLEU-4、ROUGE-1、GOUGE-2、GOUGE-L作为评价指标,来测试本文构造的数据集对于大语言模型能力的提升效果。
3.3 实验结果
- 主要结果
利用本文构建的数据集进行指令微调训练的模型LLaMA-Ti和Baichuan-Ti与其对应的基座模型LLaMA-2和Baichuan-2在各任务测试集上的实验结果如表4所示。根据表中的结果可以看出,本文构建的藏语指令数据集对于提升大语言模型的能力具有显著的效果。在生成式任务上,LLaMA-Ti和Baichuan-Ti相比基座模型LLaMA-2和Baichuan-2在各指标上都有较大的提升,在(BLUE-4、ROUGE-1,、ROUGE-2、GOUGE-L)上提升的平均值分别为(17.99,36.58,22.12, 26.92)、(22.89, 33.84, 22,16, 31,27),在信息抽取和文本分类任务上,在Accuracy指标上平均提升了0.51和0.7。
- 数据规模的影响
现有研究指出,指令数据集的规模和多样性是影响大语言模型指令微调的主要因素。为了验证本文构造的藏语指令数据集的质量,本文通过改变数据规模、数据多样性,测试其对大语言模型的影响。
为了测试数据规模对模型的影响,本文分别选择0、10000、20000、30000、40000条数据对LLaMA-2和Baichuan-2模型进行微调。由于本文中每个任务的数据量差距较大,有的任务如信息抽取只有一千多条数据,本文选择数据相对丰富的文本生成和名词解释两个任务进行测试。利用不同规模的数据进行微调后的模型在两个任务中的表现如表5所示。
根据表中的结果可以看出,随着数据规模的增长,两个大语言模型LLaMA-2和Baichuan-2经过指令微调后的能力都有所提升,在数据规模从0变化到20000时,模型的能力提升非常显著;而数据规模从20000变化到40000时,模型能力提升非常缓慢,逐渐趋于平稳。因此,利用本文构建的少量数据即可获得模型能力的显著提升。
- 数据多样性评估
为了评估本文构造的数据的多样性,本文对比精选挑选的数据、随机挑选的数据和全量数据对大语言模型的影响。首先,本文参考MoDS指令数据筛选[48]中的做法,采用K-Center-Greedy算法[47]进行数据筛选,精心挑选出20000条数据对基座模型进行指令微调,得到模型LLaMA-TiA和Baichuan-TiA;其次,从所有数据中随机挑选20000条数据构成训练集对基座模型进行指令微调,得到模型LLaMA-TiRS和Baichuan-TiRS;最后,全量数据微调得到的模型为LLaMA-Ti和Baichuan-Ti。本文选择作文生成和名词解释任务进行测试,得到三类模型能力对比的实验结果如表6所示。
从表6中的结果可以看出,基于精心挑选的数据微调的模型在两个任务上的表现基本介于基于随机数据微调的模型和全量数据微调的模型之间。LLaMA-TiA和Baichuan-TiA在指标(BLUE-4、ROUGE-1、ROUGE-2、GOUGE-L)上相比LLaMA-TiRS和Baichuan-TiRS分别平均提升了(1.07, 2.08, 0.75, 0.54),(1.69, 0.86, 1.13, 0.16),这些结果表明随机挑选的数据微调的模型与精心挑选数据微调的模型能力差距较小,意味着随机挑选的数据具有较高的质量。实验结果验证了本文构建的藏语指令数据具有较高的质量。
- 案例分析
为了更好地展示本文构造的藏语指令数据集对大语言模型能力提升的效果,本文收集了部分案例,如表7所示。从表中可以看出,用同一个问题去问基座模型和用本文数据微调过后的模型,微调后的模型能够理解藏语指令,并且能够相对准确地回答输入的问题。在案例1中,模型需要对输入的藏语文本进行总结。在指令微调后,两个模型都比调优之前的模型总结的更精准。在案例2中,模型需要将输入的藏语文本翻译为中文。在该案例中,基座模型难以理解指令,因此不能做出翻译行为。微调后的模型LLaMA-Ti和Baichuan-Ti都能够对输入的藏语数据进行翻译,其差异只是在翻译质量上,Baichuan-Ti能够较为准确地翻译藏语文本,而LLaMA-Ti对其中的一些藏语词语翻译不准确,导致其整体翻译质量低于Baichuan-Ti。在案例3中,模型需要根据指令抽取对应的实体,由于指令是中文指令,Baichuan-2模型读懂了指令,但无法处理藏语输入文本,因此没有抽取出对应的实体;而LLaMA-2模型难以处理藏语输入,没有给出有效回答;经过微调后的LLaMA-Ti和Baichuan-Ti都能够理解指令,且对藏语输入文本进行了信息抽取,Baichuan-Ti的抽取结果较为准确,LLaMA-Ti的抽取不够精准,将人名也识别为了职业的一部分。
总之,通过利用本文构造的藏语指令数据对大语言模型LLaMA-2和Baichuan-2进行指令微调后,这些模型在藏语理解和生成能力上有了显著的提升,验证了本文构造的藏语指令数据集的有效性。
4. 总结与展望
作为低资源语言,藏语缺少大规模高质量的数据集,使得当前采用资源丰富的语言训练的通用大语言模型难以很好地泛化到藏语中。本文面向大语言模型指令微调任务,构建了一个高质量的藏语指令数据集。利用本文构建的数据集对当前通用的大语言模型LLaMA-2和Baichuan-2模型进行指令微调,可以显著地提高模型的理解和生成能力,验证了本文构建的藏语指令数据集的有效性。
然而,由于藏语具有特殊的语法语义结构,现有大语言模型中的原始词汇表中缺少藏语词汇,虽然一些大语言模型,如LLaMA模型通过回退到字节来支持其他语言的字符,但这种回退策略增加了序列长度,并且难以很好地体现语言的语义信息,因此如何针对藏语数据构造词表,进行二次预训练对于提升大语言模型在藏语上的理解和生成能力具有重要意义。