本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
持续的预训练和中期训练
注意
订阅后即提供详细文档
Nova Forge CPT提供了超越标准CPT的高级功能,包括访问中间检查点以及使用Nova预训练语料库进行数据混合。这些功能可以实现更有效的域自适应,并更好地保留模型的常规功能。
什么是中间检查点?为什么需要它们?
中间检查点是在模型达到最终生产就绪状态之前,在预训练的不同阶段保存的 Amazon Nova 模型的快照。在模型开发过程中,Amazon Nova 经历了多个训练阶段:以恒定的学习率进行初始预训练、学习率下降、情境扩展训练,最后是遵循指导的校准和安全训练。对于 CPT 来说,中间检查点通常比最终的 Prod 检查点更可取,因为它们更具可塑性,更容易接受域适应。Prod checkpoint 经过了广泛的指导对齐和安全训练,这优化了模型以用于一般对话用途,但可能使其无法在 CPT 期间学习新的特定领域模式。相比之下,仅限部分和完全预训练的文本检查点保留了模型的预训练特征。他们没有被大量引导到特定的行为,这使得它们成为更有效的领域适应起点。在执行大规模 CPT(>100B 代币)时,从中间检查点开始通常可以加快收敛速度、提高训练稳定性和更有效的领域知识获取。但是,对于小规模 CPT(<10B 代币),或者需要保留指令跟踪功能时,Prod checkpoint 可能更合适,因为它允许域自适应,同时保持模型的对话能力。
CPT 需要多个中间检查点,因为它们提供了不同级别的模型可塑性,从而影响模型吸收新领域知识的效率。最终的 Prod 检查点经过了广泛的指导对齐和安全培训,这对其进行了优化,使其适合一般的对话用途,但使其无法学习新的特定领域模式。换句话说,它已经通过后期训练得到了加强。相比之下,早期的检查点保留了模型的预训练特征,并且没有被大量引导到特定的行为,这使得它们更具可塑性,更容易接受领域适应。
为了实现最佳的训练效率,提供了多个中间检查点。
有哪些检查点可用?
新星 1.0
Amazon Nova 1.0 系列有三种型号(Micro、Lite、Pro),每种型号都有三个检查点可供选择。
-
预训练-[
nova-<micro/lite/pro>/pretraining-text-partial]:这是 Amazon Nova 预训练的恒定学习率阶段之后的检查点,在该阶段中,模型使用数万亿个文本令牌进行训练。 -
MID-TRAINED-[
nova-<micro/lite/pro>/pretraining-text-full]:这是在使用数万亿个文本代币的 Amazon Nova 预训练和中期训练的所有阶段都完成之后,仅限文本的检查点。如果模型特别不应该看到任何多模态数据,请使用这些数据。 -
MID-TRAINED-[
nova-<lite/pro>/pretraining-mm-full]:这是处理了包含数万亿个代币的 Amazon Nova 预训练和中期训练的所有阶段(包括多模态数据)之后的检查点。 -
POST-TRAINED-[
nova-<micro/lite/pro>/prod]:这是模型经过所有训练前和训练后步骤的完全对齐的最终检查点。
新星 2.0
有三个 Amazon Nova Lite 2.0 检查点。
-
预训练-[
nova-lite-2/pretraining-text-RD]:这是在 Amazon Nova 预训练的恒定学习率和向下阶段之后的检查点,在该阶段中,模型使用数万亿个代币进行训练。 -
MID-TRAINED-[
nova-lite-2/pretraining-text-CE]:此检查点允许以比预训练更保守的学习率引入中等数量的非结构化数据,吸收特定领域的知识,同时避免灾难性的遗忘。 -
POST-TRAINED-[
nova-lite-2/prod]:这是模型经过所有相关步骤和训练后步骤的完全对齐的最终检查点。
下表详细说明了训练前和中期训练的不同条件。
数据类型 |
执行 |
使用检查点 |
|---|---|---|
大规模的非结构化原始域数据(文档、日志、文章、代码等) |
继续预训练 |
预训练 |
大规模的非结构化原始域数据(文档、日志、文章、代码等) |
训练中期 |
预训练 |
减少非结构化原始数据量。结构化推理轨迹/CoT 数据 |
训练中期 |
中等训练 |
结构化演示(高质量的输入输出对、精心策划的任务说明、多回合对话) |
全面微调 |
中等训练 |
结构化演示(高质量的输入输出对、精心策划的任务说明、多回合对话) |
参数高效微调 |
训练后 |
使用哪个检查点?
仅限部分预训练的文本和完全预训练的文本检查点通常收敛得更快,并且需要更少的训练步骤来适应域。但是,他们没有调整指令,需要经过培训后的步骤才能执行有用的任务并按照说明进行操作。GA checkpoint 可能需要更多步骤来适应,但为小规模实验提供了更安全的起点,即使在 CPT 训练之后,它也能保持其中的一些训练后能力。
通常,对于大型训练数据集(>10B 个标记),从仅部分预训练的文本或完全预训练的文本检查点开始,以提高训练的效率和稳定性,因为模型的知识库将被大幅修改。对于小型数据集(<10B 令牌),使用 GA 检查点在适应域的同时保留指令跟踪功能。
如何在 1.0 或 2.0 模型中使用数据混合?
使用新的域数据执行 CPT 时,将新数据与之前在模型预训练阶段使用的一些数据混合非常有益。将旧数据与新域数据混合可以解决两个问题:
-
忘记控制:通过保留模型的现有技能和知识来防止灾难性的遗忘。如果不进行数据混合,则仅在窄域数据上训练会导致模型覆盖常规功能。例如,仅在法律文件上训练的模型可能会失去编码或进行数学运算的能力。混合通用域数据集可以在获取新域时保留这些常规技能。
-
优化稳定性:通过锚定模型的内部表示来保持训练的稳定性。在CPT期间,模型的学习特征会被修改,数据混合提供了来自不同来源的梯度,可以顺利地指导这种适应。没有它,在窄分布上训练可能会导致梯度不稳定,即模型的表示变化过大,从而导致训练分歧、损失峰值或现有能力崩溃。这就是稳定性与可塑性的权衡:模型应该足够可塑性以学习新的领域知识,但又要足够稳定,不会破坏它已经知道的知识。
Nova CPT 数据混合功能
访问Amazon Nova预训练数据和检查点是Amazon Nova CPT定制的核心产品之一。Amazon Nova CPT 自定义功能可以轻松地将域名数据与 Amazon Nova 的预训练语料库混合在一起。此外,可以更改特定 Amazon Nova 数据类别(例如代码、数学、推理等)的采样率,并控制其比例以补充域数据。这允许在使模型适应特定领域的同时,增强与用例一致的功能。
寻找最佳混合比
Amazon Nova 数据与域名数据的最佳比例取决于数据集的域、复杂性、大小、质量以及保持一般功能的重要性。这个比例必须通过实验来发现。决定混合多少 Amazon Nova 数据的实验框架如下。
选择域数据的代表性子集(例如 50B 代币),并在所有实验运行中保持该子集不变。
运行小规模 CPT 实验,只改变混合在 Amazon Nova 中的数据量:
-
不混合:100% 域名 → 仅限 50B 域名(总计 50B)
-
轻度混合:90% 域名 → 50B 域名 + 约 0.56B Amazon Nova(总计约 55.6B)
-
中等混合:70% 域名 → 50B 个域名 + 约 21.4 亿个 Amazon Nova(总共约 714 亿)
-
大量混合:50% 域名 → 50B 域名 + 50B Amazon Nova(总计 100B)
评估域内和一般域基准测试中的每个检查点。还要评估起始检查点(任何训练之前的 Amazon Nova 检查点)。
-
客户域性能在运行期间是否大致保持不变? 通常应该如此,因为每次运行都会看到相同数量的域令牌。如果域名性能随着更多混音而得到改善,那么 Amazon Nova 数据可以提供有用的正则化。
-
随着混音量的增加,一般基准测试分数会提高吗?
-
预期的行为是,随着更多的 Amazon Nova 数据的添加,一般功能应该会单调地改进。
-
测量多个通用基准:MMLU(常识)、 HumanEval (编码)、 GSM8 K(数学)或感兴趣的特定基准。
-
-
选择能够保持域性能的混合比例,同时为用例提供可接受的通用功能。通过更多数据混合将额外训练成本考虑在内。
确定最佳混合比后,使用具有所选混合比的完整域数据集运行全面的 CPT。
限制
当前 CPT 仅支持文本数据,不支持任何客户多模态数据集。