图像26ms比文本83ms还快:Jev-Omni各模态延迟实测对比
【免费下载链接】Jev-Omni项目地址: https://ai.gitcode.com/hf_mirrors/akhilaaa3/Jev-Omni
多模态大模型通常意味着「重」:视觉编码器、音频编码器、时序对齐、以及一串串自回归生成的 token。但当 Jev-Omni 的实测数据摆出来时,结论却反了过来——在 H200 的 warm 推理中,图像输入只要 26ms,文本却要 83ms,13 秒音频 31ms,16 帧视频 504ms。图像比文本快三倍,这在以「文本是主模态」为默认前提的 LLM 生态里,几乎是一种反直觉的信号。
这个 12B 参数的开源多模态决策分类器,不生成任何解释文本,而是对用户给出的选项直接输出校准后的概率分布。本文基于仓库源码与实测数据,拆解四条输入路径的延迟差异到底从哪来,以及这些数字对实时决策系统的选型意味着什么。
四路输入的延迟全表
仓库 README.md 的 Speed 一节给出了官方口径的基准:H200 warm 推理、20 次优化后端请求的中位数,预处理与网络传输时间不计入。
| 输入模态 | 输入规模 | 实测延迟(H200 warm) | 端到端参考(GB10 实测) |
|---|---|---|---|
| 文本 | ~2k token | 83 ms | ~1 s |
| 图像 | 单张 | 26 ms | ~1 s |
| 音频 | 13 秒 | 31 ms | ~1 s |
| 视频 | 16 帧 | 504 ms | ~4 s |
两套数据口径不同,前者是纯模型推理(warm、优化后端),后者是社区部署实测的端到端时长(含 ffmpeg 转码、帧抽取、网络与预处理)。理解这个差异很重要:模型本身已经快到了个位数毫秒到半秒的级别,剩下的延迟大头反而转移到了多模态输入的前处理管道上。
这份数据的第二个看点,是文本竟然不是最快的。要解释这一点,必须回到 Jev-Omni 的架构——它不是一个典型的「聊天式」多模态模型,而是一个一次前向传播、零输出 token的分类器。
为什么图像反而比文本快:投影器与 token 化路径
关键在 jev_omni.py 中JevOmni.predict的实现:无论哪种模态,最终都是self.model(**inputs, use_cache=False, ...)的单次前向传播,随后从解码器的最后一层隐藏状态直接映射到选项 logits,全程没有自回归解码:
self._capture.clear() with torch.autocast("cuda", dtype=torch.bfloat16): self.model(**inputs, use_cache=False, **self._extra) probs = self.head(self._capture["hidden"], torch.tensor([len(options)], device=self.device))[0, :len(options)].softmax(-1)use_cache=False意味着不存在 KV cache 随生成长度膨胀的问题;决策头 _Head256 只是一个归一化后的单层线性映射(hidden 3840 → 256 个选项槽位):
class _Head256(torch.nn.Module): """Decision head: normalise the last hidden state, one logit per option slot.""" def __init__(self, hidden): super().__init__() self.register_buffer("mu", torch.zeros(1, hidden)) self.register_buffer("sd", torch.ones(1, hidden)) self.linear = torch.nn.Linear(hidden, 256, dtype=torch.float32)在「单次前向 + 固定开销决策头」的框架下,延迟就几乎只由送入 Transformer 主干的 token 数量与注意力成本决定。四条路径的 token 化策略在 config.json 中一目了然:
- 文本:约 2k token 直接进入 48 层 Gemma 主干,逐 token 走完完整的注意力与 FFN 计算,这是 83ms 的来源。
- 图像:视觉塔采用
patch_size=16切分、model_patch_size=48、pooling_kernel_size=3池化,最终压缩为num_soft_tokens=280个固定数量的 soft token,再经mm_embed_dim=3840的投影注入主干。280 个 token 对比 2k 文本 token,计算量相差约一个数量级,26ms 由此而来。 - 音频:
audio_samples_per_token=640,即每 640 个采样点压成一个 token。13 秒 16kHz 单声道音频约 20.8 万样本,折算约 300+ token,与图像同量级,31ms 与之吻合。预处理中音频还会被 ffmpeg 限制在 30 秒、重采样到 16kHz 单声道。 - 视频:
_video_frames对视频均匀采样 16 帧,每帧都走完整视觉 token 化路径(16 × 280 ≈ 4480 个视觉 token),是四条路径中 token 数最多的一条,504ms 的差距完全符合预期。
所以「图像比文本快」的本质是:投影器把图像压缩成了固定且少量的 soft token,而文本的 2k token 只能原样进入主干。视觉模态的「信息压缩率」远高于文本,在决策分类这种不需要逐 token 生成的范式下,反而成了最快的路径。这与生成式多模态模型的直觉完全相反——那边图像往往更慢,因为要先生成大量视觉表征再解码。
延迟数据对实时决策场景的选型意义
把两套延迟数据放在一起,会得到一个对工程选型非常有用的结论:warm 推理的毫秒级数字证明了架构效率,但真实系统预算必须以端到端口径为准。
- 图像与音频:26/31ms 的 warm 推理 + 约 1s 的端到端,说明瓶颈在输入解码与预处理(图片解码、ffmpeg 转码)而不在模型。对于 OCR 审核、票据判定、语音质检这类高频封闭选项场景,Jev-Omni 可以把模型耗时压到近乎可忽略,系统吞吐主要由 IO 管道决定。
- 文本:83ms 对应约 2k token 的输入,意味着输入越长,文本路径越慢。仓库明确说明该场景按「一次一问」计费——README.md 中指出状态会被重复发送,这也解释了为什么长文本批量判定的成本会线性上升。实时决策系统若以文本为主,应尽量压缩 state 长度,或把短问句判定作为主要形态。
- 视频:504ms 的 warm 推理、约 4s 的端到端,定位只能是准实时。视频是 16 帧均匀采样后的多帧图像序列,token 总量天然最大,适合内容审核、事件回放这类秒级容忍的判定,不适合逐帧流式决策。
成本维度同样值得纳入选型。由于 决策头直接输出概率、不产生任何输出 token,推理费用仅由输入 token 决定——README 的成本测算中,Jev-Omni 按每次提问一调用的方式计价,仍能在 DecisionBench Medium 上拿到 87.57% 的状态宏平均准确率,并与商用大模型同框对比:
而延迟与成本的「快」并没有牺牲概率质量:DecisionBench Medium 上 ECE 低至 0.0400(10 分桶),校准曲线紧贴理想对角线:
一句话总结这份延迟表的工程含义:Jev-Omni 的架构把「多模态理解」从生成式范式切换成了判别式范式,图像、音频因此享受到 token 压缩的红利,成为最快的输入通道;文本的延迟与输入长度强相关;视频则以秒级为代价换取 16 帧的全局上下文。对实时决策系统而言,选型的核心不再是「哪个模态模型跑得快」,而是「把模态前处理管道优化到和模型推理同一个量级」——因为 26ms 之后,瓶颈早就转移到你自己的代码里了。
【免费下载链接】Jev-Omni项目地址: https://ai.gitcode.com/hf_mirrors/akhilaaa3/Jev-Omni
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考