LlamaFactory 适配版插件
配置流程
在运行训练任务前,需要在 bash 环境中配置以下环境变量:
| 环境变量 | 说明 |
|---|---|
ECO_GRPC_ADDR | 服务端地址 |
ECO_CLIENT_ID | 用户唯一标识 [ ID ] |
ECO_API_KEY | 接口鉴权信息 [ PASSWORD ] |
ECO_TLS_ROOT_CA | TLS 根证书路径 |
示例:
- 添加环境变量至 .bashrc
vim ~/.bashrcexport ECO_GRPC_ADDR="121.41.XXX.XX:80"
export ECO_CLIENT_ID="User_XX"
export ECO_API_KEY="XXXX"
export ECO_TLS_ROOT_CA="xx/rootCA.pem"- 激活
source ~/.bashrc- 启动 LlaMA Factory 服务
cd /root/LlamaFactory
source ../miniconda3/bin/activate
配置使用示例
请根据实际环境替换:
- 服务端地址
- 证书路径
- 数据路径
- 模型路径
- 配置文件路径
示例命令:
export ECO_GRPC_ADDR="121.41.XXX.XX:80" && \
export ECO_CLIENT_ID="User_XX" && \
export ECO_API_KEY="XXXX" && \
export ECO_TLS_ROOT_CA="/root/rootCA.pem" && \
CUDA_VISIBLE_DEVICES=0,1 accelerate launch --config_file fsdp_config.yaml \
--main_process_port 29501 src/train.py emotion_rec_sft_full_eco.yaml插件日志说明
(1) 插件正常导入并成功初始化
日志中会出现:
[EcoPhase] ✅ EcoMonitor 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- 目前该插件只支持数据并行,其他并行方式暂不支持。
