返回首页
最新
故事的简短版本是,我经历了两年的网络 hiatus。在这段时间里,我的 Gandi 账户和一个已有十年历史的域名被锁定。我与他们的滥用部门来回发邮件,已经快一周了,他们的反应非常缓慢。
我通过短信联系到了 CEO,他向我保证如果今天问题没有解决,可以再发短信给他。但现在他对我失联了。
我曾经非常喜欢 Gandi,但他们现在把我的域名当作人质。这听起来并不糟糕,直到我提到账户被锁定时,域名服务器被更改了,因此我完全无法访问这个域名。这不仅仅是一个我没有使用的域名,它与我的整个生活息息相关。
我知道自从被收购后,他们的服务质量下降了,但我没想到会糟糕到这种地步。
我该怎么办?除了“吸取教训,备份代码并转移域名”之外。
我大部分时间都在 Nushell 终端中工作,希望能有一种简单的方法来查询大型 Rust 程序。我还希望利用大型语言模型(LLMs)来保持文档的更新,并找出我的文档开始出现不准确之处的地方。因此,我制作了 rust-ast。它在底层调用 ast-grep,将 Rust 仓库转换为结构良好的数据。
简要概述
一个小型、与供应商无关的推理循环,将令牌的对数概率/困惑度/熵转化为针对小型大语言模型(LLM)的单次精炼过程。
功能介绍
- 在生成过程中捕获对数概率/前k个候选,计算困惑度和令牌级熵。
- 当简单阈值触发时,最多触发一次精炼;将一个紧凑的“不确定性报告”(不确定的令牌 + 前k个替代 + 本地上下文)传递回模型。
- 在我们对技术问答/数学/代码的测试中,一个小型模型以约三分之一的成本恢复了大部分“推理”质量,同时精炼了约三分之一的输出。
构建原因
我发现“推理”模型表现得像昂贵的黑箱。同时,标准推理在softmax归一化之前和之后(对数概率)已经计算出有用的信号,而我们通常会将其丢弃。这个循环尝试了你能想到的最简单的方法:利用这些信号来决定何时(以及在哪里)再次思考。
如何尝试
GitHub(笔记本 + 最小代码):[https://github.com/monostate/weave-logprobs-reasoning-loop](https://github.com/monostate/weave-logprobs-reasoning-loop)
论文(简短 & 工程师撰写):[http://arxiv.org/abs/2509.00079](http://arxiv.org/abs/2509.00079)
博客(更多背景):[https://monostate.ai/blog/entropy-refinement-blog](https://monostate.ai/blog/entropy-refinement-blog)
要求:Python,能够暴露对数概率的API(已在OpenAI非推理4.1上测试)。需要OPENAI_API_KEY和WEAVE以实现可观察性。运行笔记本,它会打印指标并显示哪些令牌触发了精炼。
技术栈/备注
- Python,简单循环(无重训练)。
- 使用Responses API的对数概率/前k个候选;指标:困惑度、最大令牌熵、低置信度计数。
- Weave用于轻量级日志记录/可观察性(可选)。
我学到的东西/重要事项
- 传递替代方案(不仅仅是“这看起来不确定”)可以防止过度修正。
- 一个简单的或规则(困惑度/最大熵/低置信度计数)可以捕捉互补的失败模式。
- 数值在不同供应商之间可能会漂移;保持方法与供应商无关比追逐脆弱的配对更好。
局限性/注意事项
- 需要暴露对数概率/前k个候选的API。
- 结果具有指示性——不是排行榜;重点在于模型内部的收益(单次通过与+循环)。
- 阈值可能需要根据领域进行轻微调整。
- 仅限一次通过;不是思维链的替代品。
请求/反馈
- 在你的模型和想法上运行它(例如,4o-mini、v3、带有对数概率的Llama变体),如果愿意,可以在GitHub的PR中分享日志,我们欢迎PR - 我会给予信用和链接。
总之,如果你发现让小型模型以这种方式进行推理有用,请告诉我!