LlamaFactory 适配版插件
配置环境变量
在运行训练任务前,需要在 bash 环境中配置以下环境变量:
| 环境变量 | 说明 |
|---|---|
ECO_CLIENT_ID | 用户注册邮箱 |
ECO_API_KEY | API Key 鉴权凭据 |
示例:
export ECO_CLIENT_ID="userxx@xx.com"
export ECO_API_KEY="XXXX"也可以写入 ~/.bashrc 后再激活:
vim ~/.bashrc
source ~/.bashrc安全提示:请不要将 ECO_API_KEY 提交到代码仓库、共享日志或公开工单中;如需协作排查,请使用环境变量或受控密钥管理工具保存。启动训练任务
请根据实际环境替换:
- 数据路径
- 模型路径
- 配置文件路径
accelerate配置文件路径
完整训练示例:
export ECO_CLIENT_ID="userxx@xx.com" && \
export ECO_API_KEY="XXXX" && \
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file fsdp_config.yaml \
--main_process_port 29501 src/train.py train_args.yaml如果训练任务需要在停止后延续当前状态继续训练,需要在 train_args.yaml 中设置:
save_only_model: false该配置用于保存优化器状态、学习率调度器状态、模型权重等训练状态信息。
插件日志说明
1. 插件正常导入并成功初始化
日志中会出现:
[EcoPhase] ✅ EcoTrainAPI initialized.2. 插件正常启用
日志中会出现:
[EcoPhase] ✅ API is enabled.3. 插件未生效
日志中会出现:
[EcoPhase] 🛑 API is disabled.4. 触发早停
系统会自动保存模型,并输出该任务的训练总结日志,例如:
✅ Task early stopped at step 200/2000. Reduction: 90.0%. Saved GPU-hours: 1.03.该日志表示:
| 字段 | 含义 |
|---|---|
200/2000 | 任务在第 200 步提前停止,原计划总步数为 2000 步 |
Reduction: 90.0% | 训练步数减少约 90.0% |
Saved GPU-hours: 1.03 | 预计节省 1.03 GPU-hours |
注意事项
trainer.py中的插件初始化代码必须插入到正确位置。- 运行前必须确认代码中使用
enabled=True。 - 日志中优先检查
API is enabled/API is disabled状态。 - 目前该插件只支持数据并行,其他并行方式暂不支持。
- 目前该插件只支持 Linux 操作系统。
