1.PagedAtteion算法

https://zhuanlan.zhihu.com/p/680153425

PagedAtteion就是在VLLM里面会分为逻辑内存和物理内存,物理内存是真实存放KV cache的地方,而逻辑内存可以理解为逻辑上面的存在,需要通过一个块表,去链接物理内存到逻辑内存上。

需要处理三种情况,

1)parallel sampling,意思就是一个prompt有多个输出时候,会为一个物理内存分配reference count,而reference就像一个智能指针一样,如果逻辑内存写数据时候,发现对应的物理内存有超过1的count,就需要把count减去1,并且修改块表,复制原本的物理内存到其他位置,再把逻辑内存新写入的值写进去。

2)beam search,没有特别理解,看上去就是说迭代时候只会保持top-k信息,会共享候选块,并且在不再使用块时候释放块。

3)shared prompt,意思就是提前计算system prompt的KV值缓存下来。

相关推荐
同学小张20 小时前
【端侧AI 与 C++】1. llama.cpp源码编译与本地运行
开发语言·c++·aigc·llama·agi·ai-native
爱学习的小邓同学1 天前
C++ --- 多态
开发语言·c++
招摇的一半月亮1 天前
P2242 公路维修问题
数据结构·c++·算法
f***01931 天前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
合方圆~小文1 天前
球型摄像机作为现代监控系统的核心设备
java·数据库·c++·人工智能
椰萝Yerosius1 天前
[题解]2024CCPC郑州站——Z-order Curve
c++·算法
滨HI01 天前
C++ opencv简化轮廓
开发语言·c++·opencv
学习路上_write1 天前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
闻缺陷则喜何志丹2 天前
【SOSDP模板 容斥原理 逆向思考】3757. 有效子序列的数量|分数未知
c++·算法·力扣·容斥原理·sosdp·逆向思考
BestOrNothing_20152 天前
一篇搞懂 C++ 重载:函数重载 + 运算符重载,从入门到会用(含 ++、<<、== 实战)
c++·函数重载·运算符重载·operator·前置后置++·重载与重写