spinf-serve: 单次读取实现批量分类与决策
Show HN: Spinf-serve – inference server for bulk scoring and decisions
spinf-serve 是一款专为批量分类和决策推理设计的服务器,能在单张 GPU 上实现内容单次读取并并行回答多个问题。它彻底改变了传统聊天式推理逐字生成的低效模式,通过分支化读取机制,将大量内容打包进单次前向传播。该项目兼容 OpenAI API,支持 Apache 2.0 协议,让开发者能在本地硬件上高效运行经过校准的决策模型,大幅提升吞吐量。
内容只需读取一次,每一个问题都是同一遍历中的分支,所有答案在同一轮中完成评分。
- Arkada
很高兴看到这个项目是从市场新闻管道中诞生的。我们在交易机器人里也有类似但规模较小的功能,试图根据固定问题(如重要性、方向、受影响的币种等)对传入的加密/宏观经济新闻进行评分。
如果只需要快速的“是/否”判断或评分,通过标准聊天 API 来做就有点大材小用了。另外,添加 `floor_p` 让用户看到模型在空输入下的基线偏差,也是个非常棒的功能。
用自己的数据集校准自定义提示词包(prompt pack)的难度如何?
- _puk
感谢分享。
我自己用 Gemma4 也做过类似的,但这里的分支设计很巧妙,得去试试。
如果你把问题打包进分支里,会不会存在提问顺序改变各输出概率的情况?
我看到有 packs 功能,但我追求的是尽可能接近确定性。
- giarec
我们开发 spinf-serve 是为了满足自身需求:每天从多个角度分析数百万篇新闻文章(我们对这些文章进行交易分析),后来决定将其开源,因为看来大家对这类工具很感兴趣。
它服务于一个细分领域:一次性对文本、图像和视频在多个问题下进行评分或分类。内容只读取一次,每个问题作为该次读取的一个分支来回答,因此每个额外问题仅消耗其自身的 token。交易分析是我们的应用场景,内容审核和入站分诊也是显而易见的适用场景。与我们测量的替代方案(带前缀缓存的 vLLM 和专用决策模型)相比,它非常节省 token,且在相同显卡上速度快 2 到 3 倍;任务集和脚本都在仓库里。
它运行支持的开源权重模型;我们起步时用的是 Gemma 4 和 Qwen3.8。我们也测试了 Perplexity 的 pplx-decider:对于硬性决策(是/否,A/B/C),决策模型往往更专注,但在评分方面,我们发现开箱即用的模型能提供更高的灵敏度和更宽的评分范围。
针对我们典型的评分需求,我们引入了 prompt packs,这是一种形式化的方式,可以将一组用于并行评分的问题、校准参数和决策规则打包在一个文件中。
该服务器是免费且开源的(Apache 2.0 协议),也是我们自己在生产环境中运行的工具。欢迎反馈你的想法。
如果你没有 GPU,还有一个提供免费额度的托管版本。