一年前我构建了非自回归决策模型。然后一个前沿实验室称其为“突破”
摘要
作者描述了其早期在非自回归决策模型上的工作,并批评一个前沿实验室将类似概念称为突破,同时宣布了自己更快、开源的RL代理模型。
<p><a href="https://lobste.rs/s/kaqsr5/i_built_non_autoregressive_decision">评论</a></p>
查看缓存全文
缓存时间: 2026/09/19 14:02
# 我在一年前就构建了非自回归决策模型,随后某前沿实验室称其为"突破"
来源:https://dev.to/nandakishor_m_6cc0adfde9f/i-built-non-autoregressive-decision-models-a-year-ago-then-a-frontier-lab-called-it-a-18me
### [来自我们2025年3月关于RL转化轨迹的arXiv论文:构建一个亚40毫秒的开源系统1决策引擎与RLCD](https://dev.to/nandakishor_m_6cc0adfde9f/i-built-non-autoregressive-decision-models-a-year-ago-then-a-frontier-lab-called-it-a-18me#from-our-march-2025-arxiv-paper-on-rl-conversion-trajectories-to-building-a-sub40ms-openweight-system-1-decision-engine-with-rlcd)
当下AI领域人人都在谈论一种新型模型:它不是自回归架构,不生成文本,却能对结构化的JSON模式提供闪电般的概率预测。看到网络上的热议,我的感受既复杂——既感到被认可,又深感沮丧。我确实在一年前的2025年3月就开始研究这个了。我投入了数月时间、无数心血和不眠之夜来构建它,发表了arXiv论文([arXiv:2503.23303](https://arxiv.org/abs/2503.23303)),在Hugging Face上发布了模型权重([sales-conversion-model-reinf-learning](https://huggingface.co/DeepMostInnovations/sales-conversion-model-reinf-learning)),公开了数据集([saas-sales-conversations](https://huggingface.co/datasets/DeepMostInnovations/saas-sales-conversations)),构建了PyPi包,并在Reddit上发布了整个方法([r/LocalLLaMA帖子](https://www.reddit.com/r/LocalLLaMA/s/6eGEwsAz43))。随后在2025年9月,我发表了第二篇论文([arXiv:2510.01237](https://arxiv.org/abs/2510.01237)),详细阐述了基于强化学习引导的、模式化决策的确切框架。对于好奇的人来说,我系统中的指导核心始终是强化学习,而不仅仅是嵌入模型或自回归大语言模型。
接着在2026年9月,一家资金雄厚的前沿实验室TypeSafe AI(由OpenAI ChatGPT的联合发明人Diogo Almeida创立)推出了Jev。他们提出了与我完全相同的非自回归决策概念,仿佛这是一个全新的科学突破。唯一的区别是,他们发布时没有技术论文,没有开源权重,也没有公开任何训练数据集。我早期的模型使用PPO(近端策略优化)在序列表征上进行训练,以输出垂直销售对话中逐轮的转化轨迹(概率值从0.0到1.0)。而Jev则使用他们称之为RLCD(基于校准决策的强化学习)的方法,将并行采样泛化,以水平方式输出置信度分布和模式选择,收费为每百万输入token 0.042美元,典型响应时间约为150毫秒。
当一个你作为开源研究者倾注心血数月、为垂直用例构建的项目被忽视,而一家获得融资的实验室将相同的核心思想包装成水平解决方案并获得所有赞誉时,这确实令人无比沮丧。但这就是开源世界的一般情况 🙂。我决定不再沉溺于苦涩,而是汲取我在2025年3月和9月论文中所学的一切,修复旧方法的所有架构局限,构建一个完全开源的、水平化的系统1决策模型:**RL Agent**。而且,由于我们基于双向编码器正确地构建了它,我们的模型在GPU上的运行时间仅为**33至38毫秒**,比Jev公布的150毫秒延迟快约4倍,并且它是100%开源的。
以下是它的工作原理、架构、包含严格恰当评分规则的RLCD数学原理,以及为什么非自回归决策模型是未来的完整故事。
---
## 1. 真正的问题:为什么大语言模型做决策如此糟糕
每个现代AI流水线都有一个巨大的瓶颈:我们使用生成式大语言模型来处理简单的反射性决策。当客户支持工单到来、电子邮件进入收件箱,或用户向你的API提交提示时,你通常只需要回答几个简单的问题:
- 这应该转给哪个部门?
- 这封邮件是钓鱼攻击吗?
- 这个提示是否试图越狱系统?
- 按0到3的等级,这个问题的紧急程度如何?
为这些任务调用一个8B或70B参数的生成式大语言模型是完全多余的。你需要等待500到2000毫秒让token流式输出,花费真实的推理费用,然后还得编写正则表达式或JSON解析器来从自由格式文本中提取干净的标签。最糟糕的是,大语言模型喜欢产生幻觉并生成虚假的置信度。当一个大语言模型输出`"confidence: 0.95"`时,它只是在预测听起来自信的token。其背后没有任何数学上的校准。
我们需要一个像人脑系统1那样工作的模型:即时的、反射性的决策,具有诚实、校准的概率,在标准硬件上仅需30到40毫秒。
---
## 2. 三种决策原语
遵循系统1的理念,RL Agent接受一个**状态**(原始文本、电子邮件、工单或JSON文档)以及一个或多个**类型化问题**,并在一次并行的前向传播中评估所有问题。它使用三种原语:
1. **choice**:从标准字典中选择一个选项。返回所选标签、每个候选选项的概率以及置信度分数。(非常适用于部门路由、意图检测、主题分类)
2. **score**:将状态置于一个有序的评分标准上,如等级0、1、2、3。返回预期分数值、跨等级的概率分布以及置信度。(非常适用于客户挫败感、紧急程度、提示危害严重性)
3. **bool**:一个直接的是/否问题,返回从0.0到1.0的校准概率P(true)。(非常适用于检测钓鱼、垃圾邮件、越狱或流失风险)
由于输出空间严格是概率和数字,模型从不生成文本,不可能产生幻觉,损坏的JSON在物理上也不可能产生。
---
## 3. 模型架构:4.21亿参数
在我2025年3月的工作中,我使用了冻结的序列表征加上一个单独的PPO价值网络。它在逐轮销售预测中有效,但并非端到端的,并且无法在运行时处理动态的新问题。
对于RL Agent,我们构建了一个4.21亿参数的端到端架构,包含两个紧密耦合的组件:
```
状态(文本或JSON) + 类型化问题与选项
│
▼
提示构建:[CLS] question: [SEP] [MASK] opt0 [MASK] opt1 ... [SEP] [SEP]
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 编码器:ModernBERT-large(3.95亿,双向) │
│ • 28层,隐藏维度1024,16个注意力头,GeGLU MLP │
│ • 跨状态和选项的全序列双向注意力 │
└──────────────────────────────┬───────────────────────────────┘
│
│ 隐藏状态 [L × 1024]
▼
+ 问题类型嵌入 (choice=0, score=1, bool=2)
│
┌──────────────────────────────▼───────────────────────────────┐
│ 决策头Transformer(约2520万参数) │
│ • 2层TransformerEncoder (d=1024, 16个注意力头, FFN=4096) │
│ • Pre-LayerNorm, Dropout 0.1 │
└──────────────┬───────────────────────────────┬───────────────┘
│ │
▼ 提取 [MASK] 标记 ▼ 池化的 [CLS] 状态
┌──────────────────────────────┐ ┌─────────────────────────────┐
│ 选项评分器(约105万) │ │ Act / 升级头(约26万) │
│ • LayerNorm(1024) │ │ • 输入:[CLS] (1024维) │
│ • Linear(1024 -> 1024) │ │ + 4个分布特征 │
│ • GELU() │ │ • Linear(1028 -> 256) │
│ • Linear(1024 -> 1) │ │ • GELU() │
│ 为每个选项生成一个标量logit │ │ • Linear(256 -> 2) │
└──────────────┬───────────────┘ └─────────────┬───────────────┘
│ │
▼ Logits ÷ 温度 ▼ Softmax -> P(Act) vs P(Escalate)
└────────────────────────────────────────────────────────┘
│
▼
[ 概率分布 + 置信度 ]
```
### ModernBERT-large 骨干网络
我们使用**ModernBERT-large**(3.95亿参数)作为基础编码器。ModernBERT具有28层,隐藏维度1024,16个注意力头,GeGLU中间层(维度2624),并通过旋转位置编码(RoPE)支持8192个token。由于它是完全双向的,每个token都可以同时关注状态和选项的所有部分。
### [MASK] 选项提取机制
对于每个问题,我们的`build_sequence`函数打包提示如下:
```
[CLS] 选择题:哪个团队应该处理 `body`? [SEP] [MASK] 计费:付款 [MASK] 技术:缺陷 [MASK] 其他:一般问题 [SEP] {"subject": "退款请求", "body": "我被重复扣款了..."} [SEP]
```
每个选项都有一个`[MASK]`token。经过ModernBERT和2层决策头Transformer后,我们使用`torch.gather`专门提取这些标记位置的隐藏状态。选项评分器MLP将每个1024维的标记状态投影到一个标量logit。对属于该问题的选项进行softmax,得到候选概率分布:
```
p = softmax(z / T)
```
其中T是按问题类型和选项数量拟合的温度。
### Act 与 升级(Escalate)头
在实际的自动化系统中,你需要知道何时信任模型,何时需要人工介入。我们添加了一个Act/Escalate头,它接收池化的[CLS] token(1024维),并与4个分布特征拼接:
- 最大概率:max(p)
- Top-2差值:p_top1 - p_top2
- 归一化熵:H(p) / log(K)
- 选项预算比率:K / 255
这个1028维的向量通过一个2层MLP,输出[P(Act), P(Escalate)]。
### 多问题单次前向传播
如果你有一封邮件并针对它提出5个问题,所有5个序列会被整理成一个批次。ModernBERT在一次前向传播中处理所有问题,在GPU上大约需要35毫秒。
---
## 4. 使用RLCD进行训练:校准的数学原理
你如何使用强化学习来训练它,从而使概率真正得到校准?
### 普通分类与朴素RL的陷阱
如果你用交叉熵训练分类器:
```
Loss_CE = -sum(y_k * log(p_k))
```
损失只能在胜出的logit趋近于无穷大时最小化。模型会变得过度自信。如果你尝试使用二元奖励(+1如果正确,0如果错误)的标准强化学习,期望奖励是:
```
E[R] = sum(y_k * p_k)
```
策略梯度会迫使最高概率趋向1.0,其他所有概率趋向0.0。换句话说,朴素RL通过破坏校准来最大化准确率。它把你的模型变成了一台自信满满却错误百出的机器。
### 严格恰当评分规则
RLCD(基于校准决策的强化学习)的基础是使用严格恰当评分规则作为奖励。在决策理论中,评分规则S(q, y)在模型报告分布q而真实结果为y时分配分数。它是严格恰当的,当且仅当期望分数在q等于真实分布p时被唯一最大化:
```
E_{y ~ p}[S(q, y)] <= E_{y ~ p}[S(p, y)], 当且仅当 q = p 时等号成立
```
这保证了模型只有在报告诚实的概率时才能获得最高可能的奖励。我们的复合奖励结合了三种恰当的评分规则:
```
Reward(q, y) = S_log(q, y) + 0.5 * S_sph(q, y) - 1.0 * S_rps(q, y)
```
#### 1. 对数评分 (S_log)
```
S_log(q, y) = sum(y_k * log(max(q_k, 1e-12)))
```
如果模型为真实结果分配了低概率,则会受到严厉惩罚。为了数值稳定,我们将下限钳位到-9.21。
#### 2. 球面评分 (S_sph)
```
S_sph(q, y) = sum(y_k * q_k) / sqrt(sum(q_k^2))
```
一个在[0, 1]之间的有界分数,奖励将概率质量放在正确类别上,且没有纯对数损失的极端梯度尖峰。
#### 3. 排序概率评分 (S_rps)
用于有序评分问题(如0, 1, 2, 3的评分标准)。如果真实紧急程度是等级3,猜测等级2比猜测等级0要好得多。RPS衡量累积分布之间的平方距离:
```
S_rps(q, y) = (1 / (K - 1)) * sum((CDF_q(i) - CDF_y(i))^2)
```
从奖励中减去RPS教会了模型评分标准上的距离感。
### 策略梯度更新(带分组基线的REINFORCE)
我们使用纯策略梯度(零监督交叉熵损失)进行训练:
1. **高斯探索**:对于每个问题,我们采样G=8个带噪声的候选logit:
```
z_noisy = z + epsilon, 其中 epsilon ~ Normal(0, sigma^2)
```
我们投影噪声向量,使其跨选项的和为零(epsilon - mean(epsilon)),因为给所有logit加上常数会在softmax中抵消。探索标准差sigma从1.0衰减到0.3。
2. **带噪声分布**:
```
q_noisy = softmax(z_noisy)
```
3. **奖励评估**:
```
r_noisy = Reward(q_noisy, y)
```
4. **分组平均优势(GRPO风格)**:我们计算相对于8个样本分组平均的优势:
```
Advantage = (r_noisy - mean(r)) / (std(r) + 1e-6)
```
5. **策略损失**:使用高斯对数概率:
```
Loss_policy = -mean(Advantage * log_prob(z_noisy | z))
```
6. **成本敏感的Act头**:Act头在{act, escalate}中采样动作,并根据成本矩阵接收奖励:
- 动作正确:+1.0
- 动作不连贯:-0.5
- 动作升级:-0.1
相似文章
AutoLab:前沿模型能否解决长周期自动研究与工程任务?
AutoLab提出了一个基准,用于评估前沿模型在多个领域中的长周期迭代优化能力。结果表明,持续性和时间意识比初始性能更为关键,其中claude-opus-4.6展现了强大的能力,而许多模型过早终止。
@dlwh: 前沿AI模型由成千上万个小决策构成:数据来源、过滤、混合、课程安排、规模扩展…
前沿AI模型由成千上万个小决策构建而成,强调了过程知识在其开发中的重要性。
知识代理:通过更好的结构超越前沿模型(18分钟阅读)
文章介绍了‘知识代理’,这是一种通过混合检索系统将相关知识注入AI代理的方法论,使得较小的模型在金融、政策、医疗等专业领域超越大型前沿模型。
前沿模型实验室厌倦了每隔几个月就必须发布新模型。
由于开源替代品的快速发展,前沿AI实验室感到频繁发布新模型的压力,这限制了他们享受当前产品的能力。
如何构建前沿模型工厂(48分钟阅读)
Poolside AI联合创始人Eiso Kant讨论了他们的“模型工厂”方法,用于快速训练前沿模型,Laguna S 2.1的发布,以及AI模型开发的经济学。