
先说一件挺讽刺的事。
现在几乎所有能打的视频大模型,无论是负责生成的Wan、Seedance、HunyuanVideo,还是负责理解的V-JEPA、DINOv3,背后都得靠海量视频数据喂出来。可你要是去翻它们的技术报告,想看看这些数据到底是怎么处理的,会发现绝大多数论文对这部分几乎是沉默的。
论文里团队统计了一下这些技术报告里描述数据处理部分的字数,发现大多数报告要么只字未提,要么寥寥数语带过。换句话说,这个行业最重要的一环,恰恰是最不透明的一环。
这就好比你去餐厅吃饭,菜单上写着"选用优质食材、精心烹饪",但后厨具体怎么切菜、怎么调味、原料从哪儿进的货,一概不告诉你。你只能尝到最后端上来的成品味道好不好,却没法知道这个味道是怎么来的,更没法照着做一遍。
对于大多数做研究的人来说,这不是小麻烦,而是研究的起点就已经堵死了。假如你想验证一个假设,比如"数据筛得越严格,模型是不是学得越好",你得先自己搭一整套流程:从原始视频清洗、切分镜头、质量打分、去重、打标签,一路做到训练系统能直接吃的格式。而且这套流程还得把每一步的中间结果和决策都记下来,不然你没法说清楚"这个训练样本是怎么被挑出来的"。往往搭这套基础设施花的功夫,比验证假设本身还大。这就是这篇论文想解决的第一层问题:把这套基础设施变成开源的、可复用的东西。
数据配方到底难在哪里
这里要先解释一个词。
数据配方(data recipe):指的是从原始视频到最终训练数据集之间,所有处理决策的集合,包括怎么切片、怎么筛选、怎么标注、怎么打包。
VidaForge团队把整个数据配方拆成了五个阶段,分别叫摄取、切分、筛选、标注、打包。这五个阶段串成一条链,前一阶段的输出是后一阶段的输入,每一步都会把处理过程和结果存下来。这样一来,任何一个最终进入训练集的样本,你都可以顺着这条链往回查,搞清楚它经历了哪些筛选、被谁标注过、为什么被留下来。
这套系统的一个核心设计理念,论文里管它叫"attribution-ready",翻译过来大概是"可溯源就绪"。
这个设计到底解决了什么根本矛盾?
如果不这样做会怎样?假设你想换一个筛选阈值,重新做一版训练数据,常规做法可能是整个流程从头跑一遍,包括重新做视频切片、重新提取质量分数、重新去重。这不仅浪费时间,更麻烦的是,你没法确定新数据集和老数据集之间的差异,到底是这个阈值改动带来的,还是流程里其他随机性造成的。VidaForge的做法是把每一步的输出都单独存下来,改动筛选阈值时,只需要复用前面已经算好的质量分数和去重结果,重新跑一次"筛选"这一步就行。这就好比你在整理一个巨大的文件柜,每个抽屉都贴好标签、按类别归档,你想换一种分类方式的时候,不用把整个柜子倒出来重新收拾,只需要把某个抽屉里的东西重新排列一下。如果不这么设计,每次换个筛选标准就得把所有文件倒出来重新整理一遍,时间成本会随着数据规模指数级上升。
五个阶段,一步步拆开看
摄取阶段做的是把五花八门的原始视频统一格式。这一步有三个子步骤:先探测视频的编码、分辨率、帧率这些基本信息;然后按粗粒度规则筛掉明显不合格的视频,比如分辨率太低或者时长太短;最后把留下来的视频统一转码成标准格式。
切分阶段负责把一个完整视频拆成一个个场景级别的短片段。这里用到了镜头边界检测技术,可以理解成给视频找"剪辑点",在画面内容发生明显切换的地方把视频切开。
场景级切分(scene-level segmentation):指的是根据镜头边界把一个长视频切成若干个内容连贯的短片段,而不是简单地按固定时长切块。
筛选阶段是整个流程里工程量最大的一环。这里又分成四个子步骤:先准备好每个片段的采样帧和音频,这些是后续步骤都要用的公共素材;然后用四个独立的指标给每个片段打分,分别衡量画面的曝光对比度、运动幅度、美学质量、画面里文字占多大面积;接着做去重,分别用两种技术找出视觉上高度相似或语义上高度相似的片段;最后综合这些分数和去重关系,决定哪些片段最终能进入训练集。
标注阶段给每个片段配上三类描述:一是摄像机运动的结构化标签,比如镜头是在推近还是拉远、是平移还是旋转;二是四个层级、由简到详的文字描述,从一句话的概括到两三百字的细致刻画;三是语义标签,包括场景类型、画面主体、动作类型等等。
打包阶段是最后一步,把处理好的片段转换成不同训练系统需要的具体格式。论文里演示了两条路径,一条对接生成式模型Wan 2.1,另一条对接自监督表征学习模型V-JEPA 2.1。
值得说一下为什么要把标注拆成摄像机、文字描述、语义标签三个独立步骤,而不是一个模型一口气全输出。这样设计的好处是,如果你只想换一下文字描述的详细程度,不用重新跑摄像机识别和语义打标,直接复用之前的结果就行。这就好比装修房子时,水电、瓷砖、家具是分开施工的,如果你后来只想换个沙发,完全不需要把水电线路也扒开重弄一遍。
覆盖率还是质量,这道选择题怎么答
拆解完基础设施,论文用这套系统做了一个真正的实验,来回答一个所有做数据工作的人都会纠结的问题:训练数据到底是要广撒网,还是要精挑细选?
具体做法是这样的。团队从LLaVA-OneVision-2-Data这个视频数据集里挑了20万个原始视频,跑完摄取和切分之后得到71.6万个片段。然后用一套筛选规则,把这些片段分成两拨:一拨叫Selected(精选池),是那些光学质量、运动幅度、美学分数、文字面积都达标,且去重后保留下来的35.2万个片段;另一拨叫Rejected(淘汰池),是被这套规则筛掉的36.4万个片段。
有意思的地方在这里。淘汰池里的片段,并不是垃圾,它们只是没通过某个特定阈值,可能是画面稍微欠曝一点,可能是运动幅度不够大,也可能是和其他片段语义上太相似。这些片段依然被完整保留、完整标注,因为VidaForge的设计理念就是"筛选不等于丢弃",所有的处理记录都留着。
基于这两个池子,团队构造了三种训练数据集。Selected版用精选池的片段跑两轮;Rejected版用淘汰池的片段跑两轮;还有一个Mixed版,把两个池子各拿一半混在一起,只跑一轮。三者处理的片段总量是一样的,这样保证了实验的公平性:不是数据量多少的比较,而是同样规模下,数据质量和覆盖广度的比较。
覆盖率(coverage):这里指训练过程中模型接触到的不同视频片段数量,以及这些片段在语义空间里覆盖的范围广不广。Mixed版本处理58万个不同片段,而Selected和Rejected各自只处理29万个不同片段跑两遍,这就是覆盖率上的差异。
论文用t-SNE技术把所有片段的语义向量画在了一张二维地图上。结果很直观:精选池和淘汰池在这张地图上占据的是不同的区域,几乎不重叠;而混合池因为把两拨都装进去了,自然覆盖了更大的语义版图。这说明筛选规则不只是在过滤"质量差"的样本,它同时也在悄悄地收窄数据能覆盖的内容范围。
这时候一个类比就浮现出来了。假设你在组建一支足球队,如果只按照"传球成功率"这一项指标去挑人,挑出来的可能都是同一类技术型中场球员,球队看起来数据很漂亮,但缺前锋、缺后卫、缺速度型边锋。这支队伍在单一维度上很强,但整体阵容的覆盖面变窄了。如果不做这种覆盖率分析,你可能压根意识不到,自己精心筛选出来的"高质量数据"其实是在系统性地丢弃某一类内容。
训练结果告诉了我们什么反直觉的事
接下来是真正出结果的部分,这里的发现有点出乎意料。
在Wan 2.1视频生成模型上,团队用三个不同随机种子分别训练了Mixed、Selected、Rejected三种配方。训练损失(衡量模型在训练数据上拟合程度的数值,越低通常代表模型在训练集上学得越"到位")最低的居然是Rejected版,也就是那个用"质量差"数据训练出来的模型,训练损失反而收敛得最好。但如果看验证损失,也就是模型在没见过的数据上的表现,Selected版反而是最低的。
这已经说明训练损失和验证损失给出的排名不一致了。但真正的转折点在于,当团队用VBench这个视频生成质量基准做最终评测的时候,排名第一的既不是训练损失最低的Rejected,也不是验证损失最低的Selected,而是覆盖率最高、质量参差不齐的Mixed。
VBench:一套专门用来评价视频生成模型效果的综合性基准测试,涵盖画面质量、语义准确性等多个维度的打分。
这个结果在三个随机种子下都成立,Mixed版本的VBench总分比Selected版本高出0.53到1.15分不等。仔细看细分维度会发现,Mixed在成像质量、美学质量、色彩表现、主体一致性这些维度上都占优。
同样的实验在V-JEPA 2.1自监督表征学习模型上又做了一遍。这次训练损失和验证损失都是Rejected版最低,但在下游任务Something-Something V2(一个专门测试模型对物体交互动作理解能力的视频数据集)上做动作识别测试时,Mixed版本的准确率是16.26%,显著高于Selected的15.71%和Rejected的15.10%,而且这个排名在三个随机种子下全部成立。
这里必须停下来想一想,这件事到底意味着什么。
如果一个团队只盯着训练损失这一个数字去调数据配方,很可能会得出"应该多用那些看起来质量差的数据"这样的结论,因为Rejected版本的训练损失确实最低。但这个结论放到实际下游任务上是站不住脚的,因为下游表现最好的其实是覆盖面更广的Mixed。这就好比一个学生复习考试,只盯着"做题速度快不快"这一个指标去练习,结果发现速度确实练上去了,但考试成绩反而不如另一个复习方法更全面、做题速度没那么快的同学。速度这个中间指标,和最终考试成绩之间,并不是简单的正相关。
论文里还专门做了一个补充实验,叫Random-290k,就是从Mixed数据里随机抽29万片段、只跑一轮,拿来跟Selected和Rejected在同等数据规模、同等训练轮次下做对比。结果发现在训练早期阶段,排名会因为训练进度不同而发生变化,比如在中途某个检查点,Selected的下游表现反而一度领先。这提醒我们一件事:数据配方的效果排名,不仅取决于用什么数据,还取决于你在训练的哪个阶段去看。
VidaForge-3M,一个用来练手的公开数据集
除了这套基础设施和这个实验发现,论文还放出了一个叫VidaForge-3M的公开数据集。
这个数据集处理了80万个原始视频,最终产出314万个场景级片段,总时长6475小时。每个片段都配了完整的四层级文字描述、摄像机运动结构化标签、七个维度的语义标签,还有质量分数和去重关系。
规模上看,这些片段的时长大多集中在9到10秒之间,分辨率最常见的是454×256,占了73.63%。这个分布其实反映了VidaForge在摄取阶段的标准化策略,就是把高分辨率视频降采样,而低分辨率视频保持原样,不做人为拉伸。
标注质量上,团队统计发现94.2%的片段被打上了"真实世界"这个领域标签,75.3%被打上"纪实风格"标签,81.6%的片段里出现了"人物"这个主体标签。这些统计数字本身就是一种"元数据",让后来的研究者不用重新跑一遍标注,就能知道这个数据集大概是什么构成。
这也是这篇论文想传达的一个更深层的理念:与其发布一个"处理好的成品数据集",不如把处理过程中产生的所有中间信号都一并交出来,包括质量分数、去重关系、多级标注。这样一来,不同的研究者可以基于同一批原始素材,构造出完全不同的数据配方,而不需要重复造轮子。
和现有工具相比,VidaForge补上了什么
论文里也梳理了几个同类的视频数据处理工具,包括Data-Juicer、NeMo Curator、Cosmos Curator。这几个工具各有各的强项,比如Data-Juicer配合它的Sandbox扩展,可以把数据配方的改动连接到生成式模型的训练和评测上;Cosmos Curator在视频处理和结果复用方面做得比较完善。
但论文指出,这些工具普遍缺失几样东西:一是没有把每个处理阶段的输出、参数、样本级决策完整串联到最终训练数据的能力;二是没法用同一批处理好的视频池,同时对接生成式和自监督两类完全不同的训练系统;三是普遍没有把数据配方变体、模型训练、模型评测这三者串成一条完整可执行的实验链路。
VidaForge填的就是这三个坑。同一批处理好的视频,既能喂给Wan做生成式训练,也能喂给V-JEPA做表征学习训练,而且从最初的原始视频到最后训练用的每一条样本,处理链路是完整可查的。
写在后面
读这篇论文的过程中,最触动我的其实不是那套五阶段流程本身,工程设计上这套东西做得扎实,但思路并不算颠覆性的创新。真正让人反复琢磨的,是那个训练损失和下游表现"打架"的实验结果。
我们在做很多机器学习相关的判断时,会不自觉地用一个更容易观测的代理指标去代替真正关心的目标。训练损失好观测、更新快、每个训练步都能看到数字变化,而下游任务表现往往要等模型训练完、跑一整套评测才能知道。这篇论文用扎实的对照实验证明了,这两者之间的落差不是噪声,而是三个随机种子下稳定复现的系统性差异。这对所有做数据工程的人来说,是个值得记住的教训:眼前最容易拿到手的数字,不一定是你真正应该优化的方向。
另外一个细节值得单独说一说。论文里提到,淘汰池里的片段并不是被简单丢弃,而是被完整保留和标注,只是没有进入某一次的"精选"结果。这个设计选择背后,其实藏着一种对"数据质量"这个概念本身的怀疑态度:所谓的"低质量数据",可能只是在某个特定筛选标准下不达标,换一个任务、换一个模型目标,它的价值可能完全不一样。这种把"筛选"和"删除"彻底分开的做法,某种意义上是在提醒我们,数据处理里很多看似客观的质量判断,其实都是相对于某个具体目的而言的。
Q&A
Q1:VidaForge是什么?
A:VidaForge是一套开源的视频预训练数据处理基础设施,能把原始视频通过摄取、切分、筛选、标注、打包五个阶段转化成可直接用于模型训练的数据集,并且完整保留每一步的处理记录,方便追溯每个训练样本是怎么产生的。
Q2:为什么覆盖率更广的Mixed数据集反而比精选的Selected数据集训练效果更好?
A:论文实验发现,精选数据虽然质量分数更高、重复率更低,但因为覆盖的语义范围更窄,导致模型在Wan视频生成和V-JEPA表征学习两类任务上的下游表现都不如覆盖面更广的Mixed数据集,这个结果在三个训练种子下都成立。
Q3:VidaForge-3M数据集包含哪些内容?
A:VidaForge-3M包含314万个场景级视频片段,总时长6475小时,每个片段都配有四层级文字描述、摄像机运动标签、七维语义标签,以及质量分数和去重关系,供研究者自行构造不同的数据配方。
好文章,需要你的鼓励
本文介绍LT-OPD训练框架,通过让极限压缩的多模态大模型在自己生成的内容上接受满血版模型指导,并配合渐进式课程学习,在仅保留5%视觉token时把性能保留率从68.6%提升到82.3%,且不增加推理成本。
本文解读ALIGNOPSD方法,该方法针对AI智能体训练中"决策与时间戳错配"问题,通过先对齐功能相同的决策场景再打分,并按可变长度决策段分配信用,在ALFWorld、WebShop、Search-QA三大任务上相比GRPO提升5.5%至8.7%。
本文介绍自适应一致性图(ACG)方法,通过持久化执行记忆图与预算感知的上下文构建,帮助AI智能体在长任务中减少信息失联,在多项基准测试中相比ReAct等基线方法提升了任务成功率。
多智能体AI协作时重复计算KV缓存浪费严重。PReCache提出预计算低秩缓存和中性基础缓存重构两项设计,免训练实现最高3.1倍加速、2.3倍吞吐提升,且准确率仅比不共享方案低1.1个百分点。