news 2026/11/3 2:33:44

揭秘Youtu-Parsing-Omni:单一Omni编码器如何统一图像、音频与视频解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
揭秘Youtu-Parsing-Omni:单一Omni编码器如何统一图像、音频与视频解析

揭秘Youtu-Parsing-Omni:单一Omni编码器如何统一图像、音频与视频解析

Youtu-Parsing-Omni是腾讯优图实验室推出的 5B 级多模态解析模型:给定一张文档页、一张自然图像、一个图表/流程图/几何图、一段音频或一段含声音的视频,它都能输出一份结构化的 JSON 解析结果。它的核心架构创新在于:用一个单一 Omni 编码器同时处理图像、音频和音视频混合输入,替代传统"双塔"方案。本文带你完整拆解这套架构的设计原理与关键实现。

为什么是"单一编码器":双塔架构的困境

传统的全模态(omni-modal)解析模型通常采用双塔设计:像素由一个预训练的视觉塔编码,音频由另一个预训练的音频塔编码,两条特征流直到进入语言模型时才第一次"相遇"。

这带来一个根本问题:跨模态的相互理解被推迟到了解码阶段。视觉塔和音频塔各自独立学习,模型只能靠语言模型"事后拼接"两条信息流,既增加训练难度,也让感知参数随模态数量成倍膨胀。

Youtu-Parsing-Omni 的解法是:用一个 Youtu-Omni-Encoder 替换掉两个塔。这个编码器本身是一个 Transformer 主干,而且是从预训练文本语言模型初始化而来的——这样它天生就具备读文本的能力,对文档、图表这类以文字为核心的输入尤其友好。图像、音频不再各自拥有独立的深层网络,只保留一层轻量的模态专属"前端"(stem),感知能力的绝大部分由共享参数承担。

Omni编码器内部机制:前端、共享主干与合并器

理解编码器内部,只需记住三段式结构:模态前端 → 共享双向 Transformer → 模态合并器。

1)模态前端(stem):把像素和声波变成 token

  • 图像路径:图像被切分为 16×16 的 patch,通过线性层 patch_embedding 投影为 token 序列。
  • 音频路径:128 维 log-mel 频谱经过三层 Conv2d 堆叠(YoutuVITACNNAudioEmbeddings),时间方向下采样 8 倍——每秒音频最终只产生约 12.5 个 token,长音频也能被高效表示。

2)共享主干:28 层双向 Transformer

config.json 中omni_config字段记录了主干配置:num_hidden_layers: 28、hidden_size: 1024、16 个注意力头(8 个 KV 头,GQA)、vocab_size: 280256,且全部为full_attention层。它工作在 packed(打包变长)序列上,可以一次处理图像、音频块和视频的任意混合,并支持最长 100 万 token 的上下文(max_position_embeddings)。

3)模态合并器(merger)与投影器

编码器之后是模态专属的压缩头:图像走 2×2 空间合并(token 数降为 1/4)YoutuVITAOmniVisionPatchMerger,音频走 2 倍时间合并 YoutuVITAOmniAudioPatchMerger,随后统一投影到 2560 维,与文本提示一起送入 Youtu-LLM 解码器(40 层、hidden 2560,见 text_config),最终输出 OmniSchema JSON。

💡 关键结论:只有轻量的前端 stem 和 merger/投影头是模态相关的,几乎全部感知参数都是共享的。这意味着图像、音频、视频的能力可以互相迁移——学会看图表的模型,也学会了"听"。

音视频融合:在感知层对齐"画面与声音"

对视频输入,融合发生在编码器内部,由两个机制配合完成。

① 融合窗口(fusion windows)

视频处理器把帧序列与音频块按真实时间顺序打包成一条序列(每个音频块对应 2~30 秒,见 video_processing_youtu_vita.py)。28 层中有 4 层是融合层,由 config.json 的video_fusion_layer_freq指定——第 12、13、26、27 层。

  • 非融合层(24 层):每个帧、每个音频块各自拥有独立的注意力窗口,互不干扰;
  • 融合层(4 层):在每个"音频→帧"的边界开启新窗口,让帧 token 直接关注同一时刻的声音 token。

实现上,forward_video会预构建两种分段方案(每层用哪套),逐层分发给编码器:YoutuVITAOmniModel.forward_video。融合层的选择逻辑与 A→I 边界分组规则见 第 3354-L3397 行。

② 统一时间位置编码

跨模态对齐的核心是 4D 位置编码:把注意力头的维度切分为M | T | H | W四段(模态 | 时间 | 高 | 宽),代码在 YoutuVITAOmniEncoder。

  • 视觉 token:t取自帧索引,(h, w)取自 patch 网格;
  • 音频 token:t取自时间偏移,h = w = 0。

两种模态因此共享同一套时间坐标系:12.5 个 t 单位对应 1 秒(与音频 token 速率严格对齐),同一时刻出现的画面与声音落在相同的t上(时间步进定义)。模态本身由 M 段区分——图像=0、音频=1、视频帧=2、视频音频=3(modality 定义)。

🎯 跨模态对齐在编码器内直接算出,而不是交给解码器去"猜"——这是音视频理解质量的关键来源。

OmniSchema 与 OSAD:一套格式训练所有任务

统一输出格式:所有解析任务共用同一个 JSON 信封OmniSchema,同时覆盖感知层(布局元素、文本、表格、公式、bbox 坐标、时间戳、ASR、声学事件、镜头运动)与认知层(caption、narrative、report)。具体输出哪个"家族"由任务提示(--task)决定,支持文档、自然图像、图表、流程图、几何图、音频、自然视频、富文本视频等 8 种输入。

OSAD 自进化后训练:所有任务共享 OmniSchema 之后,训练侧可以用同一个自进化蒸馏流程OSAD(OmniSchema-Aware On-Policy Distillation)统一处理:

  • 学生模型采样自己的解析结果,通过准入门(JSON 合法性、schema 合规、框语法、重复检查)的 rollout,交给一个"能看到参考答案"的冻结模型副本打分;
  • 得益于统一 schema,每个 token 都能被识别为内容 token(Jensen–Shannon 散度)或结构 token(较高温度下的前向 KL);
  • 每轮结束时把学生的 LoRA 适配器合并,学生变成下一轮的 teacher——解析器与监督信号共同进化,无需手工设计奖励,也无需单独训练的 teacher。

性能表现:5B 小模型的 SOTA 实力

单一编码器的收益最终体现在结果上(完整数据见 README.md):

基准指标成绩
OmniDocBench v1.6(文档解析)Overall96.96(SOTA,超过 TeleOCR、OvisOCR2、GPT-5.2)
OmniParsingBench(跨模态综合)Avg.75.08(开源权重模型最佳,仅次于 Gemini-3-Pro)
其中 Chart / Audio单项95.02/78.08(全场最高)
ChemOCR(化学结构)Tani@1.054.2,与 13B 专用模型 ChemDFM-X 相当
PDMX-Synth(乐谱识别)CER22.73,超越专用 OMR 模型 LEGATO

5B 的参数规模、全模态的输入覆盖、以及文档解析上对专用模型和 GPT-5.2 的领先,说明"共享感知参数"带来的能力迁移是真实存在的。

源码导读:从哪里开始读架构

核心实现集中在 modeling_youtu_vita.py,建议按以下路径阅读:

  • YoutuVITAOmniModel:顶层编码器,包含 vision / audio / video 三条前向分发与融合层掩码初始化;
  • YoutuVITAOmniEncoder:共享 28 层 Transformer 主干 + 4D (M|T|H|W) 位置编码构建;
  • forward_video:视频帧与音频块的按时间交织、融合/非融合窗口划分;
  • config.json:omni_config记录全部关键开关(video_fusion_layer_freq、video_group_attention、video_omni_chunked_mthw_rope、video_omni_fusion等);
  • README.md:Method 章节配有官方原理图,Results 章节有全部基准数据。

理解了这套架构,你就理解了多模态大模型的一个重要走向:从"多个塔各自编码、再拼接",进化到"单一编码器统一表示"。Youtu-Parsing-Omni 把"统一"做到了感知层——图像、音频、视频不再各说各话,而是共享一套参数、在同一个时间坐标系里相互对齐。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 2:30:19

supertree API完整参考:SuperTree、Node与TreeData三大核心类详解

【免费下载链接】supertree Impress your boss with interactive Decision Tree visualization 项目地址: https://gitcode.com/gh_mirrors/su/supertree 点击查看 免费下载 supertree 是一个在 Jupyter 中实现交互式决策树可视化的 Python 库,支持 sc…

作者头像 李华