☰
Jev-Omni核心原理揭秘:256维决策头如何让选项概率归一化
2026/10/1 9:09:54 网站建设 项目流程

Jev-Omni核心原理揭秘:256维决策头如何让选项概率归一化

【免费下载链接】Jev-Omni项目地址: https://ai.gitcode.com/hf_mirrors/akhilaaa3/Jev-Omni

Jev-Omni 是一个基于 Gemma 4 12B 的多模态决策分类器:给它一道问题和一组选项,它不会生成解释,而是直接返回每个选项的概率,且这些概率天然归一化(加起来恰好等于 1)。这套能力的核心,是一个只有三层逻辑的256 维决策头。本文用最少的代码,带你快速看懂「状态 → 主干 → 决策头 → 归一化概率」的完整链路。🎯

从问题到概率:三段式推理链路

Jev-Omni 的推理过程可以拆成三步:

  1. 拼接提示词:把「场景状态 + 问题 + 编号选项」拼成一段文本,要求模型只回一个数字编号;
  2. 主干编码:Gemma 4 12B IT 多模态主干(文本/图像/音频/视频统一输入)跑一遍前向,钩子捕获最后一个 token 的隐藏状态(3840 维向量);
  3. 决策头打分:这个向量送入 256 维决策头,得到 256 个分数,再截断、归一化,输出 N 个选项的概率。

整个链路的关键代码只有两行,见 jev_omni.py 的隐藏状态捕获与 jev_omni.py 的概率计算。

256维决策头:归一化的三步魔法

决策头定义在 jev_omni.py,结构小到可以一行说清——但它做对了三件关键的事:

第一步:标准化特征。隐藏状态先减去可学习均值mu、再除以可学习标准差sd,相当于给 3840 维特征做一次自适应「调音量」,让主干输出的量级稳定,后面的打分才可比。

第二步:一次线性投影到 256 个槽位。

self.linear = nn.Linear(hidden, 256) # 3840 维 → 256 维

无论题目是 2 个选项还是 200 个选项,决策头永远输出 256 个分数——每个「槽位」对应一个候选选项。

第三步:槽位掩码,静音多余选项。

z.masked_fill(arange(256) >= counts, -1e30)

只用了 N 个选项时,第 N 个槽位之后的分数全部被置为-1e30(一个趋近负无穷的大负数)。

softmax 归一化:概率如何恰好加和为 1

最后一步是标准的 softmax(jev_omni.py):每个分数变成e^分数 / Σ e^分数。

被掩码的槽位分数是 -1e30,e^(-1e30)在浮点世界里就是 0,所以它们对分母毫无贡献。效果等价于:softmax 只在真正的 N 个选项上进行——于是 N 个概率自动满足:

每个选项概率 ∈ (0, 1],且 Σ 概率 = 1 ✅

这就是「概率归一化」的全部秘密:固定 256 槽位 + 掩码 + softmax,一行截断[:len(options)]后,任意数量的选项都得到一份合法的概率分布。

为什么是固定的256个槽位?

这个设计换来了三个实际好处:

  • 选项数量无关:2 个选项和 200 个选项共用同一个头,无需为每个 N 单独训练或重建;
  • 数值安全:-1e30 掩码保证未用槽位概率严格趋近 0,softmax 不会「漏概率」;
  • 推理零输出:分类器只算一次前向、不生成任何 token,H200 上文本推理约83 ms,图片只要26 ms(数据见 README.md),成本也省掉了输出 token 计费。

槽位上限写在 decision_config.json:output_classes: 256;官方建议选项不超过 20 个时效果最稳(见 README.md)。

概率校准:归一化之外,还要「可信」

概率加和为 1 只是及格线。对决策系统来说,更关键的是校准:说 80% 把握时,实际就该对 80%。

Jev-Omni 在 DecisionBench Medium 上的 ECE(期望校准误差,越低越好)仅为0.0400——它的置信度几乎完全可信:

配合 30,000 题规模的微调训练(配方见 decision_config.json),Jev-Omni 在 DecisionBench Medium 上达到87.57%准确率,JevBench 达到86.15%。

快速上手体验

只需要一段示例代码就能感受输出形态,完整可运行版本在 example.py:

result = classifier.predict( state="The meeting starts at 10 AM. It is now 9 AM.", question="Has the meeting started?", options=["Yes", "No"], ) # {'prediction': 'No', 'confidence': ..., 'probabilities': {'Yes': ..., 'No': ...}}

文本、图片、音频、视频都走同一个predict接口,换多模态只需加media=与modality=两个参数。

值得翻一翻的核心文件

文件内容
jev_omni.py256 维决策头_Head256:标准化、投影、掩码三件套
jev_omni.pypredict推理主流程与概率输出
decision_config.json隐藏维度 3840、输出槽位 256、基座模型配置
head.pt决策头权重(FP32 合并后)
config.jsonGemma 4 统一多模态主干配置
README.md基准成绩与开源模型横向对比

一句话总结:Jev-Omni 的 256 维决策头用「可学习标准化 + 固定 256 槽位 + -1e30 掩码 + softmax」四步组合,让任意数量的选项都得到一份加和恰为 1、且高度校准的概率分布——这就是它又快、又准、又可信的核心原理。📊

【免费下载链接】Jev-Omni项目地址: https://ai.gitcode.com/hf_mirrors/akhilaaa3/Jev-Omni

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询