附录 B 命令速查表


附录 B 命令速查表

按场景分类的常用命令一览,方便随时查阅。所有命令在项目根目录下执行。

B.1 环境与安装

# 创建虚拟环境 python -m venv .venv # 激活(Windows) .venv\Scripts\activate # 激活(Linux / macOS) source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 验证安装 python -c "import torch,transformers,tiktoken; print('OK')" ​

B.2 训练命令

基础训练

# 默认配置训练(教师=gpt2,学生=2L/4H/256D,5000 步) python train.py ​

极小配置冒烟测试

# 快速验证环境是否打通(只跑几步) python train.py --block-size 32 --batch-size 4 --max-iters 5 \ --warmup-iters 1 --log-iter 1 --save-iter 5 ​

调整蒸馏超参

# 改温度 python train.py --temperature 4.0 # 改硬标签权重 python train.py --alpha 0.3 # 同时改温度和权重 python train.py --temperature 4.0 --alpha 0.3 ​

调整学生规模

# 更大的学生(约 30M 参数) python train.py --student-n-layer 4 --student-n-embd 512 --student-n-head 8 # 更小的学生(约 3M 参数) python train.py --student-n-layer 1 --student-n-embd 128 --student-n-head 2 # 换更大的教师 python train.py --teacher-name gpt2-medium ​

启用教师缓存

# 预跑教师并缓存(适合长训练) python train.py --cache-teacher ​

断点续训

# 从指定 checkpoint 继续 python train.py --resume checkpoints/student_step1000.pt ​

调整训练流程

# 改学习率与步数 python train.py --learning-rate 1e-4 --max-iters 10000 # 改批大小与上下文长度 python train.py --batch-size 16 --block-size 256 # CPU 强制 python train.py --device cpu ​

B.3 评估命令

# 评估默认最终学生 python eval.py # 评估指定 checkpoint python eval.py --checkpoint checkpoints/student_step3000.pt # 指定报告保存路径(便于多次实验对比) python eval.py --report results/T4_alpha03.json # 指定设备 python eval.py --device cpu ​

B.4 推理命令

单次生成

# 基础生成 python inference.py --prompt "ROMEO:" # 控制生成长度与采样 python inference.py --prompt "To be, or" \ --max-new-tokens 200 \ --temperature 0.8 \ --top-k 40 ​

交互模式

# 不传 prompt,进入交互(输入 quit 退出) python inference.py # 指定 checkpoint python inference.py --checkpoint checkpoints/student_final.pt ​

不同采样策略

# 近贪心(确定、保守) python inference.py --prompt "ROMEO:" --temperature 0.01 --top-k 1 # 高随机(多样、可能不连贯) python inference.py --prompt "ROMEO:" --temperature 1.2 --top-k 100 ​

B.5 实验对比工作流

一组完整的调参对比实验:

# 1. 跑基线(纯硬标签) python train.py --alpha 1.0 --max-iters 3000 python eval.py --report results/baseline.json # 2. 跑蒸馏组(不同温度) python train.py --temperature 2.0 --alpha 0.5 --max-iters 3000 python eval.py --report results/T2.json python train.py --temperature 4.0 --alpha 0.5 --max-iters 3000 python eval.py --report results/T4.json python train.py --temperature 8.0 --alpha 0.5 --max-iters 3000 python eval.py --report results/T8.json # 3. 汇总 results/ 下所有 JSON 做对比 ​

B.6 命令行参数全表

训练参数

参数 类型 默认 说明
--batch-size int 32 批大小
--learning-rate float 3e-4 学习率
--max-iters int 5000 总训练步数
--warmup-iters int 100 预热步数
--save-iter int 500 每 N 步存 checkpoint
--log-iter int 10 每 N 步打印日志
--eval-iter int 1000 每 N 步做验证评估
--num-workers int 0 DataLoader 进程数
--device str auto 设备
--seed int 42 随机种子
--resume str - 续训 checkpoint 路径

模型参数

参数 类型 默认 说明
--teacher-name str gpt2 教师模型名
--student-n-layer int 2 学生层数
--student-n-head int 4 学生头数
--student-n-embd int 256 学生嵌入维度
--block-size int 128 上下文长度
--dropout float 0.1 dropout

蒸馏参数

参数 类型 默认 说明
--temperature float 2.0 蒸馏温度 T
--alpha float 0.5 硬标签权重
--cache-teacher flag False 启用教师缓存

评估参数

参数 类型 默认 说明
--checkpoint str student_final.pt 学生权重路径
--report str eval_report.json 报告保存路径
--eval-ratio float 0.1 验证集比例

推理参数

参数 类型 默认 说明
--checkpoint str student_final.pt 学生权重路径
--prompt str - 提示文本(不填进交互模式)
--max-new-tokens int 100 生成 token 数
--temperature float 0.8 采样温度
--top-k int 40 top-k 截断

更多报错排查请参考《附录 C 常见问题》。

作者与出处
原作者:青阳子007的小龙虾
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 青阳子007的小龙虾 转发
评论区 (0)
U