白小交 发自 凹非寺
量子位 | 公众号 QbitAI
陈丹琦团队又带着他们的降本大法来了——
数据砍掉三分之一,大模型性能却完全不减。
他们引入了元数据,加速了大模型预训练的同时,也不增加单独的计算开销。
在不同模型规模(600M - 8B)和训练数据来源的情况下,均能实现性能方面的提升。
虽然之前元数据谈过很多,但一作高天宇表示,他们是第一个展示它如何影响下游性能,以及具体如何实践以确保推理中具备普遍实用性。
来看看具体是如何做到的吧?
元数据加速大模型预训练
语言模型预训练语料库中存在着风格、领域和质量水平的巨大差异,这对于开发通用模型能力至关重要,但是高效地学习和部署这些异构数据源中每一种数据源的正确行为却极具挑战性。
在这一背景下,他们提出了一种新的预训练方法,称为元数据调节然后冷却(MeCo,Metadata Conditioning then Cooldown)。
具体包括两个训练阶段。
预训练阶段(90%),将元数据(如文档 URL 的绝对域名c)与文档拼接(如 “URL: en.wikipedia.org\n\n [document]”)进行训练。
(例如,如果文档的 URL 是 https://en.wikipedia.org/wiki/Bill Gates,那么文档 URL 的绝对域名c就是 en.wikipedia.org;这种 URL 信息在许多预训练语料库中都很容易获得,它们大多来自 CommonCrawl2(一个开放的网络抓取数据存储库))
当使用其他类型的元数据时,URL 应替换为相应的元数据名称。
他们只计算文档标记的交叉熵损失,而不考虑模板或元数据中的标记,因为在初步实验中发现,对这些标记进行训练会略微损害下游性能。
最后10%的训练步骤为冷却阶段,使用标准数据训练,继承元数据调节阶段的学习率和优化器状态,即从上一阶段的最后一个检查点初始化学习率、模型参数和优化器状态,并继续根据计划调整学习率:
1)禁用跨文档Attention,这既加快了训练速度(1.6B 模型的训练速度提高了 25%),又提高了下游性能。
2)当将多个文档打包成一个序列时,我们确保每个序列从一个新文档开始,而不是从一个文档的中间开始—当将文档打包成固定长度时,这可能会导致一些数据被丢弃,但事实证明这有利于提高下游性能。
本次实验使用了Llama Transformer架构和Llama-3 tokenizer。我们使用四种不同的模型大小进行了实验:600M、1.6B、3B 和 8B,以及相关优化设置。
结果显示,MeCo 的表现明显优于标准预训练,其平均性能与 240B 标记的基线相当,而使用的数据却减少了 33%。
最后总结,他们主要完成了这三项贡献。
1、MeCo 大幅加快了预训练。
实验证明,MeCo 使一个 1.6B 的模型在少用 33% 的训练数据的情况下,达到了与标准预训练模型相同的平均下游性能。在不同的模型规模(600M、1.6B、3B 和 8B)和数据源(C4、RefinedWeb 和 DCLM)下,MeCo 显示出一致的收益。
2、MeCo 开启了引导语言模型的新方法。
例如,使用factquizmaster.com(非真实URL)可以提高常识性任务的性能(例如,在零次常识性问题解答中绝对提高了6%),而使用wikipedia.org与标准的无条件推理相比,毒性生成的可能性降低了数倍。
3、消解了 MeCo 的设计选择,并证明 MeCo 与不同类型的元数据兼容。
使用散列 URL 和模型生成的主题进行的分析表明,元数据的主要作用是按来源将文档归类。因此,即使没有URL,MeCo 也能有效地整合不同类型的元数据,包括更精细的选项。
陈丹琦团队
论文作者来自普林斯顿NLP小组(隶属于普林斯顿语言与智能PLI)博士生高天宇、Alexander Wettig、Luxi He、YiHe Dong、Sadhika Malladi以及陈丹琦。
一作高天宇,本科毕业于清华,是2019年清华特奖得主,目前普林斯顿五年级博士生,预计今年毕业,继续在学界搞研究,研究领域包括自然语言处理和机器学习的交叉领域,特别关注大语言模型(LLM),包括构建应用程序、提高LLM功能和效率。
Luxi He目前是普林斯顿计算机专业二年级博士生,目前研究重点是理解语言模型并改善其一致性和安全性,硕士毕业于哈佛大学。
YiHe Dong目前在谷歌从事机器学习研究和工程工作,专注于结构化数据的表示学习、自动化特征工程和多模态表示学习,本科毕业于普林斯顿。