本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
微调 Nova 1.0
先决条件
在开始训练作业之前,请注意具备以下内容:
-
Amazon S3 存储桶,用于存储您的输入数据和训练作业的输出。您可以为这两者使用一个存储桶,也可以为每种类型的数据使用不同的存储桶。确保您的存储桶与您创建所有其他训练资源AWS 区域的地方相同。有关更多信息,请参阅创建通用存储桶。
-
具有运行训练作业权限的 IAM 角色。请务必为 IAM 策略附加
AmazonSageMakerFullAccess。有关更多信息,请参阅如何使用 SageMaker 执行角色。 -
基本 Amazon Nova 配方,请参阅获取 Amazon Nova 配方。
数据准备
准备高质量、格式正确的数据是大型语言模型微调过程中的关键第一步。无论您使用监督式微调(SFT)还是直接偏好优化(DPO),无论是采用全秩还是低秩适应(LoRA)方法,您的数据都必须符合特定的格式要求,以确保成功完成模型训练。本节概述了必要的数据格式、验证方法和最佳实践,有助于您高效地准备数据集来微调 Amazon Nova 模型。
SFT
SFT 数据格式要求——对于全级 SFT 和 LoRa SFT,数据应遵循如下所示的格式。有关此格式的示例和限制,请参阅为微调理解模型准备数据。
SFT 数据验证:要在提交数据集之前验证您的数据集格式,我们建议使用 Amazon Bedrock 示例存储库jsonl 文件符合所需的格式规范,并在提交微调作业之前发现任何潜在的问题。
DPO
DPO 数据格式要求——对于全等级的 DPO 和使用 LoRa 的 DPO,数据都应遵循如下所示的格式。数据集还必须与 SFT 采用相似的格式,唯一的不同是最后一轮需要有偏好对。
DPO 数据集其他限制:数据集的其他限制与 SFT 相同。有关更多信息,请参阅数据集限制。需要一个 JSONL 文件用于训练,一个 JSONL 文件用于验证。验证集是可选的。
DPO 数据集建议:有至少 1000 个偏好对,便于实现高效训练。高质量的偏好数据将带来更有效的结果。
DPO 数据格式示例
// N-1 turns same as SFT format { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "non-preferred" } ] }
DPO 数据格式示例(多轮)
{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }
DPO 数据格式示例(含图片)
{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }
训练作业默认为 1 天的时间限制,但出于说明目的,下表中的估计值假设训练持续时间为 5 天。作为最佳实践,我们建议将训练时间限制延长至最长 28 天,以适应更久的训练工作负载。要请求增加限额,请参阅 Requesting a quota increase。
SFT 数据集限制
| 上下文长度 | 模型 | 方法 | 数据集 | 说明 |
|---|---|---|---|---|
|
32k 上下文长度作业 |
Amazon Nova Micro | 全秩和 LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多只能有 100k 记录。 |
|
Amazon Nova Lite |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 100k 记录。 |
|
| 图像和视频 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 50k 记录。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 100k 记录。 |
||
| 图像和视频 | 如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 90k 记录。 | |||
|
Amazon Nova Pro |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 40k 记录。 |
|
| 图像和视频 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 30k 记录。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 40k 记录。 |
||
| 图像和视频 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 35k 记录。 |
|||
|
64k 上下文长度作业 |
Amazon Nova Micro | 全秩和 LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多只能有 50k 记录。 |
|
Amazon Nova Lite |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 50k 记录。 |
|
|
图像和视频 |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 30k 记录。 |
|||
| LoRA | - |
对于 Nova Lite,LoRA 不支持 64k。 |
||
| Amazon Nova Pro | 全秩和 LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 17k 记录。 |
|
|
图像和视频 |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 15k 记录。 |
DPO 数据集限制
| 上下文长度 | 模型 | 方法 | 数据集 | 说明 |
|---|---|---|---|---|
|
16k 上下文长度作业 |
Amazon Nova Micro | 全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多只能有 120k 记录。 |
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多只能有 125k 记录。 |
||
|
Amazon Nova Lite |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多可以有 130k 记录。 |
|
|
Image |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则您可以在 2 天内完成 20k 样本。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多可以有 140k 记录。 |
||
|
Image |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则您可以在 2 天内完成 20k 样本。 |
|||
|
Amazon Nova Pro |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多可以有 45k 记录。 |
|
|
Image |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则您可以在 4 天内完成 20k 样本。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则最多可以有 55k 记录。 |
||
|
Image |
如果您使用的数据集所有记录的上下文长度均为 16k,例如,运行 5 个 epoch,则您可以在 4 天内完成 20k 样本。 |
|||
|
32k 上下文长度作业 |
Amazon Nova Micro | 全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多只能有 45k 记录。 |
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多只能有 50k 记录。 |
||
|
Amazon Nova Lite |
全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 55k 记录。 |
|
| Image |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 35k 记录。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 60k 记录。 |
||
| Image |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 35k 记录。 |
|||
| Amazon Nova Pro | 全秩 | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 20k 记录。 |
|
| Image |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 16k 记录。 |
|||
| LoRA | 仅文本 |
如果您使用的数据集所有记录的上下文长度均为 32k,例如,运行 5 个 epoch,则最多可以有 22k 记录。 |
||
| Image |
如果您使用的数据集所有记录的上下文长度均为 64k,例如,运行 5 个 epoch,则最多可以有 18k 记录。 |
通过减少 epoch 数量或者记录上下文长度,您可以提供更多记录。
全秩 SFT 和 LoRA PEFT 配置
本节介绍了有关全秩监督式微调(SFT)和低秩适应参数高效微调(LoRA PEFT)方法的配方配置指南。这些配方文件可以作为模型自定义作业的蓝图,让您指定训练参数、超参数以及其他关键设置,来确定模型如何学习数据。要调整超参数,请遵循选择超参数中的指导。
微调配置(全秩 SFT 和 LoRA PEFT)
就配方而言,全秩 SFT 和 LoRA PEFT 之间的唯一区别是 LoRA PEFT 配置,对于全秩,配置设置为“null”,而如果使用基于 LoRA PEFT 的微调,则设置为适当的值。示例食谱可在食SageMaker HyperPod 谱
关于“运行”配置。
| Key | 定义 | Micro | Lite | 专业 | |
|---|---|---|---|---|---|
| 运行配置 | model_type |
指定要使用的 Nova 模型变体。请勿修改此字段。 |
“亚马逊。 nova-micro-v1:0:128 k” |
“亚马逊。 nova-lite-v1:0:300 k” |
“亚马逊。 nova-pro-v1:0:300 k” |
| model_name_or_path |
基本模型的路径。 |
"nova-micro/prod" |
"nova-lite/prod" |
"nova-pro/prod" |
|
| replicas |
要在分布式训练中使用的计算实例数。 |
2、4 或 8 |
4、8 或 16 |
6、12 或 24 |
关于“training_config”配置。
| 根密钥 | 子密钥 | 定义 | 最小值 | 最大值 | |
|---|---|---|---|---|---|
| max_length |
以词元为单位的最大序列长度。这决定了训练的上下文窗口大小。可调至最接近的 1024 倍数,最大值:65536(对于 Lite Lora 则为 32768)。 |
1024 |
65536,但 Lite LoRA 除外,其支持 32768。 | ||
| global_batch_size |
每一步的样本总数,支持的值包括 16、32、64。最大值:对于 Nova Pro 为 32,对于 Nova Lite 和 Micro 则为 64。 |
16 | 对于 Nova Pro 为 32,对于 Nova Lite 和 Micro 则为 64。 | ||
| 训练器配置 | trainer | max_epochs |
遍历训练数据集的次数。对于大多数自定义任务,1-5 个 epoch 通常就足够了。建议保持最多 5 个。 |
1 | - |
| 模型配置 | 模型 | hidden_dropout |
丢弃隐藏状态输出的概率。增加该值(0.0 到 0.2)以减少对较小数据集的过拟合。限制范围在 0 到 1 之间。 |
0 | 1 |
| 模型 | attention_dropout |
丢弃注意力权重的概率。该值有助于泛化。限制范围在 0 到 1 之间。 |
0 | 1 | |
| 模型 | ffn_dropout |
丢弃前馈网络输出的概率。限制范围在 0 到 1 之间。 |
0 | 1 | |
| 优化器配置 | model.optim | lr |
学习率,控制优化期间的步长。限制范围在 0 和 1 之间。为了获得良好的性能,通常设置在 1e-6 和 1e-4 之间。 |
0 | 1 |
| model.optim | name |
优化算法。目前仅支持 |
- | - | |
| model.optim | adam_w_mode |
启用 AdamW 模式(true/false)。 |
- | - | |
| model.optim | eps |
用于数值稳定性的 Epsilon。 |
|||
| model.optim | weight_decay |
L2 正则化强度,必须介于 0.0 和 1.0 之间。 |
0 | 1 | |
| model.optim | betas |
Adam 优化器测试版,必须介于 0.0 到 1.0 之间。 |
0 | 1 | |
| model.optim | sched_warmup_steps |
逐步提高学习率的步数。这可以提高训练稳定性。介于 1 和 20 之间。 |
1 | 20 | |
| model.optim | sched_constant_steps |
恒定学习率的步数。 |
1.00E-10 | 1.00E-06 | |
| model.optim | sched.min_lr |
衰减结束时的最低学习率。限制范围必须介于 0 到 1 之间,但必须小于学习率。 |
0 | 1 | |
|
LoRA PEFT 配置 |
model.peft | peft_scheme |
使用“lora”或“null”。“lora”使用 LoRA PEFT 方法进行参数高效的微调。“null”则启动全秩微调。 |
- | - |
| model.peft | lora_tuning.loraplus_lr_ratio |
LoRA+ 学习率缩放系数,必须介于 0.0 到 100.0 之间。 |
0 | 100 | |
| model.peft | lora_tuning.alpha |
LoRA 权重的缩放系数。支持的值有 32、64、96、128、160 和 192。 |
32 | 192 | |
| model.peft | lora_tuning.adapter_dropout |
LoRA 参数的正则化。必须介于 0.0 到 1.0 之间。 |
0 | 1 |
微调特定配置(DPO)
与LoRa PEFT和 FullRank SFT相比,直接偏好优化(DPO)的唯一区别在于dpo_cfg配置和允许值。有关特别支持用于 DPO 的示例,请参阅下表。示例食谱可在食SageMaker HyperPod 谱
| 根密钥 | 子密钥 | 定义 | 最小值 | 最大值 | |
|---|---|---|---|---|---|
| max_length | 以词元为单位的最大序列长度。这决定了训练的上下文窗口大小。可调至最接近的 1024 倍数,最大值:32768。 |
1024 |
32768 |
||
| global_batch_size |
全局批量大小,支持的值有 {16、32、64、128、256}。 |
16 | 256 | ||
| 训练器配置 | trainer | max_epochs |
遍历训练数据集的次数。对于大多数自定义任务,1-5 个 epoch 通常就足够了。最大 epoch 数为 5 个。 |
1 | 5 |
| 模型配置 | 模型 | hidden_dropout |
丢弃隐藏状态输出的概率。增加该值(0.0 到 0.2)以减少对较小数据集的过拟合。限制范围在 0 到 1 之间。 |
0 | 1 |
| 模型 | attention_dropout |
丢弃注意力权重的概率。该值有助于泛化。限制范围在 0 到 1 之间。 |
0 | 1 | |
| 模型 | ffn_dropout |
丢弃前馈网络输出的概率。限制范围在 0 到 1 之间。 |
0 | 1 | |
| 优化器配置 | model.optim | lr |
学习率,控制优化期间的步长。限制范围在 0 和 1 之间。为了获得良好的性能,通常设置在 1e-6 和 1e-4 之间。 |
0 | 1 |
| model.optim | name |
优化算法。目前仅支持 |
- | - | |
| model.optim | adam_w_mode |
启用 AdamW 模式(true/false)。 |
- | - | |
| model.optim | eps |
用于数值稳定性的 Epsilon。 |
1.00E-10 | 1.00E-06 | |
| model.optim | weight_decay |
L2 正则化强度,必须介于 0.0 和 1.0 之间。 |
0 | 1 | |
| model.optim | betas |
Adam 优化器测试版,必须介于 0.0 到 1.0 之间。 |
0 | 1 | |
| model.optim | sched_warmup_steps |
逐步提高学习率的步数。这可以提高训练稳定性。介于 1 和 20 之间。 |
1 | 20 | |
| model.optim | sched_constant_steps |
恒定学习率的步数。 |
|||
| model.optim | sched.min_lr |
衰减结束时的最低学习率。限制范围必须介于 0 到 1 之间,但必须小于学习率。 |
0 | 1 | |
|
LoRA PEFT 配置 |
model.peft | peft_scheme |
使用“lora”或“null”。“lora”使用 LoRA PEFT 方法进行参数高效的微调。“null”则启动全秩微调。 |
- | - |
| model.peft | lora_tuning.loraplus_lr_ratio |
LoRA+ 学习率缩放系数,必须介于 0.0 到 100.0 之间。 |
0 | 100 | |
| model.peft | lora_tuning.alpha |
LoRA 权重的缩放系数。支持的值有 32、64、96、128、160 和 192。 |
32 | 192 | |
| model.peft | lora_tuning.adapter_dropout |
LoRA 参数的正则化。必须介于 0.0 和 1.0 之间。 |
0 | 1 | |
| DPO 配置 | model-dpo_cfg | beta |
偏好执行的力度。 |
0.001 | 0.1 |
在 SageMaker 训练作业中运行定制的 Nova 模型
本节演示如何通过 Jupyter 笔记本环境在 SageMaker 训练作业中运行自定义的 Nova 模型。您将找到一个完整的示例,该示例介绍了配置和启动训练作业的过程,以及用于选择相应容器镜像 URIs 和实例配置的参考表。这种方法使您可以对微调工作流程进行编程控制,同时利用 SageMaker托管基础设施进行模型自定义。有关更多信息,请参阅使用 A SageMaker I 估算器运行训练作业。
参考表
在运行示例笔记本之前,请参阅下表以选择相应的容器映像 URIs 和实例配置。
选择映像 URI
| 指南 | 映像 URI |
|---|---|
|
SFT 映像 URI |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-latest |
|
DPO 映像 URI |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-DPO-latest |
选择实例类型和计数
| 模型 | 作业类型 | 实例类型 | 推荐的实例计数 | 支持的实例计数 |
|---|---|---|---|---|
| Amazon Nova Micro | 微调(SFT/DPO、LoRa) | g5.12xlarge, g6.12xlarge, g5.48xlarge,
g6.48xlarge |
1 | 1 |
| Amazon Nova Micro | 微调(SFT、FFT) |
g5.48xlarge, g6.48xlarge |
1 | 1 |
| Amazon Nova Lite | 微调(SFT、LoRA) |
g5.12xlarge, g6.12xlarge, g5.48xlarge,
g6.48xlarge |
1 | 1 |
| Amazon Nova Lite | 微调(DPO、LoRa) |
g5.48xlarge, g6.48xlarge |
1 | 1 |
| Amazon Nova Micro | 微调 (SFT) |
p5.48xlarge, p5en.48xlarge |
2 | 1,2,4,8 |
| Amazon Nova Lite | 微调 (SFT) |
p5.48xlarge, p5en.48xlarge |
4 | 2,4,8,16 |
| Amazon Nova Pro | 微调 (SFT) |
p5.48xlarge, p5en.48xlarge |
6 | 3,6,12,24 |
| Amazon Nova Micro | 微调 (DPO) |
p5.48xlarge, p5en.48xlarge |
2 | 2,4,8 |
| Amazon Nova Lite | 微调 (DPO) |
p5.48xlarge, p5en.48xlarge |
4 | 4,8,16 |
| Amazon Nova Pro | 微调 (DPO) |
p5.48xlarge, p5en.48xlarge |
6 | 6,12,24 |
示例笔记本
以下示例笔记本演示了如何运行训练作业。有关如何使用 SageMaker AI 训练作业自定义 Nova 模型的其他入门笔记本,请参阅使用 SageMaker AI 估算器运行训练作业。
# 1. Install dependencies !pip install sagemaker==2.254.1 # 2. Import dependencies and initialize sagemaker session import sagemaker,boto3 sm = boto3.client('sagemaker', region_name='us-east-1') sagemaker_session = sagemaker.session.Session(boto_session=boto3.session.Session(), sagemaker_client=sm) # 3. Configure your job # Define the core configuration for launching a SageMaker Training Job. This includes input/output S3 URIs, container image, hardware setup, and other runtime parameters. Update the placeholders below before submitting the job. job_name = "<Your Job Name>" input_s3_uri = "<S3 path to input data>" validation_s3_uri = "<S3 path to validation data>" # optional, leave blank if no validation data output_s3_uri = "<S3 path to output location>" image_uri = "<Image URI from documentation>" # you can choose the image for SFT/DPO instance_type = "ml.p5.48xlarge" # do not change instance_count = <Integer number of hosts> # change hosts as needed. Refer to documentation for allowed values based on model type. role_arn = "<IAM Role you want to use to run the job>" recipe_path = "<Local path to the recipe file>" # 4. Launch SageMaker Training Job # This block sets up and runs the SageMaker training job using the PyTorch estimator. It configures the training image, hardware, input channels, and TensorBoard integration. Validation data is included if provided. from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch from sagemaker.inputs import TrainingInput tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=output_s3_uri, ) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role_arn, instance_count=instance_count, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri=image_uri, tensorboard_output_config=tensorboard_output_config, # Add the setting for using TensorBoard. disable_profiler=True, debugger_hook_config=False ) trainingInput = TrainingInput( s3_data=input_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) if (validation_s3_uri): validationInput = TrainingInput( s3_data=validation_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) estimator.fit(inputs={"train": trainingInput, "validation": validationInput}) # inputs must be called "train" and "validation", do not change else: estimator.fit(inputs={"train": trainingInput})
超参数优化指南
要有效地微调 Nova LLM 模型,需要谨慎地选择超参数。虽然本节介绍了基本的配方结构和组成部分,但针对您的特定使用案例优化超参数通常需要额外的指导。有关超参数选择、最佳实践和优化策略的全面建议,请参阅选择超参数。本资源提供了详细的指导,协助您根据数据集特征和训练目标选择相应的学习率、批量大小、训练 epoch 以及其他关键参数。我们建议您参阅本指南来微调配方配置以实现最佳模型性能。
有关 epoch 的最小值、最大值和默认值,学习率以及学习预热步数的详细信息,请参阅理解模型适用的超参数。
常见配方修改
下面是一些基于特定使用案例的常见配方调整:
-
对于较小的数据集(小于 1000 个示例)
training_config: max_epochs: 2 # More passes through a smaller dataset model: hidden_dropout: 0.1 # Increase regularization weight_decay: 0.01 # Increase regularization
-
对于计算有限的效率
peft: peft_scheme: "lora" lora_tuning:
-
对于复杂的指令调整
optim: lr: 5e-6 # Lower learning rate for more stable learning sched: warmup_steps: 100 # Longer warmup for stability