[论文解读] Efficient Training of Language Models to Fill in the Middle
自回归语言模型可以通过一个简单的数据转换实现填充中间(FIM),将中间片段移到末尾;FIM 训练对于从左到右能力几乎没有成本;微调 FIM 需要较高的计算成本,论文提供最佳实践和基准。
We show that autoregressive language models can learn to infill text after we apply a straightforward transformation to the dataset, which simply moves a span of text from the middle of a document to its end. While this data augmentation has garnered much interest in recent years, we provide extensive evidence that training models with a large fraction of data transformed in this way does not harm the original left-to-right generative capability, as measured by perplexity and sampling evaluations across a wide range of scales. Given the usefulness, simplicity, and efficiency of training models to fill-in-the-middle (FIM), we suggest that future autoregressive language models be trained with FIM by default. To this end, we run a series of ablations on key hyperparameters, such as the data transformation frequency, the structure of the transformation, and the method of selecting the infill span. We use these ablations to prescribe strong default settings and best practices to train FIM models. We have released our best infilling model trained with best practices in our API, and release our infilling benchmarks to aid future research.
研究动机与目标
- 通过引入一个简单的数据转换,将中间片段移到末尾(FIM),以在因果语言模型中实现填充并使其成为可能。
- 证明使用 FIM 训练不会损害从左到右的生成能力(FIM-for-free 属性),在语言和代码领域均适用。
- 描述超参数与实际指南(FIM 速率、模式、上下文与文档级别、中间片段选择),以最大化 FIM 能力。
- 提供填充基准并发布模型以促进未来的 FIM 研究与应用。
提出的方法
- 应用将文档分割为前缀、中间和后缀的数据集转换,并将中间片段移动到末尾,与哨兵标记连接成(prefix, suffix, middle)。
- 在混合了原始从左到右数据和 FIM 转换数据的混合数据上训练因果解码器模型(FIM 速率 p,通常为 50%),在保留自回归损失的同时实现填充。
- 探索两种 FIM 实现:PSM(前缀-后缀-中间顺序)和 SPM(后缀-前缀-中间),以及它们的联合训练,并考虑哨兵位置。
- 研究面向上下文级别与文档级别的 FIM,以缓解分块过程中的数据碎片化,使用 100B token 的预训练视野并在模型规模上进行消融实验。
- 通过标准自回归基准测试评估从左到右的性能,并通过语言与代码的专门基准测试衡量填充,包括新的随机片段填充任务。
实验结果
研究问题
- RQ1FIM 训练是否会影响模型的从左到右自回归能力?
- RQ2改变 FIM 速率如何在不同规模下影响填充性能和自回归性能?
- RQ3实现 FIM 的最佳做法是什么(PSM vs SPM、上下文 vs 文档级、中间片段选择)以在不损害自回归的情况下最大化填充?
- RQ4对预训练模型进行微调以获得 FIM 能力是否能与从头开始使用 FIM 的效果相当,且需要的计算成本是多少?
主要发现
- FIM 训练具有 FIM-for-free 属性:在语言和代码领域的训练中,最多使用 50% 的 FIM 数据也不会改变从左到右(自回归)损失与性能。
- 更高的 FIM 速率(高达 90%)不会降低自回归困惑度,但 100% 的 FIM 速率会开始降低 AR 损失;填充性能随 FIM 速率的增加而提高。
- 在填充基准中,面向上下文级别的 FIM 一直优于面向文档级别的 FIM,且对 AR 损失几乎没有差异。
- SPM 模式通常略强于 PSM,联合的 PSM+SPM 训练可产生鲁棒、灵活的模型,且推理模式高效。
- 微调自回归模型以获得 FIM 能力需要大量额外计算,且通常不能达到从 FIM 自训练模型的性能水平。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。