《AICon 北京 2025-马腾.pdf》由会员分享,可在线阅读,更多相关《AICon 北京 2025-马腾.pdf(42页珍藏版)》请在三个皮匠报告上搜索。
1、以以 KVCacheKVCache为中心的云为中心的云上上 LLM LLM 推理软件栈推理软件栈演讲人:马腾目录目录010203040506大语言模型推理和大语言模型推理和KVCacheKVCacheKVCacheKVCache开源项目:开源项目:MooncakeMooncake云原生下的云原生下的KVCacheKVCacheKVCacheKVCache智能化调度智能化调度Mooncake开源生态以以KVCacheKVCache为中心的解耦架构为中心的解耦架构01大语言模型推理和大语言模型推理和KVCacheKVCache推理过程KVCache计算方案量化FP8/Int4只存部分层YOCO/C
2、LA降低维度MLA减少Head数GQA/MQA高效显存管理Page AttentionvAttention静态稀疏化滑动窗口例子KVCache缓存对存储系统的挑战 每一个 1 token 对应 2*层数*隐藏维度=数十乃至数百 KB 的 KVCache 不仅数据量极大,还需要尽可能地快速进行传输不然会导致 GPU 空转一个 Token(数 Bytes 级别)一个 Token 对应的 KVCache(数十 KB 级别)单台机器的内存(数 TB 级别)单张 GPU 显存(数十 GB 级别)推理可复用应缓存的中间结果KVCache(数百 TB 乃至 PB 级别)每天数千亿 Token 的大型推理服务
3、KVCache计算方式演进vLLMPage-AttentionSGLangPrefix AttentionOrcaContinus Batching通过切分任务打满算力Page粒度管理减少显存占用尽可能复用KVCacheDeepSeek NSASparse KVCache降低KVCache的产生量KVCache数据优化技术模型级别优化通过算法优化(Head/Dimension)减少KVCache产生量KVCache压缩KVCache量化使用低精度格式KVCache消除减少无关重要的数据KVCache复用(Reuse)在PagedAttention中,KV Cache只是在一个请求内复用,而没有
4、做到跨请求的KV Cache复用 在多轮对话的场景下,下一轮的prompt其实刚好就是上一轮的prompt+completionSGLangvLLMDeepSeekHash RadixAttention的方法,它使用哈希码作为物理KV Block的唯一标识hash(prefix tokens+block tokens)Logical KV blocks-Physical KV blocks上下文硬盘缓存技术,把预计未来会重复使用的内容,缓存在分布式的硬盘阵列中原生支持通过RadixAttention来实现Prefix Cachingfirst-come-first-serve,无法达到最优的缓
5、存复用效果cache-aware scheduling的调度算法KVCacheKVCache共享和复用基本原理“What day is it today”Prefill for Request IdayWhattodaytomorrowitisittodayisdayWhat(5 tokens computed)“What day is it tomorrow”Prefill for Request II(1 token computed)WhatdaydayWhatisitisittomorrowtomorrowitisdayWhatKVCache复用前四个字符和第一个请求相同,因此无需重复
6、计算可以直接复用中间结果以存换算基本原理:前缀匹配的中间结果可被复用KVCacheKVCache共享和复用基本原理所有查询可复用大模型辅助读论文场景为例System Prompt:你是一个论文阅读助手,User Question 1:总结一下这篇论文User Question 2:这篇论文关键创新是什么User Question 3:有哪些相关研究?User Question 4:可以进一步探索什么?热点论文复用率高可复用长度长问题短不同的用户会对同一篇论文进行不同角度的提问,只要能将共享的可复用的部分保存下来多次复用就可以大幅度降低算力开销03以以KVCacheKVCache为中心的解耦架构