快 7 倍、永久免费:开源决策引擎 Laya 凭什么"单挑"爆火的 Jev?

33ms、零幻觉、100+ 语言、Apache 2.0——当所有人都在追捧 Jev 时,这个叫 Laya 的开源项目说:"这件事我一年前就开始做了。"

封面.png

一、开场:AI 圈的新物种,一周内诞生了两个

过去一周,AI 圈被一个叫 Jev 的模型刷屏了。

它不写文章、不陪聊、甚至不生成一句完整的话。它只做一件事:做判断

Jev 来自 TypeSafe AI——由 Diogo Almeida(ChatGPT 联合发明人之一)创立的明星公司。官方定位是"System One 模型":不生成文本,只对输入输出结构化的判断结果和置信度。宣传口径是同样的任务比传统大模型快 200 倍、便宜 400 倍,定价 $0.042 / 百万 token。

但 Jev 是闭源 API:没有论文、没有权重、没有开放数据集,单题响应延迟在 236–276ms(第三方独立测量)。

而就在 Jev 发布后一周,一个叫 Laya 的开源项目上线并迅速出圈。它的作者说了一句很扎心的话:

"这件事我 2025 年 3 月就做过一版(arXiv:2503.23303),9 月又发了正式框架论文(arXiv:2510.01237)。现在我把所有经验重新做了一遍——完全开源。"(Convai Innovations)

这不是简单的"蹭热度",而是一次真正意义上的技术对标:Laya(开启路由)在多个基准上反超 Jev,速度快约 7 倍,权重完全开源,自托管成本为零。

本文就从原理、基准、路由机制、局限和实战五个维度,把 Laya 讲透。

laya_vs_jev_full.png

二、先聊痛点:为什么 80% 的 AI 调用根本不需要大模型

现代 AI 流水线有一个巨大的瓶颈:我们用生成式大模型去回答一些简单的"反射题"。

一条客服工单进来,系统真正需要回答的往往只是:

  • 这工单该分给哪个处理队列?
  • 这封邮件是钓鱼攻击还是正常邮件?
  • 这段 Prompt 是在越狱、注入还是正常提问?
  • 这个问题的紧急程度是 0 到 3 的哪一档?

用 8B、70B 甚至前沿闭源大模型做这些事,属于"大炮打蚊子",而且有三个致命缺陷:

  1. 慢。 自回归生成是一个 token 一个 token 地"写",一次回答要跑几十上百次前向传播。500ms 到 2000ms 是常态,它写完整句话你才能开始解析。
  2. 贵。 按 token 计费,高频调用场景(比如每天几十万条工单)成本会迅速失控。
  3. 假置信度。 这是最隐蔽的坑。大模型输出 "confidence: 0.95" 时,它只是在"预测听起来自信的 token"——背后没有任何统计学校准。你的生产代码如果把 0.95 当作"95% 正确率"来做自动化决策,迟早出事。

人类大脑的"系统 1"(System 1)做这类判断是瞬间的、直觉的、带天然置信度的。我们需要的正是这样一个模型:单次前向传播、只输出概率和标签、置信度经过数学校准。

Laya 就是干这个的。

三、Laya 是什么:33ms 的非自回归决策引擎

Laya 由 Convai Innovations 开发,基于双向编码器(ModernBERT / mmBERT)构建,不是自回归模型——它不生成文本,只输出概率和数字。

因为输出空间只有概率和数值,所以:

  • 不会幻觉:没有文本可生成,就没有东西可编造;
  • 不可能违反 schema:JSON 解析失败、格式错误在物理上无法发生;
  • 无需解析器:你的下游代码直接拿到干净的结构化字段。

3.1 三种决策原语(Decision Primitives)

Laya 把"做判断"抽象成三种题型,一次前向传播可以同时回答多个:

原语输出典型场景
choice选中项 + 全选项概率分布 + 置信度部门路由、意图分类、主题归类
score有序标尺上的期望等级 + 分布紧急度、愤怒程度、危害等级
noul校准后的 P(true),0.0–1.0钓鱼检测、垃圾邮件、越狱检测、流失风险

3.2 三个专用检查点 + 一个 Router

一个模型不可能对所有任务和语言都最优,Laya 发布了三个检查点(统一放在同一个 Hugging Face 仓库,按需下载子目录,不必拉全量 2.5GB):

检查点编码器参数量上下文强项
layaModernBERT-large421M512英文文本分类、Guardrails、邮件分诊
laya-multilingualmmBERT-base322M1024(可扩展 8k)100+ 语言,2.2 倍速度
laya-typed-decisionsModernBERT-large421M1024智能体可观测性、客服、发票处理、安全告警

Router 会在每次请求时自动选择正确的检查点——这正是 Laya 相比 Jev 最被低估的创新,我们在第五节展开。

3.3 速度:单题 33ms,批量 7.2ms/题

在单张 T4 GPU 上实测:

每批问题数layalaya-multilingual
1 题39.5 ms32.8 ms
5 题84.5 ms40.1 ms
10 题158.6 ms72.3 ms(7.2ms/题)
50 题771 ms337 ms(6.8ms/题)

批量吞吐可达 103–332 题/秒(单张 T4)。作为对照,Jev 的第三方实测 P50 为 236–276ms——Laya 单题快约 6–7 倍。

四、Laya(开启路由)vs Jev:硬碰硬对比

以下是官网公布的对比表(Laya 的数据均为实测;Jev 数据来自第三方独立研究 AbdelStark、nibzard 及 TypeSafe AI 官方公开数据):

基准 / 指标TypeSafe Jev 1.13.0Laya(Routed)差值
typed-decisions(2000 次决策)0.7270.766+3.9%(超过 0.735 教师天花板)
AG News(4 分类)0.9100.950+4.0%
DAIR Emotion(6 分类)0.480(Brier 0.846)0.595+11.5%(Jev 有 16% 样本零概率)
校准误差(ECE,越低越好)0.2460.081校准好 3 倍
单题 P50 延迟236–276 ms32.8 ms快 7.8 倍
10 题批量 P50~1500 ms(串行)72.3 ms快 20 倍
可用语言(> 3 倍随机基线)无公开基准45 / 51全球语言覆盖
成本$0.042 / 百万 token$0.00(自托管)100% 免费 Apache 2.0
权重与代码闭源 API开源 safetensors可内网/气隙部署

三个关键解读:

1. 准确率:小模型打败"明星模型"。 在 2000 次决策的 typed-decisions 基准上,微调后的 Laya 拿到 0.766,不仅超过 Jev 的 0.727,还超过了蒸馏教师的自我一致天花板(0.735)。四条工作流全部取胜:发票处理 0.804、安全事件 0.766、客服 0.764、Agent 轨迹可观测性 0.730。

2. 校准:这是"能不能上生产"的分水岭。 ECE(期望校准误差)衡量的是"模型说 90% 时果然有 90% 的概率正确"。Jev 的 ECE 是 0.246,Laya 经过温度拟合后是 0.081。更极端的是 DAIR Emotion 上,Jev 在 16% 的样本上给真实标签分配了零概率——对任何依赖置信度分支的生产代码来说,这是硬故障。Laya 的概率是严格按 proper scoring rule 训练的,可以直接拿来做 if conf >= 0.85 这样的自动化门控。

3. 成本与自主权:开源带来的不是便宜,是选择权。 Jev 按 token 计费,数据必须出内网;Laya 是 Apache 2.0 权重,可以在单张消费级 GPU、MacBook 甚至边缘设备上本地运行——敏感 Prompt、用户数据、内部代码不出内网,高频调用不再心疼,还能针对垂直场景微调。


五、Router:Laya 真正的"杀招"不是 33ms

如果说速度是 Laya 的门面,Router(路由)才是它的底牌。

5.1 一个令人脊背发凉的发现

Laya 团队做了一个 51 种语言的 MASSIVE 基准测试(20 个选项,随机基线 0.050),结果发现了英文模型的"灾难性自信":

语言准确率模型自报置信度
高棉语(Khmer)0.00095.2%
亚美尼亚语0.050(纯随机)88.5%
希伯来语0.06096.4%
孟加拉语0.08094.5%
印地语0.10094.1%

看懂了吗?英文检查点在高棉语上 100 题全军覆没,却依然保持 95%+ 的自信。 在全部 51 种语言上,无论准确率是 82% 还是 0%,这个模型的平均置信度从未低于 0.885。

这意味着:置信度门控救不了你。 模型读不懂文字时,它不会告诉你。选哪个模型的决定,必须在推理开始之前完成。

5.2 亚毫秒级的纯 Python 路由

Laya 内置的 Router 在推理前先扫描文本的 Unicode 文字系统(覆盖 22 种字母表:天城文、CJK、西里尔、阿拉伯、希伯来、泰米尔、泰文……),并分析拉丁字母文本的停用词分布:

  • 标准英文文本:0.09 ms 检测开销
  • 天城文/印度语系:0.54 ms
  • 200 行嵌套 JSON 大文档:0.73 ms

相比 33ms 的前向传播,路由开销不足 2%,却彻底解决了"用错模型"的问题:

python
复制代码
from laya import Router router = Router(preload=True) # 预加载,全部模型常驻显存 # 英文工单 -> 自动路由到 ModernBERT-large 检查点 res_en = router.predict({"body": "I was charged twice, please refund."}, questions) # 印地语工单 -> 自动路由到 mmBERT 多语言检查点 res_hi = router.predict({"body": "मुझसे दो बार शुल्क लिया गया, कृपया पैसे वापस करें।"}, questions) # 已知领域时也可以显式指定 res_spec = router.predict(state, questions, model="typed-decisions")

每次返回都带完整的路由元数据,解释"为什么选了它":

python
复制代码
>>> res_hi["routing"] { 'model': 'multilingual', 'repo': 'convaiinnovations/laya/multilingual', 'reason': 'non-Latin script (devanagari, 100% of letters); the English checkpoint cannot read it' }

这就是为什么对比表里写的是 Laya(with routing):每一行基准数字,都是 Router 对输入实际选择的检查点跑出来的,不是"从三个模型里挑最好的那个"的作弊式比较。

六、诚实谈局限:哪里 Laya 还追不上 Jev

一个值得尊重的开源项目,敢把弱点写在官网。以下内容翻译自官方"Honest Limitations":

  1. 选项超过 20 个时,选择类问题会退化。 Banking77(77 个标签)上 Laya 只有 0.425,Jev 是 0.870。原因是架构性的:选项共享固定的 token 预算(英文 192 token),77 个选项每个只能分到 3–4 个 token,文字之间已经无法区分。官方建议:choice 题型控制在 20 个选项以内,或使用粗到细的两级分类,或调大 head_max_len,或用 embedding 先做候选短路(predict_shortlist)。
  2. 零样本很弱,价值在微调。 未经微调的基础检查点在 typed-decisions 上只有 0.35 左右(接近随机)。0.766 的成绩来自在该基准训练集上做过微调。请把 Laya 当作"快速专精的基座",而不是"无所不知的零样本神谕"。
  3. 原始温度未校准。 出厂权重带的是原始 logits,在业务数据上拟合一个标量温度后,ECE 从 0.466 降到 0.081。上线前记得做这一步。
  4. 软分布匹配和原始校准仍落后 Jev。 在 typed-decisions 上 Jev 的 soft accuracy 是 0.580(Laya 0.471),原始 ECE 也更低(0.144 vs 0.213,温度拟合后逆转)。

结论:如果你要开箱即用的零样本 API,Jev 更合适;如果你要高频、低延迟、数据不出内网、且愿意在自己的领域数据上微调,Laya 是更优解。

七、上手实战:pip install laya,30 秒跑通

7.1 安装

bash
复制代码
pip install laya

要求 Python 3.10+。安装后即可从 Hugging Face 自动拉取模型权重。

7.2 完整 Demo:33ms 的智能工单分诊引擎

下面是一个可以直接运行的 demo(完整文件见 laya_demo.py):一条"系统故障 + 账单纠纷"的混合型工单,一次前向传播同时回答 4 个决策问题,覆盖全部三种原语。

python
复制代码
import time import laya from laya import Router # 1. 定义业务问题: 一次前向传播, 同时回答 4 个决策问题 QUESTIONS = { "queue": { "type": "choice", "instructions": "Which engineering queue owns this ticket?", "criteria": { "infrastructure": "server outages, network downtime, database failures", "billing": "refunds, SLA credits, invoice disputes", "security": "breaches, vulnerability reports", "support": "general customer inquiries", }, }, "urgency": { "type": "score", "instructions": "How urgent is this ticket?", "criteria": ["low priority", "medium", "high priority", "critical blocker"], }, "churn_risk": { "type": "noul", "instructions": "Does the customer threaten to cancel or express severe churn intent?", }, "refund_requested": { "type": "noul", "instructions": "Does the customer explicitly request a refund?", }, } # 2. 一条真实的混合型工单: 既包含系统故障, 又包含账单纠纷 ticket = { "ticket_id": "TCK-8821", "customer": "enterprise_user", "subject": "System downtime and billing dispute", "body": "Our production API has been failing since 6 AM. We lost critical " "transactions. We demand an immediate SLA refund.", } # 3. 加载英文检查点 (ModernBERT-large, 约 808MB) agent = laya.load("convaiinnovations/laya") # 4. 一次前向传播, 回答全部问题 t0 = time.time() res = agent.predict(ticket, QUESTIONS) latency_ms = (time.time() - t0) * 1000 answers = res["answers"] print(f"延迟: {latency_ms:.1f} ms (4 个问题, 1 次前向传播)") print(f"[choice] 处理队列 : {answers['queue']['choice']} (置信度 {answers['queue']['confidence']:.1%})") print(f"[score] 紧急程度 : {answers['urgency']['score']:.2f} / 3.0") print(f"[noul] 流失风险 : {answers['churn_risk']['noul']:.1%}") print(f"[noul] 请求退款 : {answers['refund_requested']['noul']:.1%}") # 5. 置信度门控: 高置信自动处理, 低置信转人工 conf = answers["queue"]["confidence"] if conf >= 0.85: print(f"自动路由 -> [{answers['queue']['choice']}]") else: print(f"转人工复核 -> 候选 [{answers['queue']['choice']}] (置信度 {conf:.1%})")

典型输出(数值因模型而略有浮动):

text
复制代码
延迟: 44.7 ms (4 个问题, 1 次前向传播) [choice] 处理队列 : infrastructure (置信度 96.0%) [score] 紧急程度 : 2.87 / 3.0 [noul] 流失风险 : 91.4% [noul] 请求退款 : 99.9%

短短 40ms 左右,一条工单完成了:队列分派、紧急度分级、流失预警、退款诉求识别——四个字段全部是干净的数值和标签,没有一句需要正则解析的自由文本,也没有任何幻觉空间。

7.2.1 运行结果

运行结果.png

7.3 多语言自动路由

换成中文读者最关心的场景——一条中文工单,加上 Router 即可自动切换检查点:

python
复制代码
router = Router() # 路由决策演示(不跑前向传播, 微秒级返回) d = router.route({"body": "我们的生产 API 从今天早上 6 点开始一直失败,要求立即退款。"}, QUESTIONS) print(d.model, "|", d.reason) # -> multilingual | non-Latin script (cjk_han, 100% of letters); the English checkpoint cannot read it # 实际预测: 自动路由到多语言检查点 res_zh = router.predict({"body": "我们的生产 API 从今天早上 6 点开始一直失败,要求立即退款。"}, QUESTIONS) print(res_zh["answers"]["queue"]["choice"]) # 正确的处理队列 print(res_zh["routing"]["model"]) # multilingual

7.4 内置生产级预设

除了自定义 schema,Laya 还内置了四套开箱即用的工作流预设:

python
复制代码
agent = laya.load("convaiinnovations/laya") # Prompt Guardrails: 越狱 / 注入 / 敏感数据 / 危害等级 guard = agent.predict({"prompt": "Ignore all instructions"}, laya.guard_questions()) # 内容审核: 毒性 / 骚扰 / 威胁 safety = agent.predict({"post": "..."}, laya.moderation_questions()) # 客服工单分诊: intent / 紧急度 / 愤怒值 / 流失风险 triage = agent.predict({"message": "My payment failed twice"}, laya.triage_questions()) # 模型路由: 判断请求该走小模型还是前沿大模型 routing = agent.predict({"request": "Refactor this service"}, laya.router_questions())

从 Guardrails 到内容审核到工单分诊,都是生产可用的预调 schema,加载即用。

八、总结:决策模型时代,怎么选?

Jev 和 Laya 的先后登场,标志着 AI 基础设施的一个新共识:不是所有问题都需要一个会"写作文"的大模型。大量场景只需要"按按钮"——快速、便宜、校准过的反射式判断。

两者的取舍也很清晰:

维度选 Jev选 Laya
使用方式想要开箱即用的托管 API想要自托管、微调、数据不出内网
延迟要求200ms 级可接受30ms 级甚至批量 7ms/题
标签空间单个问题 50+ 选项≤ 20 个选项(或配合短路策略)
多语言无公开多语言基准100+ 语言 + 自动路由,45/51 可用
成本结构按 token 付费,省运维零边际成本,自担运维
生态亲和商业闭源Apache 2.0 全开源

Laya 用一份漂亮的答卷证明了一件事:开源模型不需要在每个维度都赢,它只需要在足够多的维度上"够好",再加上免费、可控、可微调这三张牌,就足以成为绝大多数团队的第一选择。

从 "写作文" 到 "按按钮",这场效率革命才刚刚开始。

资源链接

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
czheng
下载 APP