图解大模型_生成式AI原理与实战学习笔记前四张问答(7题)


问题 1:为什么 Self-Attention 比 RNN 更适合处理长距离依赖?

Self-Attention 在三个方面比 RNN 更强:


① 计算方式:直接建立任意词之间的联系

Self-Attention 通过:

  • Query(Q)
  • Key(K)
  • Value(V)

计算每个词与所有词的相似度:

\\text{Attention}(Q,K,V)=\\text{softmax}(QK\^T)V

➡ 不需要像 RNN 一样逐层传递信息,也不会因为距离变长而梯度消失。


② 并行能力:一次性处理整段序列

RNN 必须按顺序处理 t=1 → t=2 → t=3

Attention 不需要顺序依赖,可全部词元并行计算。

➡ GPU 矩阵计算可完全利用。


③ 上下文捕获:可以看全局,长距离依赖不衰减

Self-Attention 本质是:

"对整个序列的所有词做相关性计算"

因此:

  • 即使两个词距离很远
  • 也能通过一次 Q·K 建立直接联系

问题 2:为什么 LLM 使用子词分词(BPE),而不是按字或按词?

① 词表大小与计算成本最优平衡

  • 按"字":词表太小,表达能力弱
  • 按"词":词表太大(十万级),embedding 和 softmax 太贵
  • 子词分词:词表约 30k〜60k,最有效率

② 处理 OOV(未见词)能力强

"抗磷脂综合征" 不在词表中也能拆为:

  • 抗|磷|脂|综合|征

➡ 所有新词都能被编码。


③ 泛化能力强(学习构词规律)

子词能让模型学习:

  • 前缀、后缀(re-, pre-, -tion)
  • 不同变形之间的关系(walk, walking)
  • 词根语义(predict, prediction, predictable)

➡ 远比按字或按词更具泛化力。


问题 3:为什么 Transformer 需要多头注意力(Multi-Head Attention)?

① 不同头在不同子空间中工作

每个头有独立的:

  • Wᵠ
  • Wᵏ
  • Wᵛ

所以会看到不同维度的特征。


② 能同时学习不同的语言关系

不同注意力头会自动学习:

  • 句法关系(主谓)
  • 指代关系(他 → 指的是谁)
  • 实体关系
  • 长距离依赖

➡ 单头无法同时学习这么多语言结构。


③ 稳定训练(避免注意力塌缩)

多头分散学习任务,减少梯度爆炸,训练更平滑、收敛更快。


问题 4:KV Cache 如何加速自回归生成?

① 减少重复计算

生成 token 时:

  • 历史的 K/V 向量一次算好并缓存
  • 后续每步只计算新的 Q、K、V
  • 历史 K/V 直接从 cache 读取

➡ 避免重复计算整个序列的 attention。


② 每步复杂度从 O(n²) 降到 O(n)

无缓存:

  • 每步计算 Q × Kᵀ(K 会越来越长)
  • 代价 O(n²)

有缓存:

  • 只对新增 token 做一次 attention
  • 每步约 O(n)

③ 整体推理速度提升 3~20 倍

尤其对长 context 的生成效果明显。


问题 5:为什么"嵌入向量 + 逻辑回归"在有标注数据时比零样本分类更准确?

① 有监督学习能建立任务特化的分类边界

逻辑回归根据标签学习哪些向量属于同一类。

零样本是"推理",不是"训练",无法形成精确边界。


② 嵌入空间天然具有语义结构

例如:

  • 积极评论向量聚在一起
  • 消极评论聚在另一侧

逻辑回归只需要画一条线(决策边界),准确度更高。


③ 零样本分类依赖语言理解,不够稳定

由于没有监督信号:

  • 它靠提示词理解类别含义
  • 容易受 prompt、语义歧义、模型偏差影响

➡ 性能普遍弱于简单的监督分类器。


问题 6:为什么生成模型(GPT/T5)也能用于分类?

① 分类可以被表达成"生成一个标签词语"

例如:

"这个评论的情感是 positive 还是 negative?"

模型只需生成一个词:

  • "positive"
  • "negative"

➡ 分类 = 生成。


② 生成模型擅长自然语言理解与生成

它知道:

  • positive 的含义
  • negative 的语义
  • 文本的潜在情绪

所以能"读懂 → 生成标签"。


③ Prompt(提示词)让模型自动适应新任务

不用训练,只需告诉它:

  • 分类标准
  • 输出格式
  • 示例(few-shot)

即可完成分类。


问题 7:请描述 LLM 的前向传播完整流程(从输入到输出)。

① 文本输入

用户输入一句话。


② 分词(Tokenizer)

文本 → 子词 → token IDs。


③ 词嵌入 + 位置编码

token IDs → Embedding → token 向量

再加入 Position Embedding / RoPE。


④ Transformer 多层处理

每层包括:

  1. 多头自注意力(Self-Attention)
    学上下文关系
  2. 残差 + LayerNorm
  3. 前馈神经网络(FFN)
    增强特征表达
  4. 残差 + LayerNorm

堆叠 N 层。


⑤ LM Head(语言建模头)

把最后的隐藏状态映射到词表维度 → logits → softmax。


⑥ 解码策略(生成下一个 token)

如:

  • greedy
  • top-k
  • top-p
  • temperature

选出概率最高或采样得到的 token。


⑦ 自回归生成 + KV Cache 加速

  • 把新 token 拼到序列末尾
  • 再次前向
  • K/V 缓存复用历史,避免重复计算
  • 直到生成结束

相关推荐
龙腾亚太2 小时前
大模型十大高频问题之五:如何低成本部署大模型?有哪些开源框架推荐?
人工智能·langchain·llm·智能体·大模型培训
信息快讯2 小时前
【人工智能与数据驱动方法加速金属材料设计与应用】
人工智能·材料工程·金属材料·结构材料设计
c#上位机2 小时前
halcon图像增强——emphasize
图像处理·人工智能·计算机视觉·c#·上位机·halcon
老蒋新思维2 小时前
创客匠人峰会洞察:私域 AI 化重塑知识变现 —— 创始人 IP 的私域增长新引擎
大数据·网络·人工智能·网络协议·tcp/ip·创始人ip·创客匠人
2401_834517072 小时前
AD学习笔记-26 Active Routing
笔记·学习
知行力3 小时前
【GitHub每日速递 20251209】Next.js融合AI,让draw.io图表创建、修改、可视化全靠自然语言!
javascript·人工智能·github
断剑zou天涯3 小时前
【算法笔记】Manacher算法
java·笔记·算法
QiZhang | UESTC3 小时前
学习日记day45
学习