图解大模型_生成式AI原理与实战学习笔记(前三章综合问答)

1:什么是词元(Token)?为什么要把文本拆成词元?

词元(Token)是将文本拆分后,用于模型处理的最小单位。可以是汉字、词片(subword)、英文单词、标点符号等。

拆分原因:

  • 模型无法直接处理文本,只能处理数字向量
  • Token 是从"文本 → 向量"的桥梁
  • BPE/subword 让模型能处理新词、多语言、罕见词
  • 便于构建 embedding lookup
  • 让模型能理解语义与上下文

**2:什么是嵌入向量(Embedding)?

为什么同一词元在不同上下文中表示不同?**

嵌入向量(Embedding)是词元映射到高维连续向量空间的初始表示。

同一词元在不同上下文会呈现不同表示,因为:

  • Embedding 是静态的
  • Transformer 在每一层会通过自注意力融合上下文
  • 动态隐藏向量(hidden states)会随上下文变化

因此最终形成"上下文相关向量(contextual embedding)"。


**3:什么是前向传播(Forward Pass)?

为什么生成一个新的词元要做一次前向传播?**

前向传播是将输入依次通过所有 Transformer 层和输出层,得到下一 token 概率分布的完整计算过程。

生成新词元要重新前向传播,因为:

  • 自回归模型每次都把新 token 拼到输入末尾
  • 输入序列改变 → 必须重新计算所有层
  • 整个模型要重新理解新的上下文

**Q4:什么是相关性评分(Relevance Score)?

它在注意力中起什么作用?**

相关性评分 = Q·Kᵀ(点积),表示当前词元应关注其他词元的程度。

它的作用:

  • "决定关注谁"
  • 经过 softmax 变成注意力权重
  • 权重用于给 V(内容)加权融合

5:为什么注意力机制需要 Q、K、V?它们分别负责什么?

  • Q(Query):"我要找什么?"
  • K(Key):"我有什么信息?"
  • V(Value):"我的实际内容是什么?"

只有用 Q/K 计算匹配度,才能决定如何从 V 获取信息。

注意力的本质是分离"找关系"和"取内容"两部分。


6:为什么 Transformer 使用多头注意力?单头有什么局限?

单头注意力只能在一个向量子空间里建模关系,表达能力有限。

多头注意力的优势:

  • 每个头学习不同类型的关系
  • 多视角理解上下文
  • 捕获句法、语义、远距关系
  • 最终 concat 得到丰富的语义表示

多头注意力是为了增强表达能力,不是为了加速。


7:什么是自注意力?它和传统注意力有什么区别?

自注意力(Self-Attention)是同一序列内部所有词元互相关注的机制。Q/K/V 都来自同一个序列。

传统注意力:

  • Q 来自 decoder
  • K、V 来自 encoder

区别:

  • 自注意力:建模句子内部关系
  • 传统注意力:跨序列建模

8:为什么 Transformer 不需要循环结构也能处理上下文?

因为自注意力可以一次性(并行)计算所有词元的关系,拥有全局感受野,不需要像 RNN 那样依赖逐步传递。

  • Attention 可以直接看到整个序列
  • 矩阵运算可完全并行
  • 天然支持长距离依赖

9:没有位置编码会怎样?为什么必须加入位置信息?

没有位置编码,Transformer 将无法区分词序。

结果:

  • 自注意力是对称的(交换不变)
  • "我爱你" = "你爱我"

加位置编码是为了给每个词元添加顺序,使模型成为序列模型而不是"词袋模型"。


10:为什么位置编码(RoPE)只加在 Q/K,不加在 V?

Q/K 决定注意力权重 → 需要包含位置关系。
V 只承载语义内容 → 不应该被位置影响。

因此:

  • 给 Q/K 加位置编码 = 位置影响"关注谁"
  • 不给 V 加编码 = 不污染内容本身

11:什么是 KV Cache?为什么能让推理速度提升几十倍?

KV Cache 是缓存之前所有 token 的 K/V,避免重复计算。

自回归生成中:

  • 旧 token 的 K/V 永不改变
  • 新 token 只需要算自己的 Q/K/V

推理复杂度从 O(N²) → O(N),大幅加速。


12:前馈网络(FFN)有什么作用?为什么Attention后一定要接FFN?

FFN 对每个词元做独立、非线性变换,是模型主要计算能力所在。

注意力负责:信息融合

FFN 负责:语义加工

结构:升维 → 激活 → 降维

若只有注意力,模型会缺乏非线性能力。


13:为什么只用"最后一个词元"的输出预测下一个 token?

因为语言模型是自回归的:
给定前缀,预测下一个。

  • 最后一词元代表"当前语义总结"
  • 前面词元的语义已写入最后词元
  • LM Head 只对"当前位置"的向量做预测

14:Transformer 生成一个 token 的完整流程是什么?(终极整合题)

Token → Embedding → Position → 多层(Attention + FFN)→ 最终隐藏向量 → LM Head → Softmax → 采样出 token → 拼回继续生成。

详细链路:

  1. 分词

  2. Embedding

  3. 加位置编码

  4. 多层 Transformer:

    • 自注意力(Q/K/V → 权重 → V 加权)
    • FFN
    • 残差 + LayerNorm
  5. 取最后词元 hidden state

  6. LM Head → Softmax

  7. 生成 token

  8. 拼回,重复步骤 1~7(自回归循环)


相关推荐
霍格沃兹测试学院-小舟畅学1 小时前
告别误判:基于n8n构建你的AI输出安全测试护盾
人工智能
阿乔外贸日记1 小时前
中国汽车零配件出口企业情况
大数据·人工智能·智能手机·云计算·汽车
LCG米1 小时前
[OpenVINO实战] 在边缘设备上运行Stable Diffusion,实现离线文生图
人工智能·stable diffusion·openvino
智元视界1 小时前
教育智能体技术解析:从知识曲线到个性化推荐
人工智能·科技·制造·数字化转型·产业升级
Jerryhut1 小时前
sklearn函数总结四——归一化和标准化
人工智能·python·机器学习·jupyter·sklearn
yiersansiwu123d1 小时前
AI伦理风险:技术狂奔下的隐忧
人工智能
潮际好麦1 小时前
AI 工具推荐:AI绘图、AI助力学习
人工智能·学习
徐小夕@趣谈前端1 小时前
LuckyFlow:用Vue3实现的一款AI可视化工作流编辑器
vue.js·人工智能·编辑器
koo3642 小时前
pytorch深度学习笔记5
pytorch·笔记·深度学习