将 GLM-5.3-Flash 转变为类似 Jev 的决策模型
摘要
本文展示了如何调整 GLM-5.3-Flash 大型语言模型使其作为类似于 Jev 的类型化决策模型运行,在单次前向传播中实现可比的准确性和速度,并支持图像决策。
我们找到了一种方法,可以从标准的大型语言模型如 GLM-5.3-Flash 中获得类似 Jev 的特性。<p>核心思想是设计输入提示,使第一个输出词元直接回答问题。这使得可以通过单次前向传播获得决策。<p>在博客文章中,我们详细描述了针对 GLM-5.3-Flash 和 vLLM 的方法。我们将此设置与 Jev 和 Laya 进行了基准测试。我们发现,在准确性和速度方面,我们的设置与 Jev 相当,并且显著优于 Laya。<p>然而,在每次决策的成本方面,Jev 比我们的设置好几倍。相反,我们的设置支持视觉输入。
查看缓存全文
缓存时间: 2026/09/27 01:33
# 将GLM-5.3-Flash转化为类Jev的System One模型
来源:https://www.privatemode.ai/blog/system-one-from-glm-flash
从单点升起的一缕淡色丝线,其中薄荷色的一条延伸最远,在青色至钢灰色的渐变背景上
2026年9月24日
在单次前向传播中完成带类型决策并输出每个选项的概率:使用大语言模型实现与Jev相当的准确度和速度。
约翰内斯·赫特
马尔科·罗森缪勒
马尔科·罗森缪勒博士
技术负责人AI
**要点:**本文将展示如何利用现成的大语言模型在单次前向传播中完成带类型决策。这种方法能够将大语言模型转化为类Jev的决策模型。
我们在Privatemode (https://www.privatemode.ai/) 上运行GLM-5.3-Flash对该方法进行了评估。通过基于公开数据集构建的基准测试,我们证明该方案在决策准确性和速度方面均达到了与TypeSafe的Jev (https://docs.typesafe.ai/models) 相当的水平。
作为额外优势,GLM-5.3-Flash的配置还支持对图像进行类型决策,这是Jev无法实现的。
工作原理 (https://www.privatemode.ai/blog/system-one-from-glm-flash#turning-an-llm-into-a-decision-model) 体验环境 (https://www.privatemode.ai/blog/system-one-from-glm-flash#try-it) 基准测试 (https://www.privatemode.ai/blog/system-one-from-glm-flash#benchmark-results)
## 为何需要类型决策
软件向大语言模型提出的许多问题本质上都是决策。例如:"哪个团队应该处理这个工单?"或"这个合同条款是否属于责任条款部分?"
这类情况下,软件通常要求大语言模型的响应遵循特定格式(如JSON),且答案来自预定义集合(如"是"和"否")。
在正确的提示下,大语言模型通常能可靠地完成这类任务。然而在基础方法中,速度和成本成为问题:对于每个决策,大语言模型需要输出完整的JSON对象,而推理模型可能会在输出前进行数百个token的思考。此外,除非明确要求,否则无法获知模型的置信度。这些因素在实际应用中至关重要,至今仍阻碍着大语言模型在高吞吐量/高并发场景中的决策应用。
专门的决策模型(或称"System One"模型)如Jev和Laya (https://huggingface.co/convaiinnovations/laya) 正是为此类需求而设计。你输入一段状态和一组命名选项,模型会返回所选选项以及每个选项的置信度(即概率)。
## 将大语言模型转化为决策模型
最初我们思考大语言模型能否被转化为具有Jev特性的决策模型。简短答案是:"可以"。下文将展示具体实现方法。
要理解我们的方法,关键在于理解大语言模型的工作原理:
大语言模型从不直接输出文本。给定提示后,模型会输出其整个词表上的概率分布。在文本生成中最简单的情况下,会选择概率最高的下一个token作为输出。选中的token被追加到提示中,整个过程重复进行。如前所述,若仅需在JSON对象中设置几个字段,这种方法既昂贵又缓慢。
我们的核心洞察是:既然已知JSON对象的结构,就无需让模型预测完整对象。我们只关心模型对给定输入的*类型化判断*。
我们发现可以通过精心设计提示,在单次模型运行中获得类型化判断——无需微调,完全使用原始模型。这与专为决策任务训练的Jev和Laya形成对比。基本步骤如下:
1. **为选项编号**。将状态、问题和输出选项以JSON形式放入提示,每个选项附带索引号。指令要求模型以`choice_index:`后跟索引号作答。
2. **预填充答案**。提示以`choice_index:`结尾。因此模型生成的第一个token将是预定义选项的索引。
3. **评估输出**。我们不读取模型生成的token,而是读取其在单次位置上为所有选项索引分配的概率。对选项进行归一化后,即得到每个答案的概率,我们直接选择概率最高的答案。
提示以助手的`choice_index:`开头
用户
\{"state": "我的订单被重复扣款", "question": "哪个团队处理?", "options": \[
\{"index":0, "name": "支付团队"\}\{"index":1, "name": "投诉团队"\}\{"index":2, "name": "技术团队"\}
\]\}
助手
choice\_index:
读取一行logit值
0 1 2...完整词表max\_tokens: 1temperature: 0allowed\_token\_ids
保留选项,重新归一化
- 0支付团队62\.1%
- 1投诉团队37\.7%
- 2技术团队0\.2%
答案支付团队 置信度0\.39,1表示完全确定,0表示各选项可能性相等
提示对选项进行编号,并以助手的`choice_index:`开头,因此下一个token就是索引号。通过词汇表掩码仅允许选项索引,API返回其对数概率,对选项进行归一化后即得每个答案的概率。中间面板的logit值为示例数据。我们为在vLLM(运行于Privatemode)上的GLM-5.3-Flash实现了上述步骤。使用`/chat/completions`端点配合`continue_final_message`和`add_generation_prompt: false`,因为这样能让模型从步骤2继续预填充的助手轮次,而非开启新轮次。这些参数还允许我们在文本旁传递图像,这正是实现图像类型决策的关键。
对于vLLM和GLM-5.3-Flash,我们发现以下细节至关重要:
1. vLLM的`allowed_token_ids`可用于将大语言模型的输出词表限制在允许的选项范围内。它将其他所有token概率设为`-inf`。我们设置了该参数,但这更多是保障措施而非必需条件。
2. `top_logprobs`不足以完成步骤3。它报告的是应用限制前的分布,因此格式化token(如前导空格)会占据前列位置,某些选项会从列表中消失并显示为零概率。vLLM的`logprob_token_ids`解决了此问题:它返回你指定的token_id的对数概率。
3. 索引号的token_id取决于模型的分词器。数字不一定是单个token。例如GLM-5.3-Flash将`12`表示为单个token。为避免随模型分发特定分词器,库从服务器获取token_id,这使得它能与任何模型轻松配合:向`/completions`发送带`echo`参数的提示,即可获得实际服务模型的确切分词结果。
相关实现可在以下代码库中找到。
edgelesssys/privatemode-decisions Python库:token预言机、提示、掩码与重新归一化,支持任何vLLM后端端点 (https://github.com/edgelesssys/privatemode-decisions)
## 体验环境
下方体验环境运行于Privatemode的GLM-5.3-Flash,采用上述配置,可直接从浏览器访问。选择示例之一(包括扫描发票和依赖本地时间的问题),或编写自己的问题并添加图像。每个答案以选项分布形式返回,通常只需几百毫秒。
这种分布通常非常有用,例如可决定是否需要人工介入。模型能解决大多数经典脑筋急转弯,但并非全部。
## 基准测试结果
我们使用自定义基准测试评估了该方法,相关代码库如下。
edgelesssys/privatemode-decisions-benchmark 基准测试:方法论、冻结数据集规范、测试工具与结果聚合。本文所有数据均可从中重新计算 (https://github.com/edgelesssys/privatemode-decisions-benchmark)
我们在29个公开标注数据集上比较了三个系统:托管于Privatemode并通过上述技术访问的GLM-5.3-Flash、TypeSafe的Jev以及Convai的Laya。
数据集包含2至151个选项,涵盖意图路由、情感分析、主题分类、内容审核、蕴含关系、问答、法律文本和扫描文档。语料库包含英语和德语文本。三个系统接收相同的状态、相同顺序的选项名称和相同指令。
每个数据集运行两次。即使在temperature=0时,我们的GLM-5.3-Flash和Jev在相同运行间最多有3.5%的答案发生变化:temperature=0仅消除采样随机性,但批处理和浮点运算仍使繁忙服务器上的前向传播无法实现位级可复现。因此我们视较小差异为噪声。
Jev和Laya使用默认设置运行,我们未在这些数据集上优化提示。
### 准确度
在28个文本数据集的对比中,GLM-5.3-Flash与Jev表现相当。GLM-5.3-Flash在10个数据集上更准确;在剩余8个数据集中,两者差距在1个百分点内。Jev的优势中位差为0.7个百分点,统计不显著(p=0.64)。在本地运行的4.21亿参数模型Laya在大多数数据集上得分低于两者,其中位差为13至15个百分点,统计显著(p<0.001)。
选项数量对准确度的影响大于Jev与GLM-5.3-Flash的选择。
哪些系统更准确,按数据集划分?
10个GLM-5.3-Flash更准确8个相差无几10个Jev更准确
典型差距为0.7个百分点,Jev略占优。两个同等准确的系统在约10次比较中有6次会出现至少此量级差距,因此这完全在随机范围内。
按选项数量划分的准确度
GLM-5.3-Flash Jev Laya
使用推理 嵌入相似度
20%40%60%80%100%26个数据集3–68个数据集7–208个数据集21–804个数据集81+1个数据集
悬停或点击标记查看数值。上图:每个方块代表两个托管系统回答的28个数据集之一,颜色标识哪个系统更准确;1个百分点内视为相同,差异基于两次相同运行。概率估计基于逐数据集差异的双侧Wilcoxon符号秩检验(p=0.64)。下图:按选项数量划分的平均准确度,仅对三个系统都回答的数据集求平均,因此每个点覆盖相同问题;底部条带非均匀分布。虚线和点线是同一数据集上的对照组,均为零样本设置:允许GLM-5.3-Flash回答前进行推理,以及不使用决策模型的普通嵌入相似度。选项数量与任务其他特征共同变化。但三个数据集对相同问题提供粗细两种标注,因此任务保持不变仅选项数量变化。在TREC上,从6个选项增至42个时,Jev从92.1%降至85.6%,GLM-5.3-Flash从91.2%降至79.6%,Laya从88.4%降至51.2%。在MASSIVE上,从18个场景增至59个意图时,Jev和GLM-5.3-Flash在两种语言中分数上升,而Laya分数下降。仅选项数量并不决定任务难度。
GLM-5.3-Flash于Privatemode Jev Laya
TREC问题
40%60%80%100%85\.6%79\.6%51\.2%6选项42选项
MASSIVE英语
40%60%80%100%83\.0%82\.4%44\.6%18选项59选项
MASSIVE德语
40%60%80%100%79\.2%77\.9%22\.0%18选项59选项
悬停或点击标记查看数值。相同问题粗细两种标注,唯一变量是选项数量。TREC将6种问题类型细分为42种;MASSIVE将18个场景细分为59种意图,涵盖英语和德语。右侧数字为细粒度准确度。
### 延迟与成本
我们在无负载的单独运行中测量延迟,因为负载下的计时反映的是队列等待时间而非模型性能。
由于Privatemode托管在欧盟而Jev托管在美国,我们同时从德国和美国运行了四个数据集。从德国访问时,Privatemode响应时间为180毫秒,Jev为264毫秒。从美国访问时顺序反转:Jev为164毫秒,Privatemode为299毫秒。
成本方面Jev更经济。按各服务标价,GLM-5.3-Flash处理一百万决策约需62欧元,Jev约需16欧元。
每个决策耗时
从德国访问
GLM-5.3-Flash于Privatemode 180毫秒(173–263)
从美国访问
GLM-5.3-Flash于Privatemode 299毫秒(271–402)
0毫秒450毫秒
每百万决策成本
GLM-5.3-Flash于Privatemode €62
悬停或点击标记查看数值。决策耗时包含用户感知的模型调用及网络延迟,从德国和美国同时针对四个数据集逐一测量。圆点为中位数;条带涵盖快速请求(第10百分位)至慢速请求(第95百分位)。成本为各服务标价下一百万决策的费用,基于两个系统都回答的28个数据集的中位数,因此Jev无法读取的扫描文档不包含在内。差异主要来自输入token单价和各系统的问题封装方式。Jev固定开销约270 token,每个选项约10 token。GLM-5.3-Flash提示固定开销约55 token,每个选项约20 token。选项少于约21个时,其发送的token少于Jev;超过21个时则更多。
GLM-5.3-Flash相比Jev每问题额外输入的token数
低于零表示GLM-5.3-Flash发送更少token,高于零表示更多。
\-2000\+200\+400\+600\+800020406080100每问题选项数↑ GLM-5.3-Flash发送更多↓ GLM-5.3-Flash发送更少约21个选项时平衡sst2,2选项:127对317 token (\-190)ledgar,100选项:2040对1207 token (\+833)
悬停或点击标记查看数值。每个数据集一个点:GLM-5.3-Flash于Privatemode每问题发送的输入token数减去Jev相同问题发送的token数。问题文本对两者相同因此抵消;剩余即封装差异。Jev有较大固定块和较小按选项增量,GLM-5.3-Flash固定块较小但按选项增量较大。虚线为所有数据集的趋势:GLM-5.3-Flash起始比Jev少约219 token,每个选项增加约11 token。13选项的异常值为scotus,两者的分词器对其冗长法庭意见处理不同。Laya在本地运行,无对应的延迟或单决策成本可供比较。
## 多模态决策
状态不必是文本。GLM-5.3-Flash是具备视觉能力的模型,因此问题可附带图像,如扫描发票、损坏包裹照片或屏幕截图。图像进入同一提示,答案仍是单个token及其各选项的概率。体验环境的*扫描文档*示例展示了这一点;你也可以粘贴或拖入自己的图像。
根据文档说明,Jev仅处理文本,Laya是文本编码器,两者都不接受图像输入。在RVL-CDIP(包含16类1600份扫描商业文档)上,GLM-5.3-Flash达到70.2%准确度,是三者中唯一能回答的。文档处理比句子成本更高:图像增加约1350个输入token,因此一百万文档决策约需270欧元。
## 能力边界
随着选项增多,每个系统都会达到限制。Laya的选项名称共享192 token预算,足够banking77的77个意图,但不足以容纳CLINC150的151个意图。Privatemode部署的GLM-5.3-Flash报告`logprob_token_ids`最多包含128个条目,而`allowed_token_ids`中的掩码覆盖所有选项。因此库在发送超过128个选项的问题时会进行相应处理。
相似文章
@NFT_Chen: 太棒了!立即通过本地化决策引擎将任何LLM转换为Jev模型!LLM2Jev带来Jev的统一Ch…
LLM2Jev是一个开源工具,它将本地HuggingFace模型适配为使用Choice、Score和Noul框架执行结构化决策,提供仅预填充推理,并与Transformers和SGLang集成。
@GoSailGlobal: 发现了一个与Jev this-that-model-1.0模型相当的决策模型,该模型由牛津AI团队开发,其背后的公司…
来自FLock.io的新型免费开源决策模型,与Jev相当,通过类型化决策方法为各种应用提供快速且无错误的推理。
从文本决策到像素:Jev-Style视觉选择模型研究
PixelJev被介绍为一种原生图像决策接口,使用小型开放多模态模型将图像、指令和候选集映射到结构化选择。该研究表明,在Pets等基准测试中,自适应提高了准确性,并突出了校准和泛化方面的挑战。
GLM 5.3 Flash 在图像分析方面表现惊人!
一位用户测试了 GLM 5.3 Flash 的图像分析功能,并赞扬其详细且准确的性能,与其他视觉模型相比表现出色。
GLM-5.3-Flash
发布 GLM-5.3-Flash,这是一款针对快速推理和性能更新进行了优化的 AI 语言模型。