kaiyun体育 全方位、无死角的开源,邢波团队LLM360让大模型实现真正的透明

我们需要更充分、更深入地分享。

开源模型正展现出蓬勃的生命力,不仅数量在增加,性能也在提升。图灵奖得主Yann LeCun也表达了这样的感悟:“开源AI模型正在超越专有模型的路上。”

自有模型在技术性能和创新性方面展​​现出了非凡的威力,但其闭源性却成为了LLM发展的阻碍。虽然部分开源模型为从业者和研究者提供了多样化的选择,但大多数仅公开最终的模型权重或推理代码,越来越多的技术报告将其范围限制在顶层设计和表面统计上。这种闭源策略不仅限制了开源模型的发展,也很大程度上阻碍了整个LLM研究领域的进步。

这意味着这些模型需要更全面、更深入地共享,包括训练数据的细节、算法细节、实施挑战和性能评估。

Cerebras、Petuum 和 MBZUAI 的研究人员共同提出了 LLM360。这是一项完全开源 LLM 的倡议,主张将与 LLM 训练相关的一切都提供给社区,包括训练代码和数据、模型检查点和中间结果。LLM360 的目标是让 LLM 训练过程透明化,让每个人都能重现,从而推动开放和协作的人工智能研究发展。

训练器有用吗_360度综合训练器_训练器是什么

研究人员开发了 LLM360 架构,重点介绍了其设计原则和完全开源的原因。他们详细阐述了 LLM360 框架的组件,包括数据集、代码和配置、模型检查点、指标和其他具体细节。LLM360 为当前和未来的开源模型树立了透明度的榜样。

研究人员在LLM360开源框架下发布了两个从零开始预训练的大型语言模型:AMBER和CRYSTALCODER。AMBER是一个在1.3T token上预训练的7B英语语言模型。CRYSTALCODER是一个在1.4T token上预训练的7B英语和代码语言模型。在这篇论文中,研究人员总结了这两个模型的开发细节、初步评估结果、观察结果和经验教训。值得注意的是,在发布时,AMBER和CRYSTALCODER在训练过程中分别节省了360个和143个模型检查点。

训练器有用吗_训练器是什么_360度综合训练器

接下来我们来看看文章的具体内容。

LLM360框架

LLM360 将提供一个标准,规定 LLM 预训练时应该收集哪些数据和代码,以保证已有的工作能够更好地在社区中流通和共享。主要包括以下几个部分:

训练器是什么_训练器有用吗_360度综合训练器

1.训练数据集和数据处理代码

预训练数据集对于大型语言模型的性能至关重要。因此,了解预训练数据集对于评估潜在的行为问题和偏差非常重要。此外,公开的预训练数据集有助于提高 LLM 在后续微调和适应各个领域时的可扩展性。最近的研究表明,在重复数据上进行训练会不成比例地降低模型的最终性能。因此,将原始预训练数据公开有助于避免使用重复数据进行下游微调或特定领域的继续预训练。出于上述原因,LLM360 提倡公开大型语言模型的原始数据集。在适当的情况下,还应公开有关数据过滤、处理和训练顺序的详细信息。

2.训练代码、超参数和配置

训练代码、超参数和配置对 LLM 训练的性能和质量有重大影响kaiyun下载app下载安装手机版,但并不总是公开披露。在 LLM360 中kaiyun体育登录网页入口,研究人员开源了预训练框架的所有训练代码、训练参数和系统配置。

3. 模型检查点

定期保存模型检查点也非常有用。它们不仅对于训练期间的故障恢复至关重要,而且对于训练后的研究也很有用。这些检查点允许后期研究人员从多个起点继续训练模型,而无需从头开始训练,这有助于复现和深入研究。

4. 绩效指标

训练一个 LLM 通常需要数周到数月的时间,训练过程中的进化趋势可以提供有价值的信息。然而,训练的详细日志和中间指标目前只有经历过的人才能获得,这阻碍了对 LLM 的全面研究。这些统计数据通常包含难以察觉的关键见解。即使是对这些指标进行方差计算等简单分析也可以揭示重要的发现。例如云开·全站APP登录入口,GLM 研究团队提出了一种梯度收缩算法,通过分析梯度范数的行为,有效地处理损失尖峰和 NaN 损失。

琥珀色

AMBER是LLM360“家族”的首位成员,其精细化版本AMBERCHAT和AMBERSAFE也同期发布。

训练器是什么_360度综合训练器_训练器有用吗

数据和模型详细信息

表 2 列出了包含 1.26 T 个 token 的 AMBER 预训练数据集的详细信息,包括数据预处理、格式、数据混合比例,以及 AMBER 架构细节和具体的预训练超参数。详细信息请参考项目首页的 LLM360 代码库。

360度综合训练器_训练器有用吗_训练器是什么

AMBER采用与LLaMA 7B4一致的模型架构,表3总结了LLM的详细架构配置。

训练器有用吗_训练器是什么_360度综合训练器

在预训练流程和超参数方面,研究者尽可能遵循了LLaMA的预训练超参数。AMBER使用AdamW优化器进行训练,超参数为:β₁= 0.9,β₂= 0.95。同时,研究者还发布了多个经过微调的AMBER版本:AMBERCHAT和AMBERSAFE。AMBERCHAT是基于WizardLM的指令训练数据集进行微调的。更多参数详情请阅读原文。

实验与结果

研究人员采用了 Open LLM 排行榜上的四个基准数据集来评估 AMBER 的性能。如图 4 所示,在 HellaSwag 和 ARC 中,AMBER 的分数在预训练过程中单调上升,而 TruthfulQA 的分数则随着训练的进行而降低。在 MMLU 数据集中,AMBER 的分数在预训练的初始阶段下降,随后开始上升。

训练器有用吗_训练器是什么_360度综合训练器

在表 4 中,研究人员将 AMBER 与在类似时间段内训练的模型(例如 OpenLLaMA、RedPajama-INCITE、Falcon 和 MPT)的性能进行了比较。其中许多模型都受到了 LLaMA 的启发。可以看出,AMBER 在 MMLU 上得分不错,但在 ARC 上表现稍差。与其他同类模型相比,AMBER 的表现相对较好。

训练器是什么_360度综合训练器_训练器有用吗

水晶编码器

LLM360“家族”的第二个成员是CrystalCoder。

360度综合训练器_训练器是什么_训练器有用吗

CrystalCoder 是一个在 1.4 T token 上训练的 7B 语言模型,实现了编码和语言能力之间的平衡。与大多数以前的代码 LLM 不同,CrystalCoder 通过精心混合文本和代码数据进行训练,以最大限度地提高这两个领域的实用性。与 Code Llama 2 相比,CrystalCoder 的代码数据在预训练过程中被更早地引入。此外,研究人员还在 Python 和 Web 编程语言上对 CrystalCoder 进行了训练,以提高其作为编程助手的实用性。

模型架构

CrystalCoder 采用与 LLaMA 7B 非常相似的架构,但增加了最大更新参数化(muP)。除了这种特定的参数化之外,研究人员还做了一些修改。此外,研究人员还使用了 LayerNorm 而不是 RMSNorm,因为 CG-1 架构支持高效计算 LayerNorm。

实验与结果

如图 6 所示,研究人员在 Open LLM Leaderboard 中的四个基准数据集和编码基准数据集上对该模型进行了基准测试。

360度综合训练器_训练器有用吗_训练器是什么

从表5可以看出,CrystalCoder在语言任务和代码任务之间取得了很好的平衡。

训练器是什么_360度综合训练器_训练器有用吗

分析360

Pythia 等人之前的工作表明,可以通过分析模型的中间检查点进行深入研究。研究人员希望 LLM360 也能为社区提供有用的参考和研究资源。为此,他们发布了 ANALYSIS360 项目的初始版本,这是一个有组织的存储库,用于多方面分析模型行为,包括模型特征和下游评估结果。

作为分析一系列模型检查点的示例,研究人员对 LLM 中的记忆化进行了初步研究。最近的研究表明,LLM 可能会记忆大量训练数据,而这些数据可以通过适当的提示提取出来。这种记忆化不仅存在泄露私人训练数据的问题,而且如果训练数据包含重复或特质,还会降低 LLM 的性能。研究人员发布了所有检查点和数据,以便他们可以在整个训练阶段对记忆化进行全面分析。

以下是本文使用的 memoization score 方法,score 表示长度为 l 的 token 按照长度为 k 的 prompt 的准确率,具体 memoization score 设置请参考原文。

图 7 显示了选定的 10 个检查点的记忆分数分布。

训练器是什么_360度综合训练器_训练器有用吗

研究人员根据所选的检查点对数据块进行分组,并在图 8 中绘制了每个检查点上每个数据块组的记忆分数。他们发现 AMBER 检查点对最新数据的记忆比之前的数据更多。此外,对于每个数据块,在额外训练后,记忆分数会略有下降,但随后会继续增加。

训练器有用吗_360度综合训练器_训练器是什么

图 9 展示了序列在记忆分数和可提取 k 值方面的相关性。可以看出检查点之间存在很强的相关性。

训练器有用吗_360度综合训练器_训练器是什么

总结

研究人员总结了他们的观察结果以及对 AMBER 和 CRYSTALCODER 的一些启发。他们表示,预训练是一项计算密集型任务,许多学术实验室或小型机构无法承担。他们希望 LLM360 能够提供全面的知识,让用户无需亲自动手就能了解 LLM 预训练过程中发生的事情。

关键词:

客户评论

我要评论