NLP基础知识2【各种大模型的注意力】

注意力

传统Attention存在的问题

  1. 上下文约束
  2. 速度慢,显存占用大(因为注意力考虑整体信息,所以每一个位置都要和其他位置计算注意力分数)

优化方向

  1. 上下文长度
  2. 加速
  3. 减少显存占用

变体有哪些

  • 稀疏注意力:引入稀疏偏差降低复杂性
  • 线性化注意力:解开Attention矩阵和内核特征图,然后逆序计算,实现线性复杂度(不太了解)
  • 改进多头
  • 内存压缩

现在的主要变体集中在KV

现在的MQ-A、GQ-A、KV-cache本质上都是复用、缓存KV矩阵,用于缓解内存和内存墙(缓存大小不足,需要频繁访存)的,现在较少有人能讲清楚为什么要存储KV而不是QKV或者Q?

  • 要从注意力机制的计算中寻找答案,以下为看图学的KV cache推理示意图:
    - 显然,对于现在大模型中常用的单向注意力来说,Q只使用一次,但KV是随着句子的增长不断增加的,所以减少KV的使用变得十分重要。

Multi-Query Attention

  • Multi-Query从多头注意力改进而来,多头本身是KQV多头,现在是用Q多头,KV单头。也就是说,在所有注意力头上共享KV。
  • 优点:减少KV cache大小,减少显存占用,提高推理速度
  • 使用它的模型:GLM2~,Falcon等

Grouped-query Attention

  • 介于多头和多Q之间,复用N个KV,精度高一些。
  • LLaMA2用的就是这个

FlashAttention

  • 使用分块计算softmax
  • 解决显存和缓存
相关推荐
冬奇Lab5 小时前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab5 小时前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
IT_陈寒7 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
jooloo11 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户51914958484511 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
用户51914958484513 小时前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户0183493016913 小时前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能
这token有力气16 小时前
Function Calling 格式漂移
人工智能