Study Notes / 2026 ・ No.04

Laya 札记

把判定模型握在自己手里,意味着什么

发布

这一期要回答的问题

Q1这类模型到底是谁先提出来的 Q2三天就能出一个,判定模型的训练真有这么轻松吗 Q3这种小模型,是不是更适合放在本地跑

先说 Q2 的结论:做底座很快,让它真正好用并不快

上一期讲的 Jev 发布三天之后,
一个叫 Laya 的开源判定模型出来了。
这一期梳理来龙去脉、训练机制,以及该放在哪里跑。

一

三天后出现的开源版

CORE

Laya 是 ConvAI Innovations 以 Apache 2.0 发布的判定模型。和 Jev 一样不写文章,只用概率回答是/否、选项与分数。不同之处在于权重是公开发放的:可以拿到本地跑,也可以用自己的数据重新训练。

检查点底座参数量上下文特点
layaModernBERT-large421M512面向英语
laya-multilingualmmBERT-base322M1024100 多种语言・约两倍速
laya-typed-decisionsModernBERT-large421M1024已针对业务判定续训

正如第 3 期写过的,Jev 是一个 $0.042 / 百万输入词元的 API。Laya 没有这笔账单,代价是 GPU、运维,以及训练这件事本身要自己扛。同样叫「判定模型」,接手的东西完全不同。

二

到底谁在先 ── Q1 的答案

Laya 的开发方 ConvAI Innovations 的 CEO,Nandakishor M,主张「这件事我一年半前就在做了」。先把事实摆出来。

3 天 2025.03 2025.09 2026.09.15 2026.09.18 SalesRLAgent论文(arXiv) 置信度路由论文(arXiv) Jev 发布TypeSafe AI Laya 发布ConvAI Innovations 两篇论文的作者都是 Nandakishor M(Laya 开发方的 CEO)

两篇论文确实存在,而且都早于 Jev 的发布

时间内容
2025.03arXiv:2503.23303「SalesRLAgent」── 不输出文字,而是把成交概率实时输出为概率的强化学习模型
2025.09arXiv:2510.01237「Confidence-Aware Routing」── 在生成之前看置信度,分流到本地生成、检索、大模型或人工
2026.09.15TypeSafe AI 发布 Jev
2026.09.18ConvAI Innovations 发布 Laya

确实,「返回概率而不是文章」和「按置信度分流」这两件事,同一个人在 Jev 发布一年多以前就写成了论文。第 3 期介绍的「聪明的 if 语句」,它的零件更早就摆在那里了。

CAUTION

但能否说「这类模型是他最先提出的」,是另一回事。第一篇讲的是销售成交概率,第二篇讲的是生成前的路由,两篇都不是「带类型的判定模型」这个框架本身。而且 Laya 的模型页面,是在 Jev 发布之后才建立的。

再说,System 1/System 2 的分法本来就来自认知科学,不是哪一方的发明。同一时期不同的人想到同一件事,在这个领域并不稀奇。「先行研究确实存在」与「确实发生了抄袭」是两回事:后者是主张,不是已被证实的事实。TypeSafe 方面至今没有公开回应。

这段经过里有意思的一点是:开源那一方把论文、权重、训练数据都放出来了。正因为拿得出可验证的东西,下面几章才有办法核对它的底细。

三

它是怎么训练的 ── Q2 的前半

Laya 的训练要抓住三点:底座、机关、奖励。

① 底座 ── 并不是从零开始

Laya 是从现成的公开编码器(ModernBERT-large 等)出发的。而且不是第 1 期讲的 GPT 那一系——从左往右写的模型,而是 BERT 那一系——同时看前后的双向编码器。既然不需要写文章,也就不需要为写而准备的结构。

② 机关 ── 有几个选项就挖几个洞

state(要看的东西) 问题 [MASK] [MASK] [MASK] 双向编码器 ModernBERT-large 421M / 前向计算只跑一次 0.91 0.06 0.03 账单 技术 其他 有几个选项就放几个 MASK

每个选项对应的洞里,汇聚的是「像不像这个选项」

把 state 和问题排在一起,选项有几个就放几个 [MASK]。双向编码器会在每个洞的位置收集「填这个有多合理」,于是一次前向计算就能同时回答多个问题。这就是快的来源:第 1 期・一章里「一个词一个词」的那层循环,这里根本不存在。

③ 奖励 ── 给诚实的概率打分

训练用的是 RLCD(面向校准判断的强化学习)。它不只看答没答对,还要看概率诚不诚实。用的是对数得分、球面得分、排序概率得分的组合,这些评分法都有同一个性质:吹高或压低都会吃亏。

POINT

想做到「说 0.9 就真有九成命中」,就不能只看答对与否,而要给「自信的申报」本身打分。判定模型的训练与普通分类器的训练,差别几乎全在这一点上。

公开的训练量是7,313 次更新、1 个 epoch、约 1.96 小时。看着像少写了几个零,其实没有——因为底座本来就有了。

四

真的「轻松」吗 ── Q2 的后半

ANSWER

做到底座为止,确实快:在现成编码器上续训两小时左右就成形了。但出来的东西,直接拿去用并不是判定器。

现成的底座ModernBERT-large 判定用的续训RLCD・约 2 小时 发布裸模型低于多数派 用自己的数据续训+温度校准 开发方的活儿 使用方的活儿 发布出来的那一刻,它还只是「底座」,不是判定器

公开出来的只到第三格。第四格由使用方承担

裸模型比「一直答多数派」还弱

模型卡里写的裸检查点准确率是 0.362,而同一评测的多数派基线(全部答最常见的那个标签)是 0.461。也就是说,什么都不想、一律返回最常见标签反而更准。开发方自己也写明:「Laya 是用来特化的快速底座,不是零样本判定引擎。」

置信度同理。出厂时的期望校准误差(ECE)是 0.466,作为概率基本不能用。重新拟合温度之后能降到 0.081,但这道工序属于使用方。

CAUTION

最可怕的是置信度不会告诉你「我看不懂」。把高棉语喂给英语检查点的实测结果是:准确率 0.000,平均置信度 0.952。跑完 51 种语言,平均置信度也从没低于 0.885。越是读不懂越自信,所以语言与领域的分流,必须在前向计算之前由代码决定。

使用方要接手的活儿

  • 准备数千条带标签的数据 ── 这一步最重
  • 用开发方的 notebook 续训 ── 两张免费 GPU、约 4 小时
  • 重新拟合温度 ── 按「问题类型 × 选项个数」逐组拟合
  • 设计上把选项控制在 20 个以内(再多会明显掉点)
  • 前面放一个 Router,按语言与字符体系挑选检查点

换句话说,「三天出来的」是底座,不是判定器。造模型这一段确实变轻了,但重量并没有消失,而是挪到了数据与校准那一侧。

五

数字是谁测的

这件事里最长见识的一点是:同一个模型的数字,换个出处就变成了另一回事。

出处typed-decisions 准确率ECE延迟
Laya 官网Laya 0.766 / Jev 0.727Laya 0.081 / Jev 0.246Laya 32.8ms / Jev 236〜276ms
Laya 模型卡裸 0.362(多数派 0.461)出厂 0.466README 写 38.4ms
第三方比较77 选项时 Laya 0.425 / Jev 0.870Jev 0.144 / Laya 0.213批量时每题约 7ms

ECE 在不同出处之间优劣直接反了过来。准确率也是:一旦题目有 77 个选项,位置就互换。上一期写过 Jev 的「快 193.6 倍」是厂商自测,开源这一方的数字同样是自报的。

RULE OF THUMB

做选型时看模型卡那一栏的数字。宣传文章都是在对自己有利的条件下测的。最后再用自己的数据重测一遍——在这个领域,除此之外没有别的办法。

六

要不要放在本地 ── Q3 的答案

很容易想成「因为小所以放本地」,但判断依据要更具体一些。先看钱。

每月成本 每月判定次数 每月 5,260 万次 API 自建 API 更便宜 自建更便宜 红=API 的按量计费,灰=自建的固定成本。前提:每次 800 词元、东京一张 T4、运维 0.2 人月

交点大约在每月 5,260 万次,也就是每秒 20 次判定

有一份试算:按每次判定 800 词元、东京区域一张 T4、运维 0.2 人月来算,盈亏平衡点是每月 5,260 万次。低于这个量,API 更便宜。仅仅是工单分流那种量级,基本够不着。

POINT

不过钱只是其中一个维度。就 Laya 而言,不用自己的数据续训根本没法用。它的设计前提就是权重在自己手上,所以比起算账,更先决定的是「有没有把它养大的力气」。

本地更合适的情形

  • 数据不能出去 ── 医疗、金融、政务。这一条与量无关
  • 希望离线完成 ── 权重下载一次之后,断网也能跑
  • 想压低延迟下限 ── 少了一趟网络往返
  • 同一种判断要重复海量次 ── 全量交易反欺诈、UGC 常态审核等
  • 手里已经有带标签的数据 ── 续训的材料现成,自持才有意义

在本地能跑多快

面向 Apple Silicon 的 Core ML 版,在 M3 Max 的 Neural Engine 上 P50 为 4.98ms,每次判定 0.154 焦耳。与同一台机器上的 MLX 版相比,速度是 1.39 倍,但能耗要好 2.78 倍。如果要在电池设备上常态判定,后面这个差距更关键。

不过 Neural Engine 版总量上限是 96 个词元,state 必须设计成塞得进去。也有从 Node.js 经 ONNX Runtime 跑的实现,落地的选择本身是在变多的。

那到底怎么办

① 数据不能出去 ── 只能本地,和量无关
② 每月上千万次以上 ── 成本上自建胜出,要连运维一起算
③ 既没标签也没人手 ── 选 API,要养的模型只会是负担
④ 拿不定主意 ── 先用 API 做出来,等量和数据攒够了再搬回来

我觉得 ④ 最现实。先用 API 跑起来,那些日志本身就是续训用的标签。顺序上也自然。

结 — 一页总结

  1. Laya 是 Apache 2.0 的开源判定模型,在 Jev 之后三天发布,区别在于权重到了自己手上。
  2. Q1:先行研究确实存在,也确实早于 Jev。但还谈不上提出了这个框架本身;抄袭是主张,不是已证实的事实。
  3. 快的来源是:按选项挖洞,双向编码器一次填完。
  4. 训练的关键,是给诚实的概率打分(对数、球面、排序概率得分)。
  5. Q2:底座两小时就能做出来。但裸模型低于多数派基线,重量只是挪到了数据与校准。
  6. 数字会随出处反转。看模型卡,最后用自己的数据测。
  7. Q3:本地与否的关键不是「小」,而是数据能否出门、量有多大、有没有力气养它。拿不准就先用 API,再搬回来。

参考

Laya 札记 — 全六章 / 2026.09

← 返回文章列表