大语言模型推进了自然语言处理的最先进水平。然而,它们的主要设计针对英语或有限的一组语言,这在它们对资源匮乏的语言的有效性方面造成了巨大的差距。为了弥补这一差距,慕尼黑大学、赫尔辛基大学等研究人员联合开源了 MaLA-500,旨在涵盖广泛的 534 种语言。
MaLA-500 基于 LLaMA 2 7B 构建,再用多语言数据集 Glot500-c 进行语言扩展训练。研究人员在 SIB-200 上的实验结果表明,MaLA-500 已经实现了最先进的上下文学习结果。
Glot500-c 包含了 534 种语言,涵盖 47 种不同种族语言,数据量高达2万亿tokens。研究人员表示,选择 Glot500-c 数据集的原因在于可以大幅扩展现有语言模型的语言覆盖范围,并包含极其丰富的语言家族,这对于模型学习语言内在的语法和语义规律帮助巨大。
此外,虽然一些高资源语言的比例相对较低,但 Glot500-c 的整体数据量对训练大规模语言模型而言足够用。在后续的预处理中,又对语料数据集进行了加权随机采样,以增加低资源语言在训练数据中的比例,让模型更加聚焦特定语言。
在 LLaMA 2-7B 基础之上,MaLA-500 进行了两大技术点创新:
- 增强词汇表,研究人员通过Glot500-c数据集,训练了一个多语言分词器,将LLaMA 2的原英文词汇表扩展到了260万,大幅增强了模型对非英语和低资源语言的适配能力。
- 模型增强,使用了LoRA技术在LLaMA 2的基础上进行低秩适配。只训练适配矩阵而冻结基础模型权重,可以高效地实现模型在新语言上的持续学习能力,同时保留模型原有的知识。
训练流程
训练方面,研究人员用了24张N卡A100 GPU进行训练,并使用了包括Transformers、PEFT和DeepSpeed三个主流深度学习框架。
其中,DeepSpeed提供了分布式训练的支持,可以实现模型并行;PEFT实现了高效的模型微调;Transformers提供了模型功能的实现,例如,文本生成、提示词理解等。
为了提升训练的高效性,MaLA-500还使用了各种显存和计算优化算法,如ZeRO冗余优化器,可最大化利用GPU算力资源;以及混合精度训练的bfloat16数格式加速训练流程。
此外,研究人员还对模型参数进行了大量优化,使用了学习率为2e-4的常规SGD训练,并使用了0.01的L2权重衰减以防止模型过大,出现过拟合、内容输出不稳定等情况。
为了测试MaLA-500的性能,研究人员在SIB-200等数据集上进行了综合实验。
结果显示,相比原始LLaMA 2模型,MaLA-500在主题分类等评测任务上的准确率提高了12.16%,这说明MaLA-500的多语言优于,现有的众多开源大语言模型。
更多详情可查看完整论文。