本文通过实验证明较大词汇量能显著提升单语大型语言模型在英语和日语任务中的性能,并提出了一种在持续训练中更换词汇表的简单方法以适配目标语言,进一步提升模型表现。
Large Language Model, Pre-training, Fine-tuning, Efficiency, Tokenization
Sho Takase, Ryokan Ri, Shun Kiyono, Takuya Kato
SB Intuitions
Generated by grok-3
Background Problem
大型语言模型(LLMs)在自然语言处理任务中表现出色,但关于词汇量大小(即子词词汇表大小)对模型性能的影响尚未有充分研究。传统上,单语LLM的词汇量通常在30k-60k之间,而多语模型则可能达到250k。尽管如此,词汇量大小的选择缺乏理论依据,且其对单语模型质量的影响尚不明确。本文旨在通过实验探究词汇量大小与LLM性能之间的关系,并解决在持续训练场景下如何适配目标语言的词汇表问题。
Method
本文提出了两种主要研究方法:
- 词汇量大小对性能的影响:使用基于Transformer的语言模型,在英语和日语数据集上测试不同词汇量(5k, 10k, 50k, 100k, 500k)的性能。词汇表构建采用SentencePiece中的unigram语言模型。训练配置分为两种:固定训练token数(1T tokens)和固定训练轮数(1 epoch),以避免因词汇量不同导致的训练数据量或计算资源的不公平分配。
- 持续训练中的词汇表更换:针对预训练模型(如Llama2)适配新语言(如日语)的场景,提出了一种简单方法,通过随机矩阵初始化新词汇表的嵌入矩阵(),并可选地插入预训练模型中已存在的子词嵌入(Swap&Insert策略),以保留部分预训练知识。 批判性思考:虽然方法设计试图控制变量,但词汇量大小与token数量的关系可能仍对结果产生偏见。此外,持续训练中随机初始化新词汇嵌入的方式可能导致预训练知识的丢失,缺乏对新旧词汇表语义一致性的深入探讨。
Experiment
实验分为两部分:
- 词汇量大小实验:在英语和日语数据集上训练模型,数据集分别来自SlimPajama(英语)和CommonCrawl(日语)。评估任务包括常识推理任务(如PIQA, JSQuAD)和生成任务(如JAQKET)。结果显示,词汇量越大,模型性能越好,尤其在日语生成任务JAQKET上提升显著(例如,500k词汇量比5k提升9.2%)。此外,较大词汇量在固定epoch下使用更少的token即可达到更好性能,显示出训练效率优势。然而,实验未充分探讨词汇量增加带来的计算成本(如输出层softmax计算复杂度),且仅限于两种语言,泛化性存疑。
- 持续训练实验:基于Llama2 7B模型,在日语数据上测试词汇表更换方法。结果表明,使用新词汇表(100k)的Swap&Insert策略比保留原始词汇表(32k)性能提升明显(平均得分从70.1提升至73.1),甚至优于相关工作(如Fujii et al., 2024)。但实验设计中,随机初始化新嵌入可能未充分利用预训练模型的语义信息,且仅在日语上测试,缺乏跨语言验证。 批判性思考:实验设置虽试图平衡训练数据量,但固定token数或epoch的两种配置可能仍未完全消除偏见。此外,结果虽显示较大词汇量有优势,但未分析其对模型推理效率的影响,且500k作为最大词汇量可能未触及性能上限,限制了结论的深度。
Further Thoughts
本文的研究为词汇量大小对LLM性能的影响提供了初步证据,但其结论可能过于依赖英语和日语的语言特性。未来研究可以扩展到更多语言,特别是低资源语言,以验证词汇量大小的普适性影响。此外,词汇量增加带来的计算成本(如softmax计算复杂度)在实际部署中可能是一个重要瓶颈,值得进一步探讨高效算法(如adaptive softmax)的结合效果。另一个有趣的方向是探索词汇量大小与模型参数规模的交互作用,例如在更大规模模型(如超过10B参数)上测试词汇量变化是否仍保持类似趋势。最后,持续训练中词汇表更换的方法虽然简单有效,但随机初始化新嵌入可能不是最优解,是否可以通过跨语言嵌入对齐或语义迁移等技术进一步提升性能,是一个值得深入研究的问题。