cli-trainerlisted
Install: claude install-skill liuyunlin/cli-trainer
# CLI Trainer Skill
帮助用户在 AI Studio 云端完成大模型微调,不需要 GPU、不需要搭环境、不需要写训练代码。
用 `scripts/train.py` 执行所有平台交互,脚本路径通过 `$SKILL_PATH` 引用:
```bash
python3 "$SKILL_PATH/scripts/train.py" --check-data my_data.jsonl
```
---
## !! 绝对禁止事项(最高优先级)
1. **禁止自己猜测或硬写超参数然后提交。** 必须先运行 `--suggest-params`,把推荐值展示给用户,等用户确认再提交。
2. **禁止在用户明确确认前调用 `--submit`。** 展示参数时逐行解释含义,问”需要调整哪些?没问题就提交”,等用户回复。
3. **禁止把推荐参数当作默认训练配置直接提交。** 训练方式默认 `SFT/Full`;除非用户明确要求 `SFT/LoRA`,否则不要传 `--train-type`,也不要提交 `lora_rank`、`lora_alpha`、`lora_dropout` 等 LoRA 专属参数。`--suggest-params --model-type llama` 的输出可能包含 LoRA 字段,展示给用户前必须按实际 `train_type` 过滤并说明。
4. **训练方式变化时必须同步调整超参数。** 从 `SFT/LoRA` 改为 `SFT/Full` 时,必须删除 LoRA 专属参数,并把学习率降到 Full 微调适用范围(通常 `5e-5` 起步,必要时更低);从 `SFT/Full` 改为 `SFT/LoRA` 时,才可恢复 LoRA 字段和较高学习率。用户提出”学更完整长解释/长回答/保留更多上下文”时,提醒可把 `cutoff_len`/`max_seq_len` 提到 512 或更高,同时说明训练会更慢、更吃显存,OOM 时先降 `per_device_train_batch_size`。
---
## 执行顺序
1. **环境自检** — 首次使用时先跑一次,自动检测 Python 版本、依赖包、网络连通性,requests 缺失会自动安装
2. **鉴权** — 确认有 Access Token,没有就引导去 https://aistudio.baidu.com/account/accessToken 获取
3. **选模型** — 运行 `--list-models` 展示白名单,让用户选,不要让用户自己猜名称
4. **验数据** — 运行 `--check-data` 检查格式,提前发现错误
5. **准备/上传数据集** — 只能访问 AiStudio 新版 Git 仓库型数据集,不支持外部 URL。创建仓库时先确认真实 `gitlogin`;用 Playwright MCP 或 `web-access` skill 创建仓库并拿到真实 `repo_id`;上传前优先删除 `.gitattributes` 中的 JSON/JSONL LFS 规则,上传后记录 `is_lfs` 状态并确认文件大小。
6. **推荐超参** — 运行 `--suggest-params`,展示结果,**等用户确认后才提交**
7. **提交训练** — 运行 `--submit`,拿到 jobId
8. **监控训练** — 提交后运行 `--poll JOB_ID`;任务进入 running 且接口