图解大模型_生成式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 缓存复用历史,避免重复计算
  • 直到生成结束

相关推荐
_leoatliang几秒前
基于Python的深度学习以及常用环境测试案例
linux·开发语言·人工智能·python·深度学习·算法·ubuntu
启芯硬件几秒前
三极管和MOS管的降额使用设计实战
大数据·人工智能·经验分享·职场和发展·硬件工程
颢珂智库Haokir Insights2 分钟前
如何把 MCP 接入到文档 / Issue / CI,形成可复用的工程外脑
服务器·人工智能·ai编程·vllm·vibecoding
薛定e的猫咪7 分钟前
【NeurIPS 2023】多目标强化学习算法工具库-MORL-Baselines
人工智能·算法·机器学习
啊巴矲7 分钟前
小白从零开始勇闯人工智能:计算机视觉初级篇(初识Opencv下)
人工智能·opencv·计算机视觉
技术小黑8 分钟前
TensorFlow学习系列03 | 实现天气识别
人工智能·cnn·tensorflow
2401_8322981010 分钟前
存算分离2.0,阿里云EMR Serverless破解海量数据处理瓶颈
人工智能
落雨盛夏13 分钟前
深度学习|李哥考研——(无)监督学习相关分类
深度学习·学习·分类
2501_9481201513 分钟前
基于大语言模型的教育舆情分析系统
人工智能·语言模型·自然语言处理
Elastic 中国社区官方博客14 分钟前
Elasticsearch:如何使用 LLM 在摄入数据时提取需要的信息
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索