Scaling Laws with Vocabulary: Larger Models Deserve Larger Vocabularies
作者: Chaofan Tao, Qian Liu, Longxu Dou, Niklas Muennighoff, Zhongwei Wan, Ping Luo, Min Lin, Ngai Wong
分类: cs.CL, cs.AI
发布日期: 2024-07-18 (更新: 2024-11-01)
备注: NeurIPS 2024
🔗 代码/项目: GITHUB
💡 一句话要点
提出基于计算预算优化词汇表大小的方法,提升大语言模型预训练效率。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 词汇表大小 缩放规律 预训练 计算效率 模型优化 等FLOPs分析
📋 核心要点
- 现有大语言模型缩放研究主要关注模型参数和训练数据,忽略了词汇表大小对性能的影响。
- 论文提出三种互补方法,基于计算预算预测最优词汇表大小,包括等FLOPs分析、导数估计和损失函数参数拟合。
- 实验表明,使用论文预测的最优词汇表大小,能够显著提升下游任务性能,例如在ARC-Challenge上提升了2.9个百分点。
📝 摘要(中文)
本文研究了词汇表大小对大语言模型(LLM)缩放规律的影响,以往的研究主要集中在模型参数和训练数据大小上,忽略了词汇表大小的作用。通过训练参数量从33M到3B的模型,并在高达500B字符的数据上进行训练,同时采用不同的词汇表配置,我们探索了词汇表大小的影响。我们提出了三种互补的方法来预测计算最优的词汇表大小:等FLOPs分析、导数估计和损失函数的参数拟合。我们的方法一致表明,最佳词汇表大小取决于计算预算,更大的模型需要更大的词汇表。然而,大多数LLM使用的词汇表大小不足。例如,我们预测Llama2-70B的最佳词汇表大小至少应为216K,是其32K词汇量的7倍。我们通过在不同的FLOPs预算下训练具有3B参数的模型,从而实证验证了我们的预测。采用我们预测的最佳词汇表大小始终优于常用词汇表大小的下游性能。通过将词汇表大小从传统的32K增加到43K,我们在相同的2.3e21 FLOPs下,将ARC-Challenge的性能从29.1提高到32.0。我们的工作强调了在高效预训练中,联合考虑分词和模型缩放的重要性。
🔬 方法详解
问题定义:现有大语言模型在预训练时,通常采用固定的词汇表大小,而忽略了模型规模和计算预算对最优词汇表大小的影响。这种做法可能导致模型训练效率低下,无法充分利用计算资源,最终影响模型性能。现有方法缺乏一种系统性的方法来确定给定计算预算下的最优词汇表大小。
核心思路:论文的核心思路是,最优词汇表大小与计算预算相关,更大的模型需要更大的词汇表。通过分析模型训练过程中的计算量、损失函数和性能表现,可以预测在特定计算预算下的最优词汇表大小。论文提出了三种互补的方法来实现这一目标。
技术框架:论文的技术框架主要包括三个部分:1) 数据收集:训练不同参数规模的模型,并记录训练过程中的损失函数值和计算量。2) 模型分析:使用等FLOPs分析、导数估计和损失函数参数拟合三种方法,基于收集到的数据预测最优词汇表大小。3) 实验验证:使用预测的最优词汇表大小训练模型,并在下游任务上进行评估,验证预测的有效性。
关键创新:论文的关键创新在于提出了三种互补的方法来预测计算最优的词汇表大小,并验证了更大的模型需要更大的词汇表这一观点。与现有方法相比,论文的方法能够更准确地确定给定计算预算下的最优词汇表大小,从而提高模型训练效率和性能。
关键设计:论文的关键设计包括:1) 等FLOPs分析:通过比较在相同计算量下,不同词汇表大小的模型性能,来确定最优词汇表大小。2) 导数估计:通过分析损失函数对词汇表大小的导数,来确定最优词汇表大小。3) 损失函数参数拟合:通过拟合损失函数与词汇表大小的关系,来预测最优词汇表大小。此外,论文还使用了不同的模型架构和训练数据,以验证方法的泛化能力。
🖼️ 关键图片
📊 实验亮点
实验结果表明,使用论文预测的最优词汇表大小,能够显著提升下游任务性能。例如,在相同的2.3e21 FLOPs下,将词汇表大小从传统的32K增加到43K,可以将ARC-Challenge的性能从29.1提高到32.0。此外,论文还验证了Llama2-70B的最佳词汇表大小应至少为216K,是其原始词汇量的7倍。
🎯 应用场景
该研究成果可应用于大语言模型的预训练阶段,帮助研究人员和工程师更有效地利用计算资源,训练出性能更优的模型。通过优化词汇表大小,可以降低训练成本,提高模型在各种自然语言处理任务中的表现,例如文本生成、机器翻译和问答系统等。该研究对于推动大语言模型的发展和应用具有重要意义。
📄 摘要(原文)
Research on scaling large language models (LLMs) has primarily focused on model parameters and training data size, overlooking the role of vocabulary size. We investigate how vocabulary size impacts LLM scaling laws by training models ranging from 33M to 3B parameters on up to 500B characters with various vocabulary configurations. We propose three complementary approaches for predicting the compute-optimal vocabulary size: IsoFLOPs analysis, derivative estimation, and parametric fit of the loss function. Our approaches converge on the conclusion that the optimal vocabulary size depends on the compute budget, with larger models requiring larger vocabularies. Most LLMs, however, use insufficient vocabulary sizes. For example, we predict that the optimal vocabulary size of Llama2-70B should have been at least 216K, 7 times larger than its vocabulary of 32K. We validate our predictions empirically by training models with 3B parameters across different FLOPs budgets. Adopting our predicted optimal vocabulary size consistently improves downstream performance over commonly used vocabulary sizes. By increasing the vocabulary size from the conventional 32K to 43K, we improve performance on ARC-Challenge from 29.1 to 32.0 with the same 2.3e21 FLOPs. Our work highlights the importance of jointly considering tokenization and model scaling for efficient pre-training. The code and demo are available at https://github.com/sail-sg/scaling-with-vocab and https://hf.co/spaces/sail/scaling-with-vocab-demo.