ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

缓存命中率从5.2%飙到78.4%:LLM-as-a-Verifier前缀缓存优化与token计量完整拆解

缓存命中率从5.2%飙到78.4%:LLM-as-a-Verifier前缀缓存优化与token计量完整拆解 缓存命中率从5.2%飙到78.4%LLM-as-a-Verifier前缀缓存优化与token计量完整拆解【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifierLLM-as-a-Verifier 是一个通用型LLM 验证框架它把大模型变成裁判为任意 Agent 的轨迹提供细粒度反馈无需额外训练即可支撑 Best-of-N 筛选、进度追踪和强化学习。在 v0.2.0 中官方通过前缀缓存优化和token 计量两项升级把 Terminal-Bench 2.1 上的后端缓存命中率从 5.2% 拉到了 78.4%未缓存输入 token 直接砍掉约 3.4 倍 验证器为什么这么烧钱先搞懂成本从哪来 这个框架的核心操作是成对比较把 Agent 的两条轨迹放进同一个 prompt让验证模型按评分标准打分。问题在于——每条验证 prompt 要携带两条完整轨迹在 Terminal-Bench 2.1 上约8 万 token同一对轨迹还要按多个评分标准 × 多次重复验证反复打分。如果每次请求的 prompt 开头都不一样后端的前缀缓存几乎帮不上忙8 万 token 的正文每次都要重新计费。这就是命中率只有 5.2% 的根源。优化之后同样的验证任务在三大基准上依然保持 SOTA基准基座模型Pass1LLM-as-a-VerifierOracleTerminal-Bench V2GPT-5.5Bo583.1%86.5%92.1%SWE-Bench VerifiedOpus 4.5/4.6 等Bo376.1%78.2%84.4%MedAgentBenchOpus 4.8Bo570.2%73.3%75.0%更妙的是自己验证自己用deepseek-v4-flash生成 5 条轨迹再用同一个模型当裁判Best-of-5 能从 78.7% 提到 88.0%——轨迹数据直接内置在 data/terminal_bench_2.1_trajs/ 目录里。前缀缓存优化两个改动命中率翻 15 倍 ⚡技巧一评分标准放在 prompt 末尾前缀缓存的原理很直白两个请求只要开头完全一致后面的重复部分就能从缓存取用。于是 prompt 的拼装顺序被刻意设计成任务描述 → 2. 轨迹 A → 3. 轨迹 B → 4. 评分量表 → 5.最后才是评分标准因为同一对轨迹会在不同评分标准、不同重复轮次之间反复出现把唯一变化的部分评分标准压到最末尾前面那 8 万 token 的重头戏就全部成为可复用的共享前缀。这个设计落在 build_prompt 中源码注释还专门叮嘱了编辑时请把标准专属文本严格保留在末尾。顺带一提奇数轮次会自动交换 A/B 槽位把模型的位置偏好也在重复验证中抵消掉精度和省钱两不误。技巧二先热缓存再扇出并行还有个容易踩的坑后端的前缀缓存要等第一个请求返回后才会被填充。如果几十上百个同前缀请求同时打出去它们全都抢在缓存写好的前一刻等于集体白跑。所以批量打分被拆成两波见 score_directed_pairs热身波每种不同的 prompt 前缀先各跑 1 个请求并等它完成——把缓存焐热扇出波其余请求再并发打出去全部命中热缓存。两个技巧叠加效果就是本文标题里的数字缓存命中率 5.2% → 78.4%未缓存输入 token 减少约 3.4 倍。Token 计量cache_hit_rate 不再是玄学 光优化不测量等于盲人摸象。v0.2.0 给每次验证调用都记了账进程内有一个线程安全的全局计数器TokenUsage自动解析后端的 usage 字段兼容 OpenAI 系与 Gemini 系两套格式累计 4 类数字字段含义input_tokens本次计价的输入总量含命中缓存部分cached_input_tokens其中命中前缀缓存的份额output_tokens输出总量含推理链reasoning_tokens其中推理链的份额跑一次 benchmarkscripts/run.py 会在结果表下方直接打印账单并写入results/benchmark.txtTerminal-Bench 2.1 的真实输出长这样Verifier tokens (4,320 verifier calls) input 272,551,552 cached input 214,712,320 (78.8% hit rate) uncached input 57,839,232 output 32,441,600 reasoning 26,102,144作为库的用户三行代码就能拿到同样的数据import llm_verifier llm_verifier.USAGE.reset() result llm_verifier.select(problem, trajectories, criteriaterminal_bench) print(llm_verifier.token_usage()) # {calls: 24, cache_hit_rate: 0.787, ...}两个细节值得注意只有本次运行真实发出的请求才计数——从磁盘评分缓存命中的比较一分钱都不算cache_hit_rate由cached / input实时算出所以命中率是测出来的不是猜出来的。三步跑起来新手快速上手清单 ✅1️⃣ 克隆仓库并安装git clone https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier cd llm-as-a-verifier pip install -e .2️⃣ 在.env里写入一个后端密钥如DEEPSEEK_API_KEY或支持 logprobs 的 OpenAI 兼容地址。3️⃣ 按名字跑基准或复现自选实验python scripts/run.py terminal_bench_2.1 # 前缀缓存优化实测基准 python scripts/run_bo5.py # 复现 Best-of-5 自验证结果评分标准写在 criteria/ 目录下如 criteria/terminal_bench.md想接入自己的任务照着 add_new_benchmark.md 三步走即可。不止省钱验证器还能干什么 ️Best-of-N 筛选靠概率枢轴锦标赛把比较预算从 O(N²) 压到 O(Nk)——每个候选只跟少数枢轴比完整流程如下进度追踪track/ProgressTracker能给 Agent 每一步打实时分分数低于阈值就提前放弃 hopeless 的 rollout。下面是同一任务成功与失败两条轨迹的对比曲线成功组的分数稳步爬升失败组始终趴在低位多模态验证所有入口都接受images参数机器人摄像头帧、截图都能作为轨迹上下文参与打分。写在最后 一次标准放末尾 缓存预热的 prompt 编排加上全程可审计的 token 计量让 LLM-as-a-Verifier 把验证成本打下来一个数量级同时在 Terminal-Bench、SWE-Bench Verified、MedAgentBench 上守住 SOTA。想深入了解版本演进细节可以直接翻 CHANGELOG.md 里 0.2.0 的完整记录——前缀缓存优化、DeepSeek 后端、token 计量都出自这一版。【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表