搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
酷酷是懒虫
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
还是了解下吧,大语言模型调研汇总_ernie-bot 4.0和ernie-bot8k区别
2
博客标题: 在 Spring Boot 中使用策略模式实现灵活的订单处理
3
Android应用开发学习笔记_下列选项中,()模式会判断要启动的activity实例是否位于栈顶,如果位于栈顶则直接复
4
如何写专利?_前端专利怎么写
5
ZooKeeper 实战:使用 Docker Compose 部署 ZooKeeper 集群
6
从0到1Flink的成长之路(二十)-Flink 高级特性(二)之无状态和有状态计算_有状态计算和无状态计算
7
【项目1】多功能墨水屏新闻、天气台历(一)_墨水屏日历开源
8
ARM9的异常情况有哪些
9
最全基于zookeeper实现分布式锁_zk实现分布式锁,2024年最新斗鱼大数据开发开发二面被刷
10
python 中的matplotlib.pylot 模块中的plot 用法_matplotlib.pyplot模块中,使用plot语句
当前位置:
article
> 正文
NLP基础知识2【各种大模型的注意力】
作者:酷酷是懒虫 | 2024-07-30 13:44:33
赞
踩
NLP基础知识2【各种大模型的注意力】
注意力
传统Attention存在的问题
优化方向
变体有哪些
现在的主要变体集中在KV
Multi-Query Attention
Grouped-query Attention
FlashAttention
传统Attention存在的问题
上下文约束
速度慢,显存占用大(因为注意力考虑整体信息,所以每一个位置都要和其他位置计算注意力分数)
优化方向
上下文长度
加速
减少显存占用
变体有哪些
稀疏注意力:引入稀疏偏差降低复杂性
线性化注意力:解开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
解决显存和缓存
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
【wpsshop博客】
推荐阅读
article
C/
C++
基础知识
...
3.signed char:有符号char(-128~127)2.unsigned char:无符号char(0~255...
赞
踩
article
InternLM
Git
基础知识
...
提交一份自我介绍。创建并提交一个项目。
InternLM
Git
基础知识
...
赞
踩
article
第
三期
书生大
模型
实战营(【入门岛】-
第
3
关 |
Git
基础知识
)...
每位参与者提交一份自我介绍。提交地址:https://github.com/InternLM/Tutorial 的 ca...
赞
踩
article
书生大模型-入门岛
3
-
Git
基础知识
...
任务内容参考:https://github.com/InternLM/Tutorial/blob/camp
3
/docs/...
赞
踩
article
【C#基础知识】——
File
(
文件
操作)
Path
类_
c#
filepath
...
Path
静态类
Path
是静态类。只适用于操作路径的类。
Path
常用的方法:1 .
Path
.Get
File
Name(st...
赞
踩
article
自然语言
处理(NLP)基础知识——
机器翻译
Metrics(
PPL
、
BLEU
、
ROUGE
)_ppl n...
自然语言
处理(NLP)基础知识——
机器翻译
Metrics(
PPL
、
BLEU
、
ROUGE
)_ppl nlpppl nlp ...
赞
踩
article
【
C++
基础
-
基础
知识
】
C++
从介绍到
HelloWorld
_
c++
helloworld
...
C++
是一门非常经典的高级编程语言。顾名思义,
C++
可以看做是C语言的增强版,在C的
基础
上扩展了更多的功能;最主要的扩...
赞
踩
相关标签
c++
开发语言
学习
git
python
人工智能
语言模型
自然语言处理
path
c#
File文件操作
机器翻译
机器学习
困惑度
BLEU
ROUGE
java
jvm