返回集市
文章阿康

JEV 平替 | laya 和 Intern-Decision

实测两款本地毫秒级决策模型 Laya 与 Intern-Decision,聊聊在中文语境和多模态场景下如何做选择,以及群聊路由落地中的真实踩坑经验。

做 Agent 编排或者群聊消息路由的时候,很多人都用过 TypeSafe AI 的 Jev。它专为结构化决策设计,输出 choice、score、noul 这些分支判断很利索,端到端延迟也低。但 Jev 是个闭源云端 API,按次计费不说,每次请求都要走一遍网络。更麻烦的是,群聊记录、客服对话这些数据通常比较敏感,每次做分支判断都要往第三方云端送一次,隐私和合规上始终是个顾虑。

大家一直在找能在本地跑、响应在几十毫秒的开源平替。

最近开源社区放出了两个不错的选择:一个是 Convai 开源的 Laya,另一个是上海 AI 实验室(InternLM 团队)发布的 Intern-Decision。这两家都原生兼容 Jev 的 Schema 语法,老代码基本可以无缝切过来。我把两个模型都拉到本地完整跑了一遍,实测差异非常明显。

Laya:极致轻量,但中文语境偏弱

Laya 基于 Apache 2.0 协议开源,走的是非自回归架构。它分两个版本:英文版基于 ModernBERT-large(约 421M 参数),多语言版基于 mmBERT(约 322M 参数)。

Laya 最大的优势就是轻和快。因为不是自回归生成,它不需要一个 token 一个 token 往外蹦,单次前向传播就能直接输出选项概率。它原生支持 ONNX 和 Apple MLX,在普通设备上单次延迟就能压到 30ms 级别,几乎不占算力资源。

但在中文实测中,它的短板也很明显。mmBERT 这类多语言编码器基座,面对中文日常口语、群聊黑话、谐音梗或者稍微长一点的上下文,理解起来相对吃力。如果你的业务是纯英文出海产品,或者只是做规则清晰的单句意图分类,Laya 凭借 300M 左右的体量确实合适;但如果要放进中文复杂群聊里做路由,准确率很容易达不到预期。

Intern-Decision:懂中文、能看图的多模态平替

上海 AI 实验室开源的 Intern-Decision 同样遵循 Apache 2.0 协议,提供了 0.8B、2B、4B 三种规格。它基于现代大模型基座改造,不仅完整继承了 Jev 的 Schema 语法,还把输入能力扩展到了多模态,支持同时输入文本和多张图片。

官方评测数据给得很扎实:4B 版本在七项准确率测试集上的平均准确率达到 90.02%,超过了 Jev 官方的 88.74%,而且概率校准指标(Brier 分数 0.550 对比 0.595)表现更好,说明它给出的置信度更靠谱。

实际测试中,最实用的其实是最小的 0.8B 版本。我在一台 16GB 内存的 Apple M4 上用 Hugging Face 跑 MPS 加速实测:

  • 0.8B 全精度加载后常驻内存约 1.5GB,如果做 4-bit 量化可以压到 800MB 以内。
  • 单次决策平均延迟稳定在 30 到 34 毫秒,速度跟几百兆的 BERT 模型处在同一梯队。
  • 中文语义理解和多轮口语推理明显好过 Laya,不会轻易被群聊里的口语化表达带偏。

另外就是多模态能力。比如做群聊运维机器人,用户直接发一张报错截图或者服务器监控图,Intern-Decision 可以直接看图做决策,不需要再额外接一层缓慢又昂贵的视觉模型去做 OCR 或前置解析。

怎么选

选型逻辑其实很清晰:

第一,如果是纯海外英文业务、对体积敏感到了极点,希望把模型直接打包塞进端侧应用(只有 300M 到 400M 体量),选 Laya。

第二,如果是国内中文语境(比如微信机器人、内容过滤、私域群聊路由),或者业务里需要带图做决策,直接选 Intern-Decision-0.8B。它在兼顾大模型语义理解和多模态能力的同时,把延迟压在了 30 毫秒出头,本地跑起来非常轻快。

踩坑干货:群聊前置判定,千万别搞“正向筛选”

刚开始做群聊机器人路由的时候,几乎所有人都会踩同一个坑:总想让前置小模型去判断“这条消息有没有价值、值不值得回复”。

只要你这么干,大概率会翻车。因为真实群聊里 95% 的内容都是无头无尾的碎碎念、表情包、打卡、缩写或者群友之间的互相调侃。如果让小模型去寻找“有回复价值的信息”,它的判定策略会变得极度保守。最后的结果就是机器人变得极度高冷,一天下来回不了两句话,群里的互动氛围直接冷场。

后来我们把判定逻辑彻底反了过来,改成负向排除法:

前置小模型不需要知道什么是“精彩发言”,它只需要把那些“明确不该回复的内容”卡死:

  1. 连续复读、纯表情刷屏、无意义字符灌水;
  2. 触碰政治、伦理红线的敏感违规发言;
  3. 群里其他第三方工具机器人的系统指令和固定套话;
  4. 明确对其他人的一对一私聊回复。

只要不是上面这些必须闭嘴的情况,剩下所有的正常提问、日常闲聊、吐槽,统统放行,直接扔给后面的大模型去处理。

逻辑一换,效果立竿见影。前置几十毫秒的小模型把垃圾流量和风险问题全部挡在门外,省下了大量后端推理算力;而正常的交流对话全部能顺畅流转下去,整个群的活跃度立刻就盘活了。

零人工标注:如何沉淀数据并微调本地专属权重

很多团队知道小模型需要针对群聊语境微调,但一想到要人工给几万条群聊打标签,就直接放弃了。

其实根本不用人工去标。在实际工程落地时,有一套非常省事的 Teacher-Student 蒸馏打法:

平时跑系统的时候,后端的思考型大模型本身就是最好的 Teacher。每次收到群聊消息,大模型在决定是回复还是保持沉默的同时,让系统把当时的上下文窗口、输入内容以及大模型最终的决策动作,自动落盘追加存成 JSONL 格式。

你只要让这套逻辑在群里正常跑上三五天,就能自动沉淀出几千条完全贴合本群说话风格、黑话习惯和特定话题的真实标注样本。

数据攒够之后,直接调用 Intern-Decision 官方自带的微调脚本跑一轮 SFT,导出专属的 checkpoint 替换掉通用权重。

这样微调出来的 0.8B 本地模型,不仅依然保持着 30 毫秒的极速响应,而且能完全吃透你这个群特定的“回复品味”和话语边界。在实际业务中的判断准确率,会比直接用出厂通用模型高出整整一个档次。