由机器之心报告。
编辑:**鸡佳琪
我们需要更全面、更深入地分享。开源模型不仅在数量上,而且在性能上都显示出它们的可行性。 图灵奖得主Yann Lecun也感叹,开源AI模型正在超越专有模型。 」
专有模型在技术性能和创新方面表现出非凡的力量,但它们的非开源性质阻碍了LLM的发展。 虽然一些开源模型为从业者和研究人员提供了多种选择,但大多数模型只披露了最终的模型权重或推论**,越来越多的技术报告将其范围限制在顶层设计和表面统计。 这种闭源策略不仅限制了开源模型的发展,而且在很大程度上阻碍了整个法学硕士研究领域的进步。
这意味着这些模型需要更全面、更深入地共享,包括训练数据、算法细节、实现挑战和性能评估细节。
Cerebras、Petuum 和 MBZUAI 等研究人员提出了 LLM360。 这是一个完全开源的 LLM 计划,倡导向社区提供与 LLM 培训相关的所有内容,包括训练**和数据、模型检查点、中间结果等。 LLM360 的目标是通过使 LLM 训练过程对每个人透明和可重复,推动开放和协作的 AI 研究。
*地址: 项目网页:
博客:博客 introducing-llm360-fully-transparent-open-source-llmshtml
研究人员开发了LLM360的架构,重点关注其设计原则和完全开源的基本原理。 它们详细介绍了 LLM360 框架的组件,包括数据集、** 和配置、模型检查点、指标等特定详细信息。 LLM360为当前和未来的开源模型设定了透明度样本。
在LLM360的开源框架下,研究人员发布了两个从头开始预训练的大型语言模型:Amber和Crystalcoder。 琥珀色基于 1预训练 7b 英语语言模型的 3T 令牌。 Crystalcoder 基于 14T 代币预训练 7b 英语和**语言模型。 在本文中,研究人员总结了两种模型的发展细节、初步评估结果、观察结果以及从中吸取的经验教训。 值得注意的是,在发布时,Amber 和 Crystalcoder 在训练期间分别保存了 360 个和 143 个模型检查点。
接下来,我们来看看文章的具体内容。
LLM360型
LLM360 将为 LLM 预培训过程中需要收集哪些数据提供标准,以确保现有工作能够更好地与社区传播和共享。 它主要包含以下几个部分:
1.训练数据集和数据处理**
预训练数据集对于大型语言模型的性能至关重要。 因此,了解预先训练的数据集以评估潜在的行为问题和偏见非常重要。 此外,公开的预训练数据集有助于提高 LLM 的可扩展性,因为它随后会进行微调并适应各种领域。 最近的研究表明,对重复数据进行训练会不成比例地降低模型的最终性能。 因此,公开原始预训练数据有助于避免在微调下游或继续在特定领域进行预训练时使用重复数据。 出于这些原因,LLM360 提倡公开大型语言模型的原始数据集。 在适当的情况下,还应公开有关数据筛选、处理和训练序列的详细信息。
2.训练**、超参数和配置
训练**、超参数和配置对 LLM 训练的性能和质量有重大影响,但并不总是公开披露。 在 LLM360 中,研究人员开源了预训练框架的所有训练**、训练参数和系统配置。
3.模型检查点
定期保存模型检查点也很有用。 它们不仅对训练期间的故障恢复至关重要,而且对训练后的研究也很有用,因为这些检查点允许后来的研究人员从多个起点继续训练模型,而无需从头开始训练,有助于可重复性和进一步研究。
4.性能指标
训练 LLM 可能需要数周到数月的时间,训练期间的演变趋势可以提供有价值的信息。 然而,详细的日志和训练的中间指标目前只提供给那些目睹它的人,这阻碍了对 LLM 的全面研究。 这些统计信息通常包含难以检测的关键见解。 即使对这些度量的方差计算进行简单分析,也可以揭示重要的发现。 例如,GLM研究团队提出了一种梯度收缩算法,该算法通过分析梯度规范行为来有效处理损失峰值和NAN损失。
amber
Amber 是 LLM360 系列的第一个成员,同时发布了其微调版本:Amberchat 和 AmberSafe。
数据和模型详细信息
表 2 列出了琥珀色包含 1预训练数据集的 26 T token 的详细信息,包括数据的预处理、格式、数据混合比例,以及 Amber 的架构细节和具体的预训练超参数。 请参考项目主页上的LLM360库。
Amber 使用与 LLAMA 7B4 一致的模型架构,表 3 总结了 LLM 的详细架构配置。
在预训练过程和超参数方面,研究人员尽可能地遵循了LLAMA的预训练超参数。 Amber 使用超参数 = 0 的 ADAW 优化器进行训练。9,β₂= 0.95。同时,研究人员还发布了几个微调版本的Amber:AmberChat和AmberSafe。 Amberchat 基于 WizardLM 的指令训练数据集微调。 更多详情,请阅读原文。
实验和结果
研究人员使用了Open LLM排名中的四个基准数据集来评估Amber的表现。 如图 4 所示,在 Hellaswag 和 ARC 中,Amber 的分数在预训练期间单调增加,而 TruthfulQA 的分数随着训练的进行而降低。 在 MMLU 数据集中,Amber 的分数在预训练的初始阶段下降,然后开始上升。
在表 4 中,研究人员将 Amber 的模型性能与在类似时间段内训练的模型进行了比较,例如 Openllama、Redpajama-Incite、Falcon、MPT 等。 许多模型的灵感来自骆驼。 正如你所看到的,Amber 在 MMLU 上的得分更高,但在 ARC 上的表现并不好。 与其他类似型号相比,Amber 的表现相对较强。
crystalcoder
LLM360系列的第二个成员是Crystalcoder。
Crystalcoder 是 1在 4 个 T 标记上训练的 7b 语言模型实现了编码和语言能力之间的平衡。 与大多数以前的 LLM 不同,Crystalcoder 通过仔细混合文本和数据进行训练,以最大限度地提高这两个领域的效用。 与 Code Llama 2 相比,CrystalCoder 的数据是在预训练过程的早期摄取的。 此外,研究人员还对 Crystalcoder 进行了 Python 和 Web 编程语言的训练,以提高其作为编程助手的实用性。
模型架构
Crystalcoder 使用与 Llama 7B 非常相似的架构,并增加了最大更新参数化 (MUP)。 除了这种特定的参数化之外,研究人员还进行了一些修改。 此外,研究人员还使用 LayerNorm 而不是 RMSNORM,因为 CG-1 架构允许高效计算 LayerNorm。
实验和结果
如图 6 所示,该模型在 Open LLM 排行榜中的四个基准数据集以及编码基准数据集上进行了基准测试。
从表 5 中可以看出,Crystalcoder 在语言任务和 ** 任务之间取得了很好的平衡。
analysis360
Pythia等人先前的研究表明,通过分析模型的中间检查点,可以进行深入研究。 研究人员希望LLM360也能为社区提供有用的参考和研究资源。 为此,他们发布了 Analysis360 项目的初始版本,这是一个有组织的存储库,用于对模型行为进行多方面分析,包括模型特征和下游评估结果。
作为分析一系列模型检查点的一个例子,研究人员对LLM的记忆进行了初步研究。 最近的研究表明,LLM 可以记住大部分训练数据,这些数据可以通过适当的提示进行提取。 这种记忆不仅存在泄露个人训练数据的问题,而且如果训练数据包含重复性或特异性,它还会降低 LLM 的性能。 研究人员公布了所有的检查点和数据,因此他们可以在整个训练阶段对记忆进行全面分析。
以下是本文使用的记忆评分方法,它代表了长度 l 的后续标记在长度 k 的提示中的准确性。 有关内存分数设置的更多信息,请参阅原文。
图 7 显示了 10 个选定检查点的内存分数分布。
研究人员根据选定的检查点对数据块进行分组,并在图 8 中绘制了每个检查点的每个数据块组的内存分数。 他们发现,琥珀检查点比以前的数据更能记住最新的数据。 此外,对于每个块,记忆分数在额外训练后略有下降,但之后继续上升。
图 9 说明了序列之间在内存分数和可提取 k 值方面的相关性。 可以看出,检查点之间存在很强的相关性。
总结
研究人员总结了关于Amber和Crystalcoder的观察结果和一些启示。 他们说,预训练是一项计算密集型任务,许多学术实验室或小型机构无法承担。 他们希望 LLM360 能够全面了解 LLM 预培训期间发生的事情,而不必弄脏他们的手。
更多详情,请阅读原文。