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
  • 解决显存和缓存
相关推荐
迦南的迦 亚索的索8 小时前
AI_08_coze_私有数据访问
人工智能
xiaoduo AI8 小时前
智能客服机器人能否实现多 LLM 自由切换?Agent 开放平台接入 DeepSeek、通义千问如何对比成本与效果?
大数据·人工智能·机器人
码流怪侠8 小时前
Matt Pocock Skills:AI 时代的真实工程技能库
人工智能·深度学习·github
日光明媚8 小时前
torch.compile 与 Triton 的加速本质:从原理到实际效果
人工智能·python·计算机视觉·stable diffusion·aigc
zubylon8 小时前
Ollama 本地起一个开发助手
前端·人工智能
福将~白鹿8 小时前
DeerFlow调研报告
人工智能
虾壳云管家8 小时前
OpenClaw 2.6.6 从部署到技能使用一站式攻略
人工智能·windows·openclaw·openclaw一键部署教程·openclaw安装教程
小妖同学学AI8 小时前
云原生AI服务新范式:Jina Serve框架,让多模态大模型落地像搭积木一样简单
人工智能·云原生·jina
FreeGo~8 小时前
LLM系列:2.pytorch入门:7.深层神经网络第一篇
人工智能·深度学习·神经网络
志摩凛8 小时前
领导亲手打造的“技术屎山连环套”:Figma→React→Vue→MCP调用毒瘤UI库,半成品Design Token让我们生不如死|五一节前的噩梦
人工智能·程序员