附录 B 命令速查表


文档摘要

附录 B 命令速查表 按场景分类的常用命令一览,方便随时查阅。所有命令在项目根目录下执行。 B.1 环境与安装 B.2 训练命令 基础训练 极小配置冒烟测试 调整蒸馏超参 调整学生规模 启用教师缓存 断点续训 调整训练流程 B.3 评估命令 B.4 推理命令 单次生成 交互模式 不同采样策略 B.5 实验对比工作流 一组完整的调参对比实验: B.6 命令行参数全表 训练参数 参数 | 类型 | 默认 | 说明 | int | 32 | 批大小 | float | 3e-4 | 学习率 | int | 5000 | 总训练步数 | int | 100 | 预热步数 | int | 500 | 每 N 步存 checkpoint | int | 10 | 每 N 步打印日志 | int |

附录 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 常见问题》。


发布者: 作者: 转发
评论区 (0)
U