在微调大模型时,有一个参数save_strategy,用于保存模型方式的选择,代码如下:

training_args = SFTConfig(
    # gradient_checkpointing=True,  # 启用梯度检查点以降低显存
    # gradient_checkpointing_kwargs={'use_reentrant': False},
    per_device_train_batch_size=4,
    learning_rate=1e-5,
    gradient_accumulation_steps=1,
    bf16=True,
    save_strategy='epoch',
    num_train_epochs=10,
    log_level='debug',
    output_dir="model_output",
    max_length=8192,  # 在这里设置序列长度
)

底层代码给的解释如下:

 save_strategy (`str` or [`~trainer_utils.SaveStrategy`], *optional*, defaults to `"steps"`):
            The checkpoint save strategy to adopt during training. Possible values are:

                - `"no"`: No save is done during training.
                - `"epoch"`: Save is done at the end of each epoch.
                - `"steps"`: Save is done every `save_steps`.
                - `"best"`: Save is done whenever a new `best_metric` is achieved.

                If `"epoch"` or `"steps"` is chosen, saving will also be performed at the
                very end of training, always.

有4个取值:

no:训练期间不进行保存

epoch:每一个epoch结束时进行保存

steps:每“save_steps”步进行一次保存

best:每当达到新的“best_metrics”(最佳指标)时进行保存

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐