揭秘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 层双向 Transformerconfig.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/4YoutuVITAOmniVisionPatchMerger音频走 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。视觉 tokent取自帧索引(h, w)取自 patch 网格音频 tokent取自时间偏移h w 0。两种模态因此共享同一套时间坐标系12.5 个 t 单位对应 1 秒与音频 token 速率严格对齐同一时刻出现的画面与声音落在相同的t上时间步进定义。模态本身由 M 段区分——图像0、音频1、视频帧2、视频音频3modality 定义。 跨模态对齐在编码器内直接算出而不是交给解码器去猜——这是音视频理解质量的关键来源。OmniSchema 与 OSAD一套格式训练所有任务统一输出格式所有解析任务共用同一个 JSON 信封OmniSchema同时覆盖感知层布局元素、文本、表格、公式、bbox 坐标、时间戳、ASR、声学事件、镜头运动与认知层caption、narrative、report。具体输出哪个家族由任务提示--task决定支持文档、自然图像、图表、流程图、几何图、音频、自然视频、富文本视频等 8 种输入。OSAD 自进化后训练所有任务共享 OmniSchema 之后训练侧可以用同一个自进化蒸馏流程OSADOmniSchema-Aware On-Policy Distillation统一处理学生模型采样自己的解析结果通过准入门JSON 合法性、schema 合规、框语法、重复检查的 rollout交给一个能看到参考答案的冻结模型副本打分得益于统一 schema每个 token 都能被识别为内容 tokenJensen–Shannon 散度或结构 token较高温度下的前向 KL每轮结束时把学生的 LoRA 适配器合并学生变成下一轮的 teacher——解析器与监督信号共同进化无需手工设计奖励也无需单独训练的 teacher。性能表现5B 小模型的 SOTA 实力单一编码器的收益最终体现在结果上完整数据见 README.md基准指标成绩OmniDocBench v1.6文档解析Overall96.96SOTA超过 TeleOCR、OvisOCR2、GPT-5.2OmniParsingBench跨模态综合Avg.75.08开源权重模型最佳仅次于 Gemini-3-Pro其中 Chart / Audio单项95.02/78.08全场最高ChemOCR化学结构Tani1.054.2与 13B 专用模型 ChemDFM-X 相当PDMX-Synth乐谱识别CER22.73超越专用 OMR 模型 LEGATO5B 的参数规模、全模态的输入覆盖、以及文档解析上对专用模型和 GPT-5.2 的领先说明共享感知参数带来的能力迁移是真实存在的。源码导读从哪里开始读架构核心实现集中在 modeling_youtu_vita.py建议按以下路径阅读YoutuVITAOmniModel顶层编码器包含 vision / audio / video 三条前向分发与融合层掩码初始化YoutuVITAOmniEncoder共享 28 层 Transformer 主干 4D (M|T|H|W) 位置编码构建forward_video视频帧与音频块的按时间交织、融合/非融合窗口划分config.jsonomni_config记录全部关键开关video_fusion_layer_freq、video_group_attention、video_omni_chunked_mthw_rope、video_omni_fusion等README.mdMethod 章节配有官方原理图Results 章节有全部基准数据。理解了这套架构你就理解了多模态大模型的一个重要走向从多个塔各自编码、再拼接进化到单一编码器统一表示。Youtu-Parsing-Omni 把统一做到了感知层——图像、音频、视频不再各说各话而是共享一套参数、在同一个时间坐标系里相互对齐。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考