LLM学习笔记(7)Scaled Dot-product Attention

虽然 Attention 有许多种实现方式,但是最常见的还是 Scaled Dot-product Attention。

ChatGPT 页面 来类比说明

Query 类比:

  • 在当前 ChatGPT 页面中,Query 就是你输入的问题或请求。
  • 例如,当你输入一句话 "Query 和 Key 是什么?",这相当于提出了一个查询(Query),它表示你希望从模型中获取关于 "Query 和 Key" 的相关信息。

Key 类比:

  • Key 就像是 ChatGPT 的知识索引,存储着大量可能的回答的"入口"或"标签"。
  • 比如,模型内部已经存储了与 "Query" 和 "Key" 概念相关的所有信息,它们以一种组织良好的方式被表示为一组"键"(Key)。这些键是用于索引知识点的。

Value 类比:

  • Value 是与这些 Key 索引相关联的实际内容或信息,也就是答案的实际内容。
  • 在模型中,每个 Key 都对应具体的 Value,例如,Key "Query 和 Key" 对应了一个解释它们概念的文本内容。

类比流程

  1. 你输入问题:

    • 当你输入 "Query 和 Key 是什么?" ,这一输入作为 Query 被发送到模型。
  2. 模型检索 Key:

    • ChatGPT 会将你的 Query 与它的知识库中的所有 Key 进行比较,找到最相关的 Key。例如,"Query" 和 "Key" 可能匹配到模型内部的一些知识点(Key):
      • Key1: "Attention 机制的 Query 和 Key 定义"
      • Key2: "Transformer 中的 Query 和 Key 应用"
  3. 计算相关性:

    • 模型会通过点积计算你的 Query 和每个 Key 的相似度,决定这些 Key 与 Query 的相关程度。相似度越高,模型就越认为这个 Key 相关。
  4. 生成答案:

    • 根据 Key 的相关性分配权重,从相应的 Value(知识内容)中提取和整合信息,生成一个最终的答案作为回复。

Transformer 模型中,QueryKey 是用于计算注意力权重的两个重要概念。它们的设计来源于信息检索系统的思想,其中 Query 表示检索请求,Key 表示被检索的索引。通过比较 QueryKey 的相似性,模型决定哪些信息(由 Value 提供)更相关。

Query 和 Key 的工作原理

  1. 相似性计算:

    • QueryKey 的点积表示它们的相似性程度。
    • 相似性越大,表示当前 Query 更应该关注对应 Key 位置的 Value
  2. 注意力权重计算:

    • 点积结果经过缩放和 Softmax 归一化后,生成注意力权重 wijw_{ij}wij,表示 Query_iKey_j 的关注程度。
  3. 结合 Value:

    • 最终注意力权重 wijw_{ij}wij 会作用于 Value,将所有位置的 Value 加权求和,生成新的上下文表示。
相关推荐
arbboter2 分钟前
【AI插件开发】Notepad++ AI插件开发1.0发布和使用说明
人工智能·大模型·notepad++·ai助手·ai插件·aicoder·notepad++插件开发
俺的图图呢?2 分钟前
Django笔记——CSRF
笔记·django·csrf
我的golang之路果然有问题12 分钟前
快速了解redis,个人笔记
数据库·经验分享·redis·笔记·学习·缓存·内存
IT_Octopus14 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能19 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客24 分钟前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
程序员辣条32 分钟前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
无心水33 分钟前
【Java面试笔记:基础】8.对比Vector、ArrayList、LinkedList有何区别?
java·笔记·面试·vector·arraylist·linkedlist
curdcv_po33 分钟前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae
程序员辣条34 分钟前
为什么需要提示词工程?什么是提示词工程(prompt engineering)?为什么需要提示词工程?收藏我这一篇就够了!
人工智能·程序员·产品经理