Transcript
00:00:00Aditya Rahm:大家好,我是 Aditya,今天我们将讨论两个主要问题,
00:00:17它们主要出现在短视频平台上。
00:00:20我们将探讨如何在大规模场景下应对这些问题。
00:00:25首先,我们先来了解一下我们要处理的数据
00:00:28具备哪些特征,我们正在解决的两个核心问题是什么,
00:00:33以及如何通过多智能体系统大规模地解决这些问题。
00:00:39我们可以构建哪些专门的轻量级视觉语言模型(VLM),来解决具体的智能体任务,
00:00:46智能体问题;以及我们该如何构建这些智能体,有哪些具体的方法
00:00:50来对其进行优化,使其具备极大规模的扩展能力。接下来,我们还将
00:00:56以非常全面、360度的视角来进行评估,而不单单是看查准率和召回率。
00:01:00目前有哪些现有的方案?
00:01:01我们如何从 LLM 层级、工具、MCP 等各个维度来理解整个多智能体流水线。
00:01:08涉及方方面面。
00:01:09随后我们将深入探讨专门针对视觉和数据的优化技术,
00:01:14这些技术能提供智能化判断,告诉我们其实不必
00:01:20对所有视频都运行这种智能工作流,我们可以筛选出极小的一部分
00:01:25候选视频来进行这些处理。
00:01:29最后,我们将总结主要的收获。
00:01:32真实世界的数据非常杂乱。
00:01:34我们面对的是上亿级别的数据规模,以及大量爆火的病毒式传播内容。
00:01:39其中包含大量对抗性内容。
00:01:42人们试图钻系统的空子。
00:01:43屏幕上、视频中和图像里充斥着大量多语言文本。
00:01:48而且数据极具动态性。
00:01:50它每个月都在不断变化。
00:01:52各种 AI 工具层出不穷,各方面都在更新。
00:01:54所以它的动态变化非常剧烈。
00:01:57这意味着视频数据会带来大量的概念漂移(drift)等问题。
00:02:00而且我们知道,对于我们要解决的问题,并不存在明确的基准真相(Ground Truth)。
00:02:05这些都是真实视频数据集中普遍存在的固有问题。
00:02:10我们要讨论的第一个问题是模态不匹配(modality misalignment),
00:02:14其中首先是模态间(intermodality)不匹配,这是一个已经被很好解决的问题。
00:02:19你可以使用 CLIP 模型。
00:02:20你可以提取图像、视频、音频、文本等模态,
00:02:25计算这些嵌入向量之间的余弦相似度,从而得出结论。
00:02:29所以这是一个相对简单的问题。
00:02:31我们接下来要讨论的是,如何处理模态内(intramodality)的问题。
00:02:37假设这里有一段视频。
00:02:39我们有一个很长的视频。
00:02:40播放过程中你突然看到了某些广告、政治宣传、某种特定立场,
00:02:45或者是你最初点击视频时不应该出现的内容。
00:02:49那么我们如何深入分析视频的微小片段,理解这一问题,
00:02:54并找出其中哪里存在异常,或者说原本就不该出现的
00:02:59即那些本就不该出现在视频中的内容。
00:03:01这就是第一个问题,它需要深入细致的理解、视觉理解,
00:03:05以及视频理解,从而在切片(clip)和帧(frame)级别观察发生了什么。
00:03:10第二个问题是识别非原创内容。
00:03:14在当今的环境下,利用现有的 AI 工具,搬运和复制内容变得非常容易。
00:03:19当有人上传视频时,我们发现它会被抄袭、被二次加工,
00:03:25而且借助各种工具,对这些视频进行改头换面变得越来越简单。
00:03:29那么我们究竟该如何检测这类非原创内容?
00:03:33如何追溯视频的原始出处?
00:03:35这实际上引发了版权归属、署名权以及生态系统失衡的问题。
00:03:41也造成了严重的审美疲劳,我们看到了大量原本就不该存在的重复视频。
00:03:47接下来讲讲多智能体系统,首先为什么我们要采用多智能体,
00:03:54而不是单一智能体或单个大语言模型?因为问题极其复杂。
00:03:57它需要在检索、内容理解以及推理的每个环节,
00:04:04都具备非常专业化的节点和深入的理解。
00:04:07如果单个智能体或单个 LLM 就能解决问题,我们根本没必要使用多智能体系统。
00:04:14因此,这就是中央大脑的运作方式,也就是我们对这个问题进行拆解的整体思路。
00:04:22首先,会将视频、视频 ID 以及所有相关信息提供给审核智能体(Reviewer agent)。
00:04:28这是一个中央核心智能体。
00:04:29它基本上充当协调者(orchestration)的角色。
00:04:31可以把它看作一个 API 网关,负责信号分解并识别图像中发生的情况。
00:04:38它的工作主要是调用感知智能体(Perceiver agent),感知智能体可以被看作
00:04:46一个非常先进的 VLM 专家,手头拥有大量的图像和视频处理工具。
00:04:52感知智能体会从审核智能体获取 ID,并从数据库中检索对应视频。
00:05:01它利用不同的工具、语义嵌入以及时序变化检测,将视频拆解为更小的片段。
00:05:08虽然细节超出了本次演讲的范围,但这种技术能确保我们不会以固定帧率进行盲目采样,
00:05:17而是精准定位时序变化发生的位置,并将相似帧压缩为一两帧。
00:05:23接着,感知智能体会获取切片层级和视频嵌入层级的所有数据,包括切片信息、嵌入向量、标签、OCR 识别文字以及其他所有现成信息,
00:05:34以及自然语言描述、时间戳(从哪一帧到哪一帧),建立起完整的元数据概貌。
00:05:41然后将这些数据传送给审核智能体。
00:05:43审核智能体会审查感知智能体提供的原始 JSON 对象中的所有时序信息,结合嵌入向量、语义 ID、标签、OCR 等各项数据。
00:05:52并进行时序分析。
00:05:55它会分析发现,比如从第一帧到第 360 帧(即前 6 秒),这段视频讲的是体育内容。
00:06:05然后突然间,我们看到从6秒到6.5秒,也就是从某帧到某帧,内容转变成了政治相关的主题。
00:06:14因此,仅仅通过查看这些元数据,审查代理就能理解、领悟并找出究竟出现了什么异常,
00:06:22时序空间中究竟出现了什么异常。
00:06:23完成这一步后,它会判断这究竟是模态不匹配,还是存在更严重的问题。
00:06:30于是审核智能体会联系检索智能体(Retriever agent),并告知:“嘿,这是我正在审查的视频。
00:06:36这是我已经完成去重和后处理的部分元数据。
00:06:41现在请告诉我语料库中存在哪些类似的切片信息。”
00:06:47检索智能体会分析感知智能体提供的所有信号、切片级及整段视频级的元数据,并将它们自适应地索引到不同的数据库中。
00:06:57例如,主题数据可能会采用倒排索引,将主题与大量视频相关联。
00:07:02对于嵌入向量,则会存储在现有的向量数据库中。
00:07:06而对于提取出的各种实体,我们使用图数据库,审核智能体可以据此厘清:“这里有多个数据库,包含这些实体和元数据。
00:07:16让我对其建立索引,这样在在线推理阶段,针对某个特定切片,我就能查到有哪些相似切片、相似实体和主题可供调取,从而提升召回率。”
00:07:28深入细节来看,我们刚才讨论了感知智能体。
00:07:32它会审视整个视频,基于语义嵌入和算法将其在时序上分解为微小的切片,并对 VLM 进行微调,以输出关于
00:07:45每个切片及整段视频的真实、具体且粒度极细的信息。
00:07:51因为我们要处理极具规模的数据,这意味着不能直接使用现成的标准 VLM。
00:07:56必须进行模型压缩,必须找到成本效益极高的方案来运行这些模型,以应对数以百亿计的帧。
00:08:05因此我们采用了预训练、微调、知识蒸馏和量化技术,来部署和运行针对
00:08:13这一特定问题高度定制的 VLM。
00:08:16对此我们稍后会进行简要说明。
00:08:19检索智能体则是我们刚才高层级概括过的内容。
00:08:22在离线处理阶段,它接收感知智能体离线分解出的所有信号,
00:08:29比起单独的智能体,这更像是在利用该工具库在大规模集群(如 Ray cluster)上
00:08:34开展离线分析。
00:08:37一旦获取了所有元数据,它就会将这些数据建立索引并存入不同的数据库中。
00:08:42通过定期执行离线聚类,找出相似内容,并为每个切片及整段视频生成对应的嵌入 ID 和聚类 ID。
00:08:50这些数据随后将被在线推理调用,用来检索相似视频。
00:08:56而在在线模式下,给定一个查询请求、切片 ID 以及所有元数据细节,
00:09:01找出语料库中与这个片段相似的内容,
00:09:06以及有哪些具有高相似度的不同内容。
00:09:09因此它的具体操作是查询数据库,寻找相似的切片、相似的创作者以及其他元数据信息。
00:09:16对这些候选对象重新排序,并使用一些工具,例如传统的垃圾信息评分模型(如分类器评分),
00:09:24来判断哪些候选对象可能是垃圾信息、哪些可能质量不高等等。
00:09:29一旦筛选出这些前 N 个候选对象,就会将其返回给审查 Agent。
00:09:33审查 Agent 就在这里进行实际处理,这是我的核心内容信号和片段嵌入,
00:09:39这些是检索 Agent 提供的相似视频。
00:09:42让我仔细想想,是否需要重新生成并从检索 Agent 获取更多数据。
00:09:48这就是审查 Agent 拥有来自单个片段的所有时序信号的地方。
00:09:52它掌握了相似片段的所有信息、理解情况、相似创作者等内容。
00:09:58它还包含有关用户实际如何与该视频互动的实时信息。
00:10:03比如各类举报或评论,以及这些评论的情感倾向是怎样的,对吧?
00:10:13因此,许多离线信号和 VLM 以及其他 Agent 遗漏的这些信号,
00:10:18实际上也都被结合进来,以观察情感倾向是否发生了变化。
00:10:22我在实时获得了怎样的反馈?
00:10:25因此有许多不同的工具可用于理解视频,这不仅是从内容
00:10:30和语义的角度,还能从用户互动的角度来理解。
00:10:36这些信号真的非常非常重要。
00:10:38所以在搞定这项工作和一切之后,我们构建了这个 Agent 框架。
00:10:44在这个 Agent 框架中,这三个 Agent 实际上都是由专门的
00:10:50VLM 和某种程度上的小规模 VLM 驱动的。
00:10:54所以我们将先讨论预训练。
00:10:58现在,在大多数情况下,你会看到,好吧,你进行了预训练。
00:11:01你对视觉 Transformer 进行了一些微调,并基本上根据你的特定目的进行了调优。
00:11:08问题在于,我们在外部可用的这些 VLM、基座模型、前沿模型,
00:11:14它们是在非常干净、非常好的数据集上训练的,那是经过精细调优、清洗等处理的网络数据。
00:11:20但用于特定目的的内部数据並不具备相同的数据特性。
00:11:26它是杂乱的。
00:11:27它是用户生成的。
00:11:28它是针对你的特定工作流的。
00:11:30这意味着你需要针对这些图像 Token 和语言进行预训练,从头开始微调你的视觉 Transformer,
00:11:37并观察在进行微调与从头开始训练之间是否存在差异。
00:11:42这就是预训练有帮助的地方。
00:11:44这有点昂贵,但如果能带来增量,效果其实非常好。
00:11:50第二个是指令微调,在这里我们有两个问题。
00:11:54我们有特定的策略和特定的指南。
00:11:57我们了解那里的内容和信号,并基于该特定数据集,使用特定的输出
00:12:04(例如 JSON Schema 这种 Schema)对其进行调优,以理解模态错配或
00:12:10重复评分以及审查 Agent 提供的其他思维链推理。
00:12:16所以这里我们有一个视频片段。
00:12:17我们有一个视觉编码器,我们之前已经进行过一些预训练。
00:12:21比如现在我们正在对其进行更多的训练。
00:12:23有一个投影层(Projector)位于视觉 Transformer 和语言模型之间,
00:12:27它实际上充当了它们之间的桥梁。
00:12:30接着根据我们在这一侧提供的指令微调数据来得到输出。
00:12:35所以这是提升模型在特定领域性能的关键所在。
00:12:45因此,上下文基本上就是你有角色、有策略、有哪些工具可以
00:12:50将其锚定到某些元数据中,以及还有哪些其他可用的内容。
00:12:54把所有内容以非常简短的方式放入上下文中,让它去弄清楚你找到了什么
00:13:01结构化标签。这些标签实际上是内部标签。我们在其中
00:13:06创建了诸如模态细节究竟是什么、我们看到了哪些不同问题、
00:13:12模型中应该包含哪些不同的思维链推理、
00:13:15以及对于人工审查员来说输出是什么样的。所以这是一个非常高质量的
00:13:21数据集,我们正用它来对不同的 Agent 进行微调,对吧?所以在完成了
00:13:27预训练(仅仅是为了理解视频的视觉层面或其他模态层面)之后,
00:13:33我们就会进入微调阶段,让它能够理解并按照我们希望
00:13:38处理数据集的方式来提供上下文和输出。下一个阶段是 DPO 阶段,
00:13:44这项技术主要在后训练中大量使用,用于将我们的模型微调到
00:13:51特定领域、专业领域或策略理解等方面。但它也可以
00:13:58在生产环境中大量用于了解哪些样本在
00:14:02多 Agent 系统和 LLM 处理下效果不够好。所以
00:14:11可以做的是,对于不断产生的生产数据集,你有大量的
00:14:17推理正在发生,你可以从生产环境中对这些数据进行子采样,将其传输给
00:14:23基于人工标注数据集内部训练的 LLM 裁判,然后通过
00:14:29人工审查队列来查看实际系统上的性能表现。一旦拥有了这个
00:14:36机制,如果你的性能表现非常好,高于你设定的预测阈值
00:14:40(比如每个问题达到 95%),那就太棒了。但如果没有,这就意味着必须有某种方法
00:14:47那就必须有一种方法,能在模型表现不佳的这些样本上进行学习。
00:14:52这就是引入人工审核队列的作用。人工可以理解所有来自各个 Agent、
00:14:57LLM 调用和 MCP 的追踪数据,找出问题出在哪里。是思维链
00:15:02推理出了问题?还是调用了错误的工具,或者检索失败了?因此,这整个
00:15:08验证过程,以及从模型智能层面和工程硬实力层面对每个挂钩和节点的深入理解,
00:15:14能让你明确知道:好吧,针对我们系统采样错误的这些样本,
00:15:20我需要做出哪些改进。一旦搞清楚了这一点,
00:15:28你有了正样本、负样本,以及需要更新的内容,就可以重新训练模型,
00:15:34看看如何进一步提升效果。这是一个持续改进的过程,
00:15:40在此期间我们研究这些样本,迭代并改进模型,从生产环境样本中生成新的数据集,
00:15:46试图弄清楚是否发生了概念漂移,或者模型究竟在做什么。
00:15:53因此,这种“人机协同”(Human-in-the-loop)是一个持续的过程,每天从生产环境中抽样,
00:15:58以了解模型以及作为裁判的 LLM(LLM-as-a-judge)表现如何。
00:16:05出于成本以及在此规模下解决问题的能力考虑,我们无法直接使用标准的前沿大尺寸 VLM 模型,
00:16:14因为它无法扩展,需要大量的推理计算和极高的复杂度,
00:16:20而我们要解决的是一个非常具体的特定问题。比如,我完全不在乎模型能否解决编程问题,
00:16:25我只关心我所在领域的问题,这就够了。这并不向客户端暴露,
00:16:31而是内部系统。因此我会采用离线策略(Off-policy)和在线策略(On-policy)的知识蒸馏,
00:16:37并根据实验情况做一些量化处理,以了解
00:16:414-bit 还是 Brain Floating 等格式效果最好。然后我会列出一张包含不同蒸馏和量化尺寸的对比表,
00:16:47查看并确定性能究竟在何处达到了标准,
00:16:54以及通过这种优化可以在线上推理生产中节省多少计算资源和成本。
00:17:00这非常关键,因为就问题而言,我们虽然解决了,
00:17:07但在生产环境中,它必须具备可扩展性,必须具备成本效益。
00:17:13它不能只是直接套用市场上现成的通用方案,
00:17:21因为我们在这里解决的是一个非常具体的问题。回到评估方面,简单来说:
00:17:27首先是任务成功率。这些当然是二元化的指标。模态匹配成功与否,
00:17:31是否存在对齐或失配。因此精确率(Precision)、召回率(Recall)和 F1 分数是衡量
00:17:37任务是否成功的直观指标。但我们希望以非常整体的视角来看待系统,
00:17:42不仅看最终目标,还要看每个节点发生了什么、检索系统运作得有多好、
00:17:47系统的延迟和召回率如何,以及我们能够多好地对其进行推理。这些模型在每个 Agent 层面,
00:17:53或在任何适用推理的地方(在我们这里主要是 Reviewer Agent),输出的思维链推理
00:17:59质量如何?它是否过度思考了?我们能否在某些地方减少预算,
00:18:04以确保模型能在更低预算下依然出色完成任务?或者,我们是否可以增加规划或推理的预算,
00:18:09用更少的预算也能表现出色?或者我们是否可以增加规划或推理的预算,
00:18:16让它拥有更高的预算,从而确保我们正在解决的复杂问题
00:18:22因此,拥有自适应的推理预算调节也十分重要。接下来是鲁棒性(Robustness)。我们看到了哪些边缘情况(Edge Cases)?
00:18:29错误率是多少?它们发生在哪些不同的节点和挂钩(Hooks)上?是工具调用
00:18:34效果不好?还是检索部分的问题,亦或是 LLM 本身表现不佳?诸如此类。
00:18:39再者就是系统效率。我们不仅看输出表现和
00:18:45整体结果,还要考察 Token 成本的方方面面。我们调用了哪个 LLM?
00:18:51能否对 LLM 做进一步优化来节省成本?我们观察到的效率如何?
00:18:56以及每个 Agent 和整个组合系统的延迟如何?最后是 LLM 裁判(LLM-as-a-judge)。
00:19:01我们注意到,在任何预测系统中,数据漂移(Data Drift)总是会发生,尤其是当面对
00:19:08用户生成内容(UGC)时。因此,用于评估的 LLM 裁判
00:19:14相较于人工审核队列表现如何?是否发生了漂移?我们是否需要利用标注团队提供的新数据集,
00:19:20重新训练我们的 LLM 裁判?或者我们在这些环节上该如何具体操作?
00:19:25在优化方面,我们有时空约简优化(Spatio-Temporal Reduction Optimization),它能分析相似的视频帧,
00:19:30在优化方面,我们有时空约简优化,它实际上会检查那些
00:19:35相似的帧并将其压缩成一个维度。这大大减少了视频的
00:19:41整体处理量。第二个则是缓存机制,当出现热门爆款内容时,
00:19:47重复跑完整个流水线。因此当检测到高相似度得分时,
00:19:52直接跳过多 Agent 系统,直接对其做出判定即可。第三个非常重要的优化
00:19:57是元数据剪枝(Metadata Pruning)。我们会根据某些元数据
00:20:01缩小候选集的空间,例如某些主题或者已经拥有良好记录的创作者。
00:20:07这意味着我们并不需要处理来自该创作者的所有图片和视频,
00:20:12这意味着我们并不需要处理来自同一个创作者的所有图片和视频,
00:20:18尤其是那些具有极高真实度得分、在这方面表现非常出色的创作者,
00:20:22可以直接过滤掉那些根本不需要进入系统的视频。因此,设置其中一些
00:20:27标记会很有帮助。最后,希望大家今天能带走的
00:20:33核心要点是:拆解(Decomposition)是关键,视情况及时将问题进行拆解。
00:20:42自适应优化对于投资回报率(ROI)和成本可行性至关重要。良好的评估体系是重中之重,
00:20:50系统内部与外部的一切都依赖于它。这是整个系统和所有 VLM 的基石。此外,
00:20:56预测监控和质量持续改进,对于确保系统长期可持续运行至关重要。
00:21:02而预测监控和质量改进对于确保其长期可持续性至关重要。
00:21:08我的分享就到这里。非常感谢大家的聆听。
Community Posts
No posts yet. Be the first to write about this video!
Write about this video