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值缓存下来。

相关推荐
2301_803554522 小时前
C++ 锁类型大全详解
开发语言·c++
曼巴UE52 小时前
UE5 C++ Slate 画曲线
开发语言·c++·ue5
ue星空2 小时前
UE5C++UKismetMathLibrary源代码
c++·ue5
minji...2 小时前
C++ 面向对象三大特性之一---多态
开发语言·c++
2401_841495642 小时前
【数据结构】基于BF算法的树种病毒检测
java·数据结构·c++·python·算法·字符串·模式匹配
No0d1es4 小时前
2025年 CSP-J1 入门级初赛 C++真题
开发语言·c++·青少年编程·csp·信息学奥赛·初赛
橙子也要努力变强4 小时前
C++中的多态
c++
ysa0510304 小时前
虚拟位置映射(标签鸽
数据结构·c++·笔记·算法
m0_748248024 小时前
C++中的位运算符:与、或、异或详解
java·c++·算法