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

微调facebook/bart-large-mnli生成超大模型包的问题求助

问题背景

按照指定方式准备了MNLI格式的文本分类微调数据,使用AWS SageMaker的HuggingFace Estimator调用官方run_glue.py脚本微调facebook/bart-large-mnli模型。训练完成后生成的model.tar.gz体积高达158GB,上传至S3耗时超过5小时。尝试添加save_strategy="no"、save_total_limit=1、load_best_model_at_end=True参数后,问题仍未解决。

有效解决方案

以下是针对该问题的具体解决措施:

1. 精准控制模型保存策略,只保留必要文件

run_glue.py默认会保存完整的训练状态(包括优化器、调度器参数等),这些文件会大幅增加包体积。通过以下参数调整:

  • 设置save_only_model=True:仅保存模型权重文件,不保存训练状态相关的冗余文件,这是减少体积最有效的手段之一;
  • 配合save_strategy="epoch"和save_total_limit=1:仅保留最新一轮epoch的模型checkpoint,避免累积多个历史checkpoint;
  • 若不需要评估后加载最佳模型,需将load_best_model_at_end设为False(开启该选项会强制保存中间checkpoint用于评估,无法避免额外文件)。

修改后的超参数示例:

hyperparameters={
    'do_train' : True,
    'do_eval' : True,
    'model_name': 'facebook/bart-large-mnli',
    'task_name': 'mnli',
    'output_dir': '/opt/ml/model',
    'overwrite_output_dir' : True,
    'save_strategy': "epoch",
    'save_total_limit': 1,
    'save_only_model': True,
    'load_best_model_at_end': False
}

2. 关闭不必要的评估与日志文件生成

训练过程中生成的评估预测结果、详细日志也会占用大量空间,可通过以下参数关闭或精简:

  • 添加predict_with_generate=False:避免生成大体积的预测结果文件;
  • 设置logging_strategy="no"或logging_steps=10000(远大于训练步数):减少日志文件的生成量;
  • 若不需要评估,可直接设置do_eval=False和evaluation_strategy="no"。

3. 启用混合精度训练压缩模型体积

开启混合精度训练(FP16),将模型权重从FP32转为FP16,直接将模型体积减半:

hyperparameters={
    # 其他参数...
    'fp16': True
}

4. 自定义脚本简化保存逻辑

若官方run_glue.py的保存逻辑仍不符合需求,可自定义训练脚本,仅在训练结束时调用model.save_pretrained(output_dir)保存模型核心文件,完全跳过训练状态、中间checkpoint的保存步骤。

5. 检查并清理输出目录冗余文件

确保/opt/ml/model目录下仅包含模型相关文件:

  • 确认overwrite_output_dir=True已生效,避免残留上一次训练的文件;
  • 避免在训练过程中将数据缓存、临时文件写入输出目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:43:13