尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
响应延迟降低一半:如何使用EnergonAI的LRU响应缓存ListCache
响应延迟降低一半如何使用EnergonAI的LRU响应缓存ListCache【免费下载链接】EnergonAILarge-scale model inference.项目地址: https://gitcode.com/gh_mirrors/en/EnergonAIEnergonAI 是一个面向大规模模型推理的服务框架其内置的ListCache LRU 响应缓存可以显著降低推理服务的响应延迟。对于重复出现的请求例如固定的测试 prompt、高频问答模板ListCache 直接返回缓存结果让命中请求的延迟从跑完整次生成降到毫秒级从而在混合流量下将平均响应延迟降低约一半。本文将带你快速上手这个功能。为什么推理服务需要响应缓存大模型推理的主要开销在 GPU 上逐 token 生成一次 64 token 的生成可能耗时数百毫秒到数秒。但在真实业务中压测流量会反复发送相同的 prompt见 examples/opt/benchmark/locustfile.py固定问答模板如客服话术、翻译样例被高频重复调用 相同prompt max_tokens的请求结果在采样参数固定时是可复用的对这类请求把结果缓存起来第二次请求就无需再占用 GPU——响应延迟直接趋近于零。ListCache 的 3 个核心机制ListCache 的实现位于 examples/opt/cache.py仅约 60 行代码基于OrderedDict 线程锁实现包含三个关键设计1. LRU 淘汰策略当缓存容量cache_size满时最久未访问的 key 会被优先淘汰。每次get命中或add更新都会把 key 移到队列末尾保证热点请求始终驻留在缓存中。2. 列表值缓存一个 key 存多个结果与普通 KV 缓存不同ListCache 的 value 是一个列表每个 key 最多缓存list_size个不同结果。命中时随机返回其中一个见 examples/opt/opt_server.py 中random.choice(outputs)。这带来两个好处采样类请求不会总返回同一句标准答案体验更自然列表未满时视为未命中会继续调用模型并补充结果直到填满3. 固定键fixed_keys永不淘汰高频核心 prompt 可以声明为固定键它们存放在独立的fixed_cache中不参与 LRU 淘汰。示例服务预置了 3 条固定问答 promptFIXED_CACHE_KEYS确保压测关键路径永远命中缓存。三步启用 ListCache 响应缓存第一步通过启动参数开启缓存以 OPT 推理服务为例examples/opt/opt_fastapi.pypython opt_fastapi.py opt-125m --cache_size 128 --cache_list_size 4参数含义说明--cache_size缓存的最大唯一请求数设为0表示关闭缓存默认值--cache_list_size每个请求缓存的结果数默认1越大越接近真实采样分布BLOOM 示例examples/bloom/server.py使用完全相同的参数体系。第二步请求走先查缓存流程服务端的处理逻辑非常直观用(prompt, max_tokens)组合作为缓存 key调用cache.get(key)命中则随机取一个结果直接返回未命中抛出MissCacheError则提交到 energonai/engine.py 的推理引擎执行生成生成完成后调用cache.add(key, output)回填缓存也就是说接入 ListCache 只需要改动请求入口处寥寥几行代码与底部分布式推理引擎完全解耦。第三步为你的高频 prompt 配置固定键如果你的业务有明显的必问 prompt比如健康检查、演示样例把它们加进fixed_keys即可保证这些请求 100% 命中、永不被挤出缓存。调优建议怎样把延迟压到最低cache_size 宁大勿小它只影响内存占用缓存的是文本结果不是张量建议按 QPS × 平均 prompt 种类预估cache_list_size 设为 2~4在结果多样性与命中率之间取得平衡列表没填满之前会持续走真实推理压测验证项目自带 Locust 压测脚本可用 examples/opt/benchmark/locustfile.py 开启/关闭缓存对比 P50/P99 延迟总结ListCache 是 EnergonAI 推理服务中投入最小、收益最大的优化之一✅ 纯内存实现对分布式推理引擎零侵入✅ LRU 固定键双策略热点请求稳定命中✅ 每个 key 缓存多条结果兼顾性能与体验✅ 两行启动参数即可开启cache_size0随时可关如果你的服务存在重复请求流量现在就加上--cache_size让平均响应延迟降低一半吧【免费下载链接】EnergonAILarge-scale model inference.项目地址: https://gitcode.com/gh_mirrors/en/EnergonAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

5分钟快速上手 PostgreSQL Playground:从克隆项目到第一条 SQL 的完整入门教程

5分钟快速上手 PostgreSQL Playground:从克隆项目到第一条 SQL 的完整入门教程

5分钟快速上手 PostgreSQL Playground:从克隆项目到第一条 SQL 的完整入门教程 【免费下载链接】pg In Browser PostgreSQL Playground, no server, just client and pglite (postgresql wasm) 项目地址: https://gitcode.com/gh_mirrors/pg2/pg PostgreSQL …

📅 2026/11/9 21:55:52
uWSGI新手必知的12个常见坑:官方最佳实践完整清单

uWSGI新手必知的12个常见坑:官方最佳实践完整清单

uWSGI新手必知的12个常见坑:官方最佳实践完整清单 【免费下载链接】uwsgi-docs Official uWSGI docs, examples, tutorials, tips and tricks 项目地址: https://gitcode.com/gh_mirrors/uw/uwsgi-docs uWSGI 是一款功能强大的开源应用服务器,广泛…

📅 2026/11/9 21:55:53
All-Mem:为AI Agent构建动态演化的终身记忆系统

All-Mem:为AI Agent构建动态演化的终身记忆系统

1. 项目概述:当AI学会“记事儿”最近在折腾LLM Agent(大语言模型智能体)的朋友,估计都绕不开一个核心痛点:记忆。我们总希望AI能像人一样,在持续的对话和任务中记住关键信息,形成连贯的认知&…

📅 2026/10/6 18:11:15
MORE NEWS

更多资讯

📰

在北京如何报考电工证全流程办理指南

之前考的证在外省能不能转过来?北京电工证报考真实经历全解析 之前考的证在外省能不能转过来?这是我接到最多的问题之一,尤其是在北京从事电工相关工作的朋友,经常因为证书归属地不同而遇到各种限制。今天我就结合自己的真实经历,聊聊在北京如何报考电工…

📰

余杭 电工证合格标准与通过率

余杭电工证报名全攻略:官方报名入口在哪?怎么避坑? 你是不是正在为找不到工作发愁?特种作业证就是你的“通行证”,特别是 余杭电工证 ,没它连门都进不去。现在你最关心的问题就是: 官方报名入口…

📰

赤峰安监局办理电工证含金量有多高?别再等了,上岗前必须搞懂!

赤峰安监局办理电工证含金量有多高?别再等了,上岗前必须搞懂! 你有没有想过,为什么现在连找个电工的工作都要先有证?不是说没证干不了,而是 没证根本进不了门 。特别是像赤峰这种地方, 急需特种作业证才能上岗找工作…

📰

电工证没基础难吗 官方回应实操考试不难但要方法

电工证没基础难吗 官方回应实操考试不难但要方法 实操考试心里没底怕挂科?这是不少零基础考生最真实的担忧。尤其是电工证这种涉及电气安全、操作规范的证书,很多人一听到“实操”二字就紧张。但根据 河南省安全技术防范行业协会…

📰

合肥电工证复审地址在哪?含金量够不够找工作用?

合肥电工证复审地址在哪?含金量够不够找工作用? 你是不是正被“急需特种作业证才能上岗找工作”这个问题逼得焦头烂额?电工证作为特种作业证的一种,含金量高不高,能不能在合肥找到满意的工作,全靠这张证说话。现在合肥的电工证复审地址你还没搞清楚,那…

📰

没有电工证参与接线怎么搞?郑州报考避坑指南教你应对实操考试心慌

没有电工证参与接线怎么搞?郑州报考避坑指南教你应对实操考试心慌 实操考试心里没底怕挂科,这几乎是每个准备考电工证的学员心里的疙瘩。尤其是像你这样, 没有电工证参与接线 的新人,更担心一上手就出错。别急, 郑州报考避坑指南…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬