Laya 11 天 2.7 万 Star:不生成文字的 AI,怎样一次完成路由与判断
大模型很擅长写答案,但很多系统真正需要的只是一个决定:这封邮件该进哪个队列、这次操作是否需要人工复核、这段内容的风险等级是多少。让生成模型先写一段话,再从文字里解析结论,会增加生成时延、格式校验和调用成本。
Laya选择直接做决定。输入一段状态和预先定义的问题,它在一次前向计算中返回选项、分数或是非概率,不生成解释文本。GitHub API 显示,该仓库创建于 2026 年 9 月 18 日;截至 9 月 29 日早间约有 2.77 万 Star、2400 个 Fork。9 月 28 日发布的 0.3.21 又补上批量推理、置信度拒答、ONNX 长文本处理和多项运行时修复。它的关注度和代码变化都集中在最近 11 天。
它和普通 LLM 的差别在哪里
假设客服系统收到一句话:“系统更新后,应用一打开设置页面就闪退,今天无法报销。”
普通 LLM 的做法像请一位客服写分析报告:模型逐字生成“这看起来是技术故障,建议转交技术支持……”,程序再从报告中找出“技术支持”。Laya 更像给分诊员一张固定选项卡:billing、technical、other,要求直接给每个选项打分并选出一个。
| 需求 | 生成式 LLM | Laya |
|---|---|---|
| 输出 | 自由文本、JSON 或工具调用 | choice、score、noul 等固定类型 |
| 计算方式 | 自回归地逐个生成 token | 编码输入后一次给出所有问题的结果 |
| 新问题 | 通过提示词约束格式 | 请求中直接定义选项与说明 |
| 擅长 | 解释、写作、规划、开放推理 | 分类、路由、打分、是否判断 |
| 主要风险 | 格式漂移、生成错误、延迟 | 分类错误、过度自信、选项设计偏差 |
这里的 noul 可以理解为“答案为是”的概率。choice 从若干候选项中选择,score 在有顺序的等级上评分。这些结果适合直接进入代码分支,但“类型固定”只保证输出形状稳定,不保证判断正确。
一次前向计算怎样回答多个问题
Laya 的英文权重以 ModernBERT-large 为骨干,项目模型卡给出的总规模为 4.21 亿参数;多语言版本使用 mmBERT-base,总规模为 3.22 亿参数。它们都是双向编码器,不需要像聊天模型那样等待第一个 token、第二个 token 依次生成。
请求中的每个候选项会被放到自己的标记位置。模型读完状态、问题和选项后,为同一道题的候选项计算分数,再做 softmax 得到概率分布。多道题可以共享一次前向计算。因此,增加几个判断问题通常是在同一轮中扩大输入和决策头的工作量,而不是再生成几段答案。
可以把它想成一次批改一张选择题答题卡:阅读材料只看一遍,同时填写“归属部门”“紧急程度”“是否可能流失”。生成模型更像读完材料后逐句写一篇分析,两种方式解决的是不同任务。
项目把这种训练方法称为 RLCD(Reinforcement Learning for Calibrated Decisions)。奖励使用严格适当评分规则,目的是让模型报告接近真实正确率的概率,而不是一味把最高概率推到 100%。这个目标很合理,但概率是否真的可信,仍取决于训练数据、温度校准和实际业务分布。
本地跑一次中文分流
Laya 0.3.21 要求 Python 3.10 或更高版本。下面的例子已在 Python 3.12、CPU 版 PyTorch 2.14.0 和 Laya 0.3.21 上运行;首次执行会从 Hugging Face 下载多语言权重。
python -m venv .venv
.venv/bin/python -m pip install laya==0.3.212
from laya import Router
router = Router()
state = "系统更新后,应用一打开设置页面就闪退,今天无法报销。"
questions = {
"department": {
"type": "choice",
"instructions": "应该交给哪个团队处理?",
"criteria": {
"billing": "账单、付款、退款",
"technical": "故障、崩溃、系统错误",
"other": "其他问题",
},
},
"urgent": {
"type": "noul",
"instructions": "这个问题是否影响用户立即完成工作?",
},
}
result = router.predict(state, questions)
print(result["routing"]["model"])
print(result["answers"]["department"])
print(result["answers"]["urgent"])2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
这次运行自动选择了 multilingual 权重,部门判断结果是:
technical: 0.9751
other: 0.0225
billing: 0.0024
urgent 为“是”的概率: 0.17722
3
4
“闪退”被分到技术团队符合直觉,但紧急程度只有 0.1772 就值得警惕:原句明确说“今天无法报销”,业务上可能需要较快处理。这个小测试不能衡量模型整体准确率,却足以说明置信度不是事实,业务阈值也不能从示例里照抄。
在同一进程加载权重并预热后,我对这组中文输入连续运行 7 次,当前 9 核 AMD EPYC CPU 环境的中位耗时为 153.2 毫秒。项目报告的 32.8 毫秒来自 Tesla T4 上的单问题测试,硬件、问题数量和计时边界不同,不能直接比较。真正部署时应在自己的输入长度、并发量和设备上重新测量。
33 毫秒和“超过 Jev”该怎么看
Laya 仓库公布的 T4 测试中,多语言模型处理 1 个问题为 32.8 毫秒,10 个问题合计 72.3 毫秒。项目还把结果与 Jev 的公开数字放在一起比较,但仓库明确说明:Jev 数据来自第三方,没有在同一套访问条件下重新测量,样本量和提示也不完全一致。因此,这些数据可以说明 Laya 的设计目标和量级,不能当作严格的独立对照实验。
准确率更需要看清模型版本。项目在 2000 个类型化决策上的 0.766,属于针对这套任务微调后的 laya-typed-decisions;基础英文和多语言权重在同一基准上分别只有约 0.362 和 0.35,甚至低于 0.461 的逐题多数类基线。换句话说,Laya 更像一个便于专门训练的高速决策底座,而不是拿来就能理解所有业务的万能分类器。
四个不能跳过的边界
1. 概率默认可能过度自信
模型卡承认基础权重存在过度自信,并建议在自己的留出数据上重新拟合温度。实际安装英文权重时,我也看到了温度值被运行时截断、相关置信度应视为未校准的警告。生产系统若直接写成 confidence > 0.9 就自动执行,只是把一个未经验证的数字变成了权限开关。
更稳妥的做法是先收集真实样本,画出不同阈值下的覆盖率与错误率,再决定哪些请求自动处理、哪些交给人工。高风险操作还要保留规则校验和审计记录。
2. 选项太多会挤占可读空间
每道 choice 的选项共享固定的 token 预算。项目在 Banking77 的 77 类测试中只得到 0.425,而公开的 Jev 数字为 0.870。Laya 文档把主要原因归结为每个标签只剩三四个 token,候选项难以区分。
几十个队列不要一次全塞进去。可以先粗分“财务、技术、销售”,再在对应组内细分;或者提高输入预算并重新评测。层级路由也更容易定位错误发生在哪一步。
3. 中文路由正确,不代表中文判断已经可靠
Router 会先看文字脚本,把汉字输入送到多语言权重,这一步无需加载模型就能完成。项目报告多语言模型在 MASSIVE 的简体中文意图分类上得到 0.63,但这只是特定数据集和选项设计下的结果。业务里的缩写、混合中英文、否定句和行业术语都可能改变表现。
0.3.21 的发布说明包含多项语言路由修复,也说明项目仍在快速修正边界情况。固定版本、保存评测集和记录模型权重提交,比只写 pip install -U laya 更适合可重复的生产部署。
4. “不生成文字”不等于“不会出错”
Laya 不会生成一段不存在的引用,也不会漏掉 JSON 括号,但仍会选错类别、误解否定、被标签措辞带偏。模型卡专门列出了 noul 对真假标签敏感、序数评分较弱,以及高选项数准确率下降等问题。它减少的是生成与解析的不确定性,没有消除语义判断的不确定性。
适合放在系统的哪一层
Laya 适合做边界明确、需要大量重复判断的前置层:客服工单分流、邮件或告警分类、RAG 文档相关性初筛、Agent 工具路由,以及低置信度转人工。它也可以和大模型配合:先用 Laya 决定该调用哪个专家或是否需要昂贵推理,再让生成模型完成解释和内容生产。
接入顺序可以从影子模式开始:准备有人工标签的真实样本;分别评测规则、现有 LLM 和 Laya;按语言、类别、输入长度与否定句切片看错误;校准概率;最后只让误判成本可控的一部分请求自动执行。这样才能知道节省的延迟和成本,是否抵得过新增模型、显存、监控与训练数据的维护费用。
Laya 最有意思的地方,不是把聊天模型做小,而是把一类常被包装成“让 AI 思考”的任务重新定义成可评测的分类问题。只要答案空间能够提前写清楚,这条路线值得试;如果问题本身需要解释、检索新事实或开放推理,生成式模型仍然更合适。
💬 评论