BrainBank

2026年7月29日 备注

2026/7/29 23:07:23 · 更新于 2026/7/29 23:28:03 · 来源

AI 翻译于 2026/7/29 23:31:54 · 使用 Qwen3.6 35B (fast, default)

#knowledge#transformers#self-attention#q-k-v-vectors#encoder-decoder#quantization#llm-inference

生成式预训练 Transformer 工作原理的详细解析,拆解 Q/K/V 自注意力检索系统、编码器赋予的语义权重与解码器的预测输出之对比,以及量化如何优化推理效率。

第 1 段,共 17 段

本笔记提供了生成式预训练转换器(GPT)的技术概述,详细说明了其基础架构、通过查询(Query)、键(Key)和值(Value)向量实现的自注意力核心机制,以及包括编码、解码、推理层和量化技术在内的关键处理阶段。

核心架构与 Q/K/V 机制

第一层:Position 128
第二层:32 Token 内部含义(4 batch,每组 8 token)
第三层:3 Tables image.png 在 AI Transformer 模型中,**Q(Query)、K(Key)和 V(Value)**是为每个 token 创建的三种独立向量表示,用于驱动自注意力机制。它们的工作方式类似于检索系统:一个 token 提出问题,搜索索引,并检索内容。[1, 2, 3, 4, 5] image.png

Q、K 和 V 的作用

  • Query(Q): 特定 token 目前正在寻找的内容(类似于输入搜索词)。
  • Key(K): token 所提供的信息类型(类似于数据库条目的索引标签或标记)。
  • Value(V): 键匹配查询时,token 共享的实际核心数据或含义。

协同工作机制

  • 匹配: 模型将 Q 和 K 向量相乘,以评估每个词与当前词的关联程度。
  • 融合: 将这些得分作为权重应用于 V 向量,从而为文本构建新的、具备上下文感知能力的含义。

自注意力、编码器与解码器

自注意力机制是 Transformer 的标志性特征,使其能够一次性处理整个输入序列。Transformer 可以将“注意力”自主引导至输入序列中最关键的 token 上,无论它们处于什么位置。 相比之下,较老的循环神经网络(RNN)卷积神经网络(CNN)是按顺序或分层方式评估输入数据的。自注意力机制使 GPT 能够处理上下文,并以自然的语言进行长篇回复,而不仅仅是猜测句子中的下一个词。

编码器

编码是将 token 映射到虚拟三维向量空间的过程。在 3D 空间中距离较近的编码 token 被认为在含义上更为相似。这种对输入序列的数学向量化过程被称为嵌入(embedding)。 Transformer 网络中的编码器块为每个嵌入分配权重,从而决定其相对重要性。同时,位置编码器捕获语义信息,使 GPT 模型能够区分相同词组但顺序不同的情况——例如,“蛋先于鸡出现”与“鸡先于蛋出现”的区别。### 解码器 解码器预测对编码器生成的嵌入向量在统计上最可能的响应。自注意力机制使解码器能够识别输入序列中最重要的部分,而先进的算法则用于确定最可能正确的输出。 视频参考: It's about time we learn Transformers..,由 Caleb Writes Code 制作。
https://www.youtube.com/watch?v=7gkaDEpHg

推理层

image.png image.png image.png image.png

量化

量化是降低数据精度的过程,通常通过将 32 位浮点数转换为 8 位整数等更低精度的格式来缩小文件大小并加快计算速度。可能会损失精度。 image.png

关键要点

  • Transformer 依赖 Q(查询,Query)、K(键,Key)和 V(值,Value) 向量来驱动类检索的自注意力系统,该系统对关联性进行评分并融合上下文含义。
  • 与 RNN 和 CNN 的串行处理不同,Transformer 并行处理整个序列,通过专用的编码器和解码器模块实现自然且感知上下文的语言生成。
  • 推理层处理将编码表示转换为可操作输出所需的最终计算步骤。
  • 量化通过降低精度(例如从 32 位浮点数降至 8 位整数)来优化模型性能,在可能损失部分精度的同时,显著缩小文件大小并加速计算。

学习地图

第一阶段:输入表示与上下文

  1. 将原始文本映射为离散词元,并将其嵌入到一个统一的向量空间中。
  2. 应用位置编码向量赋予模型顺序感知能力,使其能够区分不同排列顺序的相同词汇。

第二阶段:自注意力检索系统

  1. 从每个词元的嵌入向量中分离出查询(Q, Query)、键(K, Key)和值(V, Value)矩阵。
  2. 执行 Q 与 K 的矩阵乘法,生成表示上下文相关性的注意力分数。
  3. 将这些分数归一化为权重,并将其应用到 V 向量上,以创建具有上下文感知的输出表示。

第三阶段:结构处理(编码器 → 解码器)

  1. 将加权向量传入编码器模块,以同时捕获整个序列中的语义关系。
  2. 将最终的嵌入向量路由至解码器模块,利用掩码自注意力机制逐步预测统计上最可能的下一个词元输出。

第四阶段:推理与量化优化

  1. 在模型初始运行期间分析原始 32 位浮点数(FP32)数据精度。
  2. 实施量化例程(例如 FP16 → INT8),以缩小矩阵尺寸、减少内存占用并加速推理,同时不牺牲核心功能逻辑。

动手实践——分步指南

  1. 通过 transformers() 等库下载本地托管的 LLM,或使用 llama.cpp 环境,在数据流经各层时观察原始的 Q/K/V 矩阵维度。
  2. 选取一段简短的两句话样本,手动计算简化的单头注意力分数:将 Query 向量与所有 Key 向量进行点积运算,应用 Softmax,然后对 Value 向量进行缩放。
  3. 使用 bitsandbytes 比较未量化 GPT 架构(FP16/BF16)与量化版本(INT8 或 NF4)的内存占用,并测量文本生成过程中的加速效果。
  4. 可视化展示在输出词元最终确定前,解码器层权重的变动如何影响最终词汇表 logit 上的统计概率分布。

三大推荐资源

  1. 1
    The Annotated Transformer

    A foundational, step-by-step annotated tutorial that breaks down the exact math, dimensions, and flow of QKV vectors and attention matrices.

    https://nlp.seas.harvard.edu/2018/04/03/attention.html

  2. 2
    Hugging Face Transformers Course

    A highly regarded practical guide explaining how tokenizers ingest text and utilize underlying PyTorch modules for attention and decoding.

    https://huggingface.co/course/chapter1/3

  3. 3
    Karpathy: LLMs from Scratch (YouTube)

    A widely celebrated video series by Andrej Karpathy that walks through building attention mechanisms, transformer blocks, and quantization purely from Python code.

    https://www.youtube.com/watch?v=kCc8FmEb1qY

链接由 AI 推荐——使用前建议快速核实。