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

相关推荐
老洋葱Mr_Onion16 分钟前
【C++】高精度模板
开发语言·c++·算法
我不是懒洋洋2 小时前
从零实现一个分布式计算:MapReduce的核心设计
c++
小王C语言11 小时前
【7. 实现登录注册模块】:实现会话管理、注册/登录/退出 API
网络·c++
峥无14 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波14 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
小王C语言15 小时前
【3. 基于 Vibe Coding 的 OJ 平台】. 构建仓库、环境准备、需求梳理、安装依赖
网络·c++
小王C语言15 小时前
【8.进行接口测试】:通过 curl 进行接口自动化测试 / 通过 python 程序进行接口自动化测试
网络·c++
888CC++16 小时前
C++ 快速学习指南:从入门到进阶的实战路线
开发语言·c++
小小晓.16 小时前
C++记:函数
开发语言·c++·算法
驱动小百科18 小时前
Windows运行库合集下载 VC++、DirectX、.NET运行库安装教程
c++·windows·.net·windows运行库合集下载·windows运行库安装