Replies: 3 comments
|
漂亮的实验——尤其"两个文档里的普通能力组合出 restricted-softmax"这条路线,把门槛从"需要专用模型"降到了"一个 beta 端点 + 一个参数",这个证伪很有价值。 补一条互补视角:如果不想自己维护 prefix/logprobs 聚合管线,TypeSafe Jev 的官方端点( 实测观感与你们的结论一致:输出结构不可能不合格式(softmax 限制在选项空间里), 两条路线我觉得是互补而不是二选一:你们的复刻对"不想引入第三方依赖、留在 DeepSeek 栈内"的场景更香,而且能直接摸到 token 级分布做自己的聚合实验;官方端点省掉管线维护, |
|
这就没必要复刻了吧,最多折腾出来一个降级方案,而JEV几乎没有壁垒,随便租一张卡就能训练了,性能、价格还更优 |
|
补一组更大样本的对照数据,正好对应二楼"没必要复刻"的判断。我维护 Jevals,一个和 TypeSafe 无关的独立评测:用人工标注的真实标签(而不是和 Jev 的一致率)给 Jev 和六个 LLM 打分,每个任务 300 题 × 5 次。DeepSeek V4.1 Flash(经 OpenRouter,不开推理)在榜上,但要注意,它是用提示词让模型直接写出各选项的概率,不是本帖的 prefix + logprobs 方案,所以可以当作这个方法要超过的基线。 Decision Score(100 = 完美,0 = 按标签分布瞎猜):
Choice 上差距最小;Noul 上 DeepSeek 准确率 83.7%、ECE 0.062,Jev 是 91.3%、0.050。成本上 Jev 约为它的 1/3,p95 延迟 0.65 秒对 1.1 秒。 本帖的 logprobs 分布应该比写出来的概率更接近 Jev 的机制。如果有人用这 900 题跑一遍 restricted-softmax 版本,结果可以直接和上表比,题目 id、标签和每题每次的概率都以 CC BY 4.0 公开:https://jevals.com/compare/jev-vs-deepseek-v4.1-flash/ |
Uh oh!
There was an error while loading. Please reload this page.
0. 先说 JEV 的启发
TypeSafe 的 JEV(
/v1/systemone)做了一件很漂亮的事:把「决策」从「生成」里剥出来。传统做法是让模型生成一段 JSON,再解析出答案。JEV 换了个姿势——不生成 token,直接在答案槽位读 logits,并把输出空间限制在选项字母上做 softmax(restricted-softmax)。于是:
confidenceoutput_tokens = 0,成本结构完全不同这对 agent 的启发是范式级的:agent 的大量判断(选哪个工具、走哪条分支、要不要拦)根本不需要生成自然语言,只需要一个可信的分布。 这个 insight 值得整个 agent 社区认真对待。
1. 但一个问题随之而来
这个范式,需要专用模型才能跑吗?
我们在 DeepSeek 上做了一组实验,答案是:大部分不需要——而且工具就在文档里,只是我们平时不看。
两个能力,单独看都很普通:
beta端点,assistant+prefix: true)logprobs+top_logprobs但把它们组合起来,恰好等价于 JEV 的核心机制:
金矿就在这里。 两个公开能力,一行
prefix: true,一个top_logprobs参数——不需要新模型、不需要新供应商、不需要换 API。2. 完整配方(4 步,缺一不可)
三个必须踩过的坑
temperature = 0top_logprobs除选中项外全是-9999占位符"(A"整块,字母概率散在别的形态里response_format: json_object3. 能复刻多少(实测数据)
数据集:16 条英文客服工单(含 gold)× 3 个问题(urgency/noul · department/choice · priority/score),与真 JEV
jev-1.13.0同输入、同问题、实时对照。confidence:最好玩的一段
真 JEV 给
billing 0.6 / support 0.4 / sales 0.0 → confidence 0.39。用单点反推会掉进陷阱:熵公式
1 − H(p)/lnK给 0.387,优势度公式(K·p_top − 1)/(K − 1)给 0.400,两点都 ≈0.39,无法区分。用 21 个多样化分布才能判定:
1 − H(p)/ln K(归一化熵)(K·p_top − 1)/(K − 1)(归一化优势度)K=2 时的决定性区分:
结论:JEV 的 confidence 就是归一化优势度——
p_top的线性函数,并非「分布形状的复杂推导」。这个公式现在可以 21/21 复刻。4. 延迟:瓶颈在哪
延迟分解(keep-alive 连接复用):
瓶颈是推理本身,不是网络、也不是这套范式。 所以优化方向很清楚:
同一 state 多问题(agent 的真实场景):复刻版需 N 次调用但可完全并发;JEV 单请求共享 prefill。N ≥ 3 时复刻版反超。
5. 那座没翻过去的墙——以及为什么它是高峰而不是终点
我们试了所有能想到的手段,去复刻 JEV 的条件化平滑度:
具体例子:「订阅续费扣错、修正截止明天」——
[0.01, 0.66, 0.33](保留 66% 的 middle 质量,它在犹豫)[0, 0, 1](直接给出极端)我们试过的所有唤起手段,全部失败:
temperature = 2.0看清最后一列:prompt 手段能抬高灰区的 medium,但代价是清晰案例也被一起抹平(JEV 在清晰案例上只有 0.005——它极度果断)。相关性 r 随之从 0.963 掉到 0.931。
这是「无差别抹平」,不是「定向唤起」。
但这不是叹息之墙
我想强调这个转折:我们已经把这个缺口精确地定义了。
一个被精确量化的问题,就是一个可以攀登的高峰。 它指明了三个方向:
而且,这个缺口的影响面比想象中小——只在你要消费概率质量(期望值、风险加权、把"犹豫度"当信号)时才咬人:
对 agent 的高频离散判断(路由 / 选择 / 门控),复刻版完全够用。
6. 我们的总体结论
JEV 范式的惊艳,拆开看是三个公开能力的组合:
prefix completion(锁输出空间)+logprobs(读字母分布)+ 优势度公式(算置信度)。没有黑箱。金矿就在文档里。对 agent 社区来说,这意味着:你不必等一个专用 API——你可以今天就把它接进自己的 harness。
7. 想一起讨论的问题
logprobs + prefix completion就行。有没有人在其他厂商上试过?附:完整可运行的最小复刻代码(点开)
注意事项
/beta/chat/completions(prefix completion 只在 beta 端点)temperature必须 > 0(我们踩过:temp=0 时top_logprobs全是-9999)max_tokens给 4 就够(首 token 即答案,后面几个 token 只是保险)message.content兜底抽取并标记(极罕见)本实验的方法与数据均为可复现的公开操作。如果你复现了、或者在其他厂商上试了、或者正在攻那个「条件化校准」的高峰——欢迎在下面留言,我们很想听。
All reactions