You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Trainer训练模型:训练日志缺失及预测模型版本疑问

Trainer训练模型相关问题解答

1. 第0-5轮无训练损失日志的原因及配置方法

这是Trainer默认日志策略导致的。TrainingArguments里的logging_steps参数控制训练损失的记录频率,默认值通常是500步(或按总步数自动调整),前5轮的训练步数没达到这个阈值,所以没输出训练损失日志。

要让每轮都显示训练损失,初始化TrainingArguments时做以下设置:

  • 设logging_strategy="epoch",每轮结束后自动记录训练损失;
  • 或者调小logging_steps(比如设为1),实现更频繁的日志记录。

示例代码:

from transformers import TrainingArguments

training_args = TrainingArguments(
    output_dir="./results",
    logging_strategy="epoch",
    # logging_steps=1, 可选,按需开启
    # 其他训练参数...
)

2. predict调用的模型checkpoint说明

默认情况下,Trainer.predict()会使用训练最后一轮(第8轮)的模型。

如果要调用第5轮(最高准确率)的模型,需要在TrainingArguments里配置:

  • save_strategy="epoch":每轮结束后保存一个模型checkpoint;
  • load_best_model_at_end=True + metric_for_best_model="accuracy":训练结束后自动加载验证集准确率最高的模型。

配置完成后,训练结束时Trainer会自动切换到第5轮的模型,此时调用predict就会用这个最佳模型。

内容的提问来源于stack exchange,提问作者user3668129

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:39:40