Adaptive Multi-Objective Tiered Storage Configuration for KV Cache in LLM Service

本文提出了 Kareto,一种针对大语言模型 KV 缓存的自适应多目标分层存储配置优化器,它通过利用收益递减剪枝策略高效搜索帕累托前沿,并结合细粒度自适应调优机制,在真实工作负载下实现了吞吐量、延迟或成本等指标相比固定配置显著更优的平衡。

Xianzhe Zheng, Zhengheng Wang, Ruiyan Ma, Rui Wang, Xiyu Wang, Rui Chen, Peng Zhang, Sicheng Pan, Zhangheng Huang, Chenxin Wu, Yi Zhang, Bo Cai, Kan Liu, Teng Ma, Yin Du, Dong Deng, Sai Wu, Guoyun Zhu, Wei Zhang, Feifei Li

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 Kareto 的智能系统,它的任务是帮大语言模型(LLM,比如现在的各种 AI 聊天机器人)“省钱、提速、省内存”。

为了让你更容易理解,我们可以把运行一个大模型想象成经营一家超级繁忙的“知识餐厅”

1. 核心难题:厨房太小,客人太多

  • 现状:大模型在回答问题时,需要记住之前说过的话(这叫"KV Cache")。这就像厨师在炒菜时,必须把之前的配料和步骤记在脑子里。
  • 问题
    • 昂贵的“大脑”(GPU 显存):餐厅里有一个超级快但非常小的“超级大脑”(GPU 显存),用来处理当前的订单。但它太小了,一旦客人多、对话长,脑子就装不下了。
    • 便宜的“记事本”(硬盘/内存):为了装下更多内容,我们可以在旁边放一些便宜的“记事本”(DRAM 内存或硬盘)。虽然它们便宜且容量大,但取东西很慢
  • 困境:如果全用“超级大脑”,太贵且装不下;如果全用“记事本”,取东西太慢,客人会等得不耐烦(延迟高)。现在的系统通常死板地分配多少空间给大脑、多少给记事本,不管客人是少还是多,也不管客人喜欢点什么菜。这导致要么浪费钱(买了太多用不上的空间),要么服务太慢(空间不够用)。

2. Kareto 的解决方案:聪明的“动态管家”

Kareto 就像一个拥有预知能力的超级管家,它不再死板地分配空间,而是根据客人的习惯(工作负载)来动态调整。它主要做了三件大事:

A. 寻找“完美平衡点”(帕累托前沿)

  • 比喻:想象你在买一辆车,你想速度最快油耗最低价格最便宜。但这三个目标通常是矛盾的(跑得快通常费油且贵)。
  • Kareto 的做法:它不会只给你一个固定的方案,而是画出一张“地图”,上面标出了所有**“最划算”的组合**。
    • 如果你想要速度最快,它告诉你:“用这么多内存,虽然贵点,但能省时间。”
    • 如果你想要最省钱,它告诉你:“少用点内存,虽然慢一点点,但能省下一大笔钱。”
    • 它帮你找到那个**“花最少的钱,办最多的事”**的甜蜜点。

B. 像“修剪树枝”一样搜索(自适应搜索)

  • 比喻:要在成千上万种配置里找最佳方案,就像在森林里找一棵完美的树。如果一棵一棵地试,累死也找不完。
  • Kareto 的做法:它很聪明,知道**“边际效应递减”**。
    • 比如,内存从 100GB 加到 200GB,速度提升巨大;但从 2000GB 加到 2100GB,速度几乎没变,但钱却花了不少。
    • Kareto 发现这种“加钱也没用”的区域后,就直接跳过,不再浪费时间去测试。它只把精力花在那些“稍微加点配置,效果就大不同”的关键区域。这让它找方案的速度快了很多。

C. 给不同的“客人”发不同的“通行证”(分组 TTL 策略)

  • 比喻:在餐厅里,有些客人是常客(比如每天来点同一份套餐的),有些是一次性游客(只来一次)。
    • 以前的做法:给所有客人的“座位保留时间”(TTL,生存时间)都一样。结果,常客的座位被误删了,游客的座位却占着空位。
  • Kareto 的做法:它观察客人的行为模式
    • 对于高频重复的对话(比如系统提示词、固定开场白),它给它们永久保留超长保留,因为反正马上又要用。
    • 对于一次性的对话,它快速清理,把宝贵的空间腾出来。
    • 这就好比给 VIP 客户发“终身会员卡”,给普通游客发“单次入场券”,极大地提高了空间利用率。

3. 效果如何?

研究人员用真实的餐厅数据(真实的大模型服务日志)来测试 Kareto,结果非常惊人:

  • 提速:在同样的硬件下,处理速度提升了 9.3%(相当于餐厅上菜更快了)。
  • 降延迟:客人等待第一口菜的时间减少了 58.3%(相当于不用等那么久就能开始吃)。
  • 省钱:在保持同样速度的情况下,成本降低了 20.2%(相当于省下了 1/5 的房租和食材钱)。

总结

简单来说,Kareto 就是一个大模型服务的“智能调度员”。它不再让系统“一刀切”地分配资源,而是通过模拟演练智能分析,根据每天不同的客流和菜单,动态调整“大脑”和“记事本”的比例,并给不同的数据贴上不同的“保质期”。

最终结果就是:花更少的钱,让 AI 跑得更快、更聪明。