二:Transformer 与 Decoding自测题¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483740&idx=1&sn=147c4405a69fa84624683a0b3f7e9e0e&chksm=f01eb225c7693b338315b1e26925cd224b46eecb305458a5efd09901812cc3d263cd0bd8e2d9#rd
覆盖范围¶
-
Transformer 总体架构
-
token embedding、position embedding、LM head、weight tying
-
encoder layer 的结构和双向 self-attention
-
decoder layer 的 masked self-attention、cross-attention 与 FFN
-
encoder-only、encoder-decoder、decoder-only 的区别
-
训练与推理阶段的差异
-
logits、softmax 与 next-token distribution
-
temperature、top-k sampling、top-p/nucleus sampling
-
decoding 参数调试、实现细节和常见错误
一、Transformer 总体架构¶
-
请用 1 分钟概括 Transformer 的整体思想。它相比 RNN/CNN 的核心变化是什么?
-
原始 Transformer 的 encoder-decoder 架构包含哪些主要模块?
-
在机器翻译场景中,encoder 和 decoder 分别承担什么职责?
-
为什么说现代大语言模型通常是 decoder-only Transformer,而不是完整的原始 encoder-decoder Transformer?
-
Transformer 中 residual connection、LayerNorm 和 FFN 分别起什么作用?
-
pre-norm 和 post-norm Transformer block 的区别是什么?现代大模型为什么更常用 pre-norm?
-
position-wise FFN 中的 “position-wise” 是什么意思?
-
Transformer 的输入和输出通常有哪些关键 shape?请从
[B, T]token id 讲到[B, T, V]logits。
二、Embedding 与位置表示¶
-
token embedding 是什么?它和 one-hot 表示有什么关系和区别?
-
给定
input_ids: [B, T],词表大小V,隐藏维度d_model,embedding table 和输出 embedding 的 shape 分别是什么? -
为什么 Transformer 需要位置信息?纯 self-attention 为什么不天然知道顺序?
-
token embedding 和 position embedding 相加后,shape 是否变化?语义上发生了什么?
-
sinusoidal positional encoding 和 learned positional embedding 有什么区别?
-
RoPE 和绝对位置 embedding 的思路有什么不同?这里不要求推导公式,但要讲清直觉。
-
segment embedding/token type embedding 常见于哪些模型或任务?decoder-only LLM 一般是否需要?
-
什么是 weight tying?输入 embedding 和输出 LM head 共享权重有什么好处?
-
为什么输出层 LM head 的输出维度是词表大小
V? -
如果 tokenizer 词表扩展了,embedding table 和 LM head 需要发生什么变化?
三、Encoder¶
-
Transformer encoder layer 通常由哪些子层组成?
-
encoder 的 self-attention 为什么通常不需要 causal mask?
-
encoder 中 padding mask 的作用是什么?
-
encoder 输出的 shape 是什么?它可以被下游哪些任务使用?
-
BERT 这类 encoder-only 模型为什么适合理解类任务?
-
encoder 中 self-attention 和 FFN 的分工是什么?
-
encoder layer 堆叠多层后,模型表示能力为什么会增强?
-
如果一个理解任务需要输出句子级表示,通常如何从 encoder 输出中得到句向量?
四、Decoder¶
-
原始 Transformer decoder layer 包含哪三类主要子层?
-
masked self-attention 和普通 self-attention 的区别是什么?
-
decoder 为什么必须使用 causal mask?不使用会发生什么?
-
训练 decoder 时为什么可以并行计算整段序列,而推理时通常要逐 token 生成?
-
cross-attention 中 Q、K、V 分别来自哪里?
-
cross-attention 在机器翻译中起什么作用?
-
decoder-only 模型为什么通常没有 cross-attention?
-
decoder-only LM 的训练样本中 input 和 target 通常如何错位?
-
为什么 decoder-only 模型可以把 prompt 和生成内容放在同一个序列中处理?
-
causal mask 和 padding mask 可以同时用于 decoder 吗?二者分别屏蔽什么?
五、架构类型对比¶
-
encoder-only、encoder-decoder、decoder-only 三类 Transformer 分别适合什么任务?
-
BERT、T5/BART、GPT/LLaMA/Qwen 分别属于哪类架构?
-
为什么 encoder-only 模型不适合直接做开放式自回归生成?
-
为什么 decoder-only 模型在通用大语言模型中非常流行?
-
如果面试官问“Transformer 就是 ChatGPT 的结构吗”,你会如何回答?
-
encoder-decoder 模型和 decoder-only 模型在输入输出建模方式上有什么差异?
六、Decoding 基础¶
-
语言模型输出 logits 后,为什么还需要 decoding 策略?
-
logits 和 probability 的区别是什么?softmax 在生成中起什么作用?
-
greedy decoding 的流程是什么?它有什么优点和缺点?
-
sampling decoding 的基本思想是什么?它和 greedy 的关键区别是什么?
-
为什么开放式生成中纯 greedy 或 beam search 容易出现重复、无聊或退化输出?
-
decoding 策略能否弥补模型本身能力不足?为什么?
七、Temperature¶
-
temperature scaling 的公式是什么?
-
temperature 小于 1、等于 1、大于 1 时,输出分布分别会怎样变化?
-
为什么
temperature -> 0时接近 greedy decoding? -
temperature 是否会删除候选 token?它和 top-k/top-p 的区别是什么?
-
在格式遵循、代码生成、创意写作三个场景中,temperature 应该如何倾向性设置?
-
temperature 过高可能带来哪些风险?
八、Top-k Sampling¶
-
top-k sampling 的完整流程是什么?
-
top-k 中的 k 表示什么?
top_k=1与 greedy decoding 有什么关系? -
top-k sampling 是“选 top-k 中概率最高的 token”吗?请解释。
-
top-k sampling 为什么能减少低质量 token 的干扰?
-
top-k 的固定候选数量会带来什么问题?
-
如果当前分布很尖锐,使用很大的 k 可能有什么影响?如果当前分布很平坦,使用很小的 k 又有什么影响?
九、Top-p / Nucleus Sampling¶
-
top-p sampling 的完整流程是什么?
-
top-p 中的 p 表示什么?它是不是“保留概率大于 p 的 token”?
-
为什么 top-p 又叫 nucleus sampling?
-
top-p 相比 top-k 的核心优势是什么?
-
top_p=0.9与top_p=0.95在候选集合和输出多样性上可能有什么区别? -
top-k 和 top-p 能否同时使用?同时使用时它们各自起什么作用?
十、实现、调参和排错¶
-
请写出一个包含 temperature、top-k、top-p 的 next-token sampling 伪代码流程。
-
过滤 top-k 或 top-p 后,为什么需要重新归一化概率?
-
top-p 实现中为什么要先按概率降序排序?
-
实现 top-p 时,为什么通常要保留第一个超过阈值的 token?
-
如果生成内容重复严重,可以从 decoding 参数角度做哪些调整?
-
如果生成内容太随机、跑题或幻觉增加,可以从 decoding 参数角度做哪些调整?
-
如果模型需要稳定输出 JSON,应该如何设置 decoding 参数?
-
在 Hugging Face
generate中,do_sample=True、top_k、top_p、temperature分别控制什么? -
请总结今天的知识链路:从 token id 到 embedding,到 Transformer encoder/decoder,再到 logits 和 decoding。
预览时标签不可点<div class="