附录 A 术语表 按字母顺序排列的知识蒸馏与深度学习术语速查。每条给出简明定义与本项目中的关联。 A 部分 AdamW 带权重衰减的 Adam 优化器变体。本项目用它优化学生模型,配合余弦退火调度学习率。 alpha(α,硬标签权重) 蒸馏总损失中硬标签交叉熵的权重,取值 01。 退化为普通训练, 为纯蒸馏。 attention(注意力) Transformer 的核心机制,让模型在每个位置关注序列中的其他位置。本项目复用 GPT2 的实现,不手写。 B 部分 blocksize(上下文长度) 模型一次能看到的最大 token 数。本项目默认 128,影响显存与长程依赖能力。
按字母顺序排列的知识蒸馏与深度学习术语速查。每条给出简明定义与本项目中的关联。
带权重衰减的 Adam 优化器变体。本项目用它优化学生模型,配合余弦退火调度学习率。
蒸馏总损失中硬标签交叉熵的权重,取值 0~1。α=1 退化为普通训练,α=0 为纯蒸馏。
Transformer 的核心机制,让模型在每个位置关注序列中的其他位置。本项目复用 GPT2 的实现,不手写。
模型一次能看到的最大 token 数。本项目默认 128,影响显存与长程依赖能力。
tiktoken 使用的子词分词算法,高频词整体编码、低频词拆成子词,平衡词表大小与覆盖率。
只看左侧上下文预测下一个 token 的语言模型,GPT2 即属此类。区别于掩码语言模型(MLM)。
训练过程中保存的模型快照,含权重、优化器状态、配置等。本项目支持断点续训。
分类/语言建模的标准损失,衡量预测分布与真实标签的差异。蒸馏的硬标签项即 CE。
Python 标准库装饰器,自动生成 __init__ 等。本项目用它定义配置类。
Hinton 提出的概念,指教师软标签中次优选项的相对关系,是蒸馏提供额外监督信号的核心。
用大模型(教师)指导小模型(学生)训练的技术,目标是压缩与加速。
经典蒸馏实践,把 BERT-base 蒸馏到 60% 参数,保留约 97% 性能,推理快 60%。
训练时随机丢弃部分神经元,防过拟合。本项目学生用 0.1 的 dropout。
把离散 token id 映射为连续向量。GPT2 的嵌入维度由 n_embd 配置。
把训练集完整遍历一遍。本项目按「步数」而非 epoch 控制训练长度。
模型 .eval() 后的状态,关闭 dropout 与 batchnorm 训练行为。教师加载后即处于此模式。
transformers 的方法,从 Hub 加载预训练权重。本项目用它加载教师 GPT2。
权重随机初始化后训练,不加载预训练。本项目学生即从零训练。
OpenAI 的经典自回归语言模型。本项目教师用预训练 GPT2,学生用自定义小 GPT2。
把梯度整体范数限制在阈值内,防梯度爆炸。本项目用 1.0 的裁剪阈值。
单一的正确答案(如「下一个 token 是 X」),与软标签相对。
Transformer 各层输出的连续向量表示。中间层蒸馏对齐的就是它。
Geoffrey Hinton,知识蒸馏奠基论文(2015)的作者,也是深度学习先驱之一。
用训练好的模型做预测/生成。本项目推理模块支持温度采样与 top-k。
交叉熵中标记「忽略此位置」的特殊值(通常 -100),padding 位置用它排除。
衡量两个概率分布差异的非负、不对称度量。蒸馏软标签项即 KL(教师‖学生)。
知识蒸馏的常用缩写,kd_loss 即软标签损失。
PyTorch 的学习率调度器,用 lambda 函数定义每步学习率比例。本项目用它实现余弦退火。
模型最后一层输出、softmax 之前的原始值。蒸馏对齐的就是师生 logits。
低秩适配微调方法,可作为教师/学生参数高效训练的扩展方向。
随机遮盖部分 token 让模型预测的预训练任务,BERT 即属此类。与因果 LM 相对。
微软提出的蒸馏方法,引入注意力分布对齐,属于中间层蒸馏。
回归/对齐常用损失。中间层蒸馏对齐隐藏状态时常用 MSE。
torch.no_grad() 上下文,禁用梯度计算。教师前向用它省显存。
GPT2 架构三要素:嵌入维度、层数、注意力头数。
根据梯度更新模型权重的算法。本项目用 AdamW。
平均交叉熵的指数,语言模型核心指标,越低越好。
DataLoader 选项,用锁页内存加速 CPU→GPU 数据拷贝。
损失函数的聚合方式(sum/mean/batchmean)。蒸馏 KL 用 batchmean 避免被词表维度稀释。
张量/参数是否需要梯度的标志。教师参数全部设为 False(冻结)。
按规则调整学习率的组件。本项目用线性预热 + 余弦退火。
GPT2 约定下,logits 截末位、labels 截首位以对齐 next-token 预测。
把 logits 转为概率分布的函数。带温度版本 softmax(z/T) 用于蒸馏软化。
蒸馏中体积小、被训练的模型,学习模仿教师。本项目默认约 10M 参数。
从带标签数据学习。蒸馏可视为用教师的软标签做「软监督」。
蒸馏中体积大、被冻结的模型,提供软标签。本项目用预训练 GPT2(约 124M)。
软化 softmax 分布的超参。T 越大分布越平坦,暗知识越明显。
加入中间层(隐藏状态 + 注意力)对齐的蒸馏方法,DistilBERT 的进阶。
分词后的最小单元。本项目用 tiktoken 切词,词表 50257。
生成时只保留概率最高的 k 个 token 的采样策略,过滤长尾低质词。
预测 argmax 恰为真实标签的比例,评估指标之一。
训练初期学习率从 0 线性升到峰值的阶段,稳定训练初期。
AdamW 的正则化项,防止权重过大。本项目用 0.1。
若有未收录的术语,可在项目对应章节中检索。本术语表会随教程迭代持续更新。