请求由两部分组成
状态是待判断的材料,例如工单、邮件、对话、提示词、日志或 JSON 文档。问题定义软件接受的决策,包括指令和判断标准。Laya 将两者组合成一次模型输入。
状态
需要检查的证据,可以包含结构化字段和自然语言内容。
类型化问题
每个问题都声明一种输出类型,以及解释该输出所需的标准。
编码器与决策头
状态和所有问题标记在一次前向计算中评估。
概率与置信度
响应符合声明的类型,可直接由代码处理。
非自回归为何重要
聊天模型通常逐个 token 生成输出。对于范围明确的分类任务,这意味着生成开销、JSON 校验,以及处理不符合模式的答案。Laya 不生成字符串,而是为预先定义的答案标记打分,再归一化为概率。
因此,多个范围较窄的问题可以一起评估,输出也不会出现未知标签。代价同样清楚:Laya 无法解释推理过程、撰写回复或创造新操作。流程控制和副作用仍由你的代码负责。
Choice:从给定选项中选择
choice 问题提供一组标签及其描述。Laya 返回每个标签的概率,并选择概率最高的一项。当标签具体且彼此容易区分时,它适合用于分流和分类。
问题示例
应该由哪个团队处理这条请求?
账单:发票与退款 · 技术支持:故障与中断 · 销售:价格与合同
choice 不能无限扩展。判断标准共享固定的选项 token 预算。若提供几十个冗长标签,描述会被截断,选项便难以区分。Laya 在 Banking77 上的结果清楚展示了这一限制。
Score:为有序等级分配概率
score 问题定义有序量表,例如低、中、高三个紧急等级。模型返回各等级的概率与按概率加权的期望分数;期望值可能落在两个离散等级之间。
使用可观察的行为标准
写明“服务不可用,工作被阻断”这类可观察标准,避免只写“非常紧急”等模糊形容词。有序评分目前是 Laya 最弱的原语,因此领域验证尤其重要。
Noul:估计 P(true)
noul 问题返回某个是非判断为真的概率。最好用它检测具体、可观察的事实:用户是否明确要求退款、提示词是否要求泄露秘密,或消息是否明确威胁取消服务。
“这合适吗?”等宽泛判断混合了许多未说明的规范,结果往往不稳定。先拆分成更窄的事实性问题,再由代码组合判断。
三个模型检查点
| 检查点 | 基础编码器 | 上下文 | 适用方向 |
|---|---|---|---|
laya | 421M ModernBERT-large | 512 tokens | 英语任务与随附预设 |
laya-multilingual | 322M mmBERT-base | 默认 1,024;编码器支持更长输入 | 非英语及混合语言状态 |
laya-typed-decisions | 421M ModernBERT-large | 1,024 tokens | typed-decisions 训练中的四类工作流程 |
项目还提供路由器,主要依据文字系统和语言信号,在英语与多语言检查点之间选择。这很重要,因为英语检查点面对不擅长的文字系统时,仍可能保持很高置信度并给出错误答案。
“经过校准”意味着什么
如果模型经过校准,那么在相似案例中,以约 80% 置信度给出的预测应有约 80% 是正确的。这让软件可以在高于阈值时自动处理、低于阈值时升级处理。
Laya 的 RLCD 训练使用适当评分规则奖励概率质量,但校准程度可能随领域和标签数量变化。项目仓库建议在留出数据上拟合温度参数。自动执行影响较大的决策前,应绘制各置信度区间的准确率,并检查高置信度错误。
Laya 做不到什么
- 它不能撰写、总结或解释文本。
- 它不能选择你未提供的标签。
- 它不能靠“多想一会儿”修复错误的问题模式。
- 置信度不等于事实;概率需要验证。
- 通用接口不代表它自动擅长新领域。
资料来源:Laya README 与代码、Hugging Face 模型说明及项目基准测试报告。本文解释为独立转述。
