多模态检索系统从仅支持文本和图像,发展到能够处理视频内容,是语义搜索领域的重大技术跃迁。voyage-multimodal-3.5 作为业界首个支持视频嵌入的生产级模型,不仅在检索精度上超越了 Google Multimodal Embedding 001 和 Cohere Embed v4,更通过统一的单 Transformer 编码器架构解决了传统 CLIP 模型长期存在的模态鸿沟问题。本文将从工程实现角度深入剖析这一模型的核心技术设计,重点探讨视频帧编码策略、Matryoshka 嵌入的灵活维度支持,以及跨模态检索的工程挑战与优化路径。
统一架构设计:从分离塔到单 backbone
传统的多模态嵌入模型普遍采用类似 CLIP 的双塔架构,图像和文本分别经过独立的模型编码器处理,最终在向量空间中进行相似度计算。这种方法虽然实现简单,却带来了一个被广泛记录的问题 —— 模态鸿沟。在实际应用中,这意味着文本查询往往会优先检索到不相关的文本内容,而非高度相关的图像,因为同属文本的向量在嵌入空间中天然距离更近。
voyage-multimodal-3.5 采用了截然不同的技术路线,将视觉和文本模态统一输入到单一的 Transformer 编码器中处理。这一设计决策带来了深远的工程影响。首先,所有输入 —— 无论是文本片段、文档截图、PDF 页面、图表还是视频帧 —— 都被映射到同一个共享的向量空间,相似度计算完全基于语义含义而非模态类型。其次,统一的 backbone 能够保留视觉与文本信息之间的上下文关联关系,这对于处理交错的文本与视觉内容尤为关键,例如带有标注的图像、包含文字说明的图表,或者由一系列截图组成的教程视频。
从工程实现的角度来看,单一 backbone 架构简化了向量索引的管理复杂度。运维团队不再需要维护两个独立的索引空间,也不需要针对跨模态查询设计复杂的排序策略。所有的向量存储、索引构建和相似度检索都可以复用同一套基础设施,这在生产环境中显著降低了运维负担和潜在故障点。
视频嵌入的技术实现
帧序列的向量化策略
视频本质上是由一系列按时间顺序排列的图像帧组成,voyage-multimodal-3.5 将视频表示为有序的帧序列,并以图像的形式输入到模型中。这种设计充分利用了模型原生的图像理解能力,无需为视频单独设计全新的网络结构。然而,将视频转换为可处理的嵌入向量涉及多个工程决策点。
模型对视频的 token 计量采用像素级计算策略:每 1120 像素计为一个 token。这一设计意味着不同分辨率的视频会被转换为不同长度的序列。以常见的 1080p 视频为例,单帧约 200 万像素,转换为 token 后约为 1786 个。如果视频时长为一分钟、帧率为 30 FPS,则总帧数约 1800 帧,总 token 数将轻松突破 32K 上限。因此,长视频必须进行预处理分割。
模型的上下文长度上限为 32K token,这一限制对工程实现提出了明确的要求。对于超出这一阈值的视频,官方建议按场景进行智能分割,而非简单的均匀采样。场景分割的核心思想是将语义连贯的视频片段作为独立处理单元,避免在场景切换点将不相关的内容强行拼接在一起。工程实践中,可以结合镜头检测算法或场景识别模型来实现自动化的视频切分,确保每个片段在语义上具有完整性。
帧采样与分辨率的工程权衡
官方推荐的视频嵌入最佳实践包括三个关键参数:采样率控制在 1-2 FPS,分辨率保持一致,以及根据场景进行智能分段。采样率的选择反映了检索精度与计算成本之间的平衡。更高的采样率能够捕获更多的视觉细节,但也意味着更长的序列长度和更高的推理成本。在实际应用中,1-2 FPS 通常足以捕获视频的主要视觉内容和语义信息,同时将序列长度控制在可管理的范围内。
分辨率的一致性要求同样具有重要的工程意义。不同分辨率的帧被统一转换为 token 后,可能会产生不同数量的序列元素,这会导致同一视频的不同片段在嵌入表示上存在偏差。工程实现中,应当在视频预处理阶段将所有帧统一缩放到固定分辨率,常见的做法是采用模型训练时使用的标准分辨率,或者根据目标分辨率设计合理的缩放算法和填充策略。
时序信息的保留与利用
虽然 voyage-multimodal-3.5 将视频处理为帧序列,但模型本身并不显式建模帧与帧之间的时序关系。每个帧独立通过视觉编码器处理,最终的嵌入向量是各帧表示的某种聚合。这一设计选择简化了模型架构,但也意味着检索系统无法直接利用视频中的动态信息,如物体运动轨迹或场景演变逻辑。
在工程实践中,可以通过外部处理来弥补这一限制。一种常见的策略是在预处理阶段提取关键动作帧或变化检测帧,将时序信息编码到帧选择过程中。另一种方法是结合视频分析模型(如动作识别或场景检测模型)生成辅助元数据,在检索阶段将这些元数据作为补充信号与嵌入向量一起参与排序。这种混合检索策略能够在保持模型简洁性的同时,充分利用视频内容中的时序信息。
Matryoshka 嵌入与灵活维度
voyage-multimodal-3.5 的另一项重要创新是支持 Matryoshka 嵌入,这是一种允许在可变维度上生成嵌入向量的技术。模型默认输出 1024 维向量,但同时也支持 2048、512 和 256 维的配置选项。这一特性的工程价值在于为不同规模的部署场景提供了灵活的精度 - 效率权衡空间。
从向量数据库的运维角度来看,更低维度的嵌入意味着更紧凑的存储占用和更快的检索速度。在大规模向量库场景中,存储成本和检索延迟往往是需要优先考虑的因素。以 100 万条视频记录为例,1024 维浮点向量的存储需求约为 4GB,而 256 维向量仅需约 1GB,存储开销降低 75%。对于日均查询量达到百万级别的在线服务,这种节省将带来显著的硬件成本下降。
Matryoshka 学习是一种端到端的训练技术,确保子维度嵌入仍然是全维度嵌入的有效近似,而非简单的截断处理。这意味着 256 维向量并非 1024 维向量的前 256 个元素,而是经过专门优化的小尺寸表示,在检索质量上仅有轻微损失。根据 Voyage AI 公布的评测结果,256 维嵌入在大多数检索任务中仍能保持接近 90% 的召回率,对于对延迟敏感或成本敏感的场景是可接受的工程折中。
量化感知训练的引入进一步扩展了维度压缩的可能性空间。通过 INT8 或更低位宽的量化,存储需求可以进一步降低,同时推理时的向量运算也能从 CPU 或 GPU 的向量化指令集中获得更好的性能。工程团队应当根据具体的硬件环境和延迟要求,选择合适的维度 - 量化组合,在检索质量和系统性能之间找到最佳平衡点。
跨模态检索的工程实践
查询路由与意图理解
生产环境中的多模态检索系统需要处理多种类型的查询输入。用户可能使用文本来检索视频,也可能上传图像或视频片段来查找相似内容。voyage-multimodal-3.5 的统一向量空间设计使得所有这些查询类型都可以复用同一套索引和检索逻辑,简化了系统架构的复杂度。
然而,工程实现中仍需考虑查询路由的问题。当用户输入一条文本查询时,系统需要决定是否需要同时检索图像索引和视频索引,还是仅检索其中一种。这一决策可以基于用户显式指定的过滤器规则,也可以通过查询理解模型自动判断查询的语义意图。例如,包含「视频」关键词或视觉描述的查询应当触发视频索引的检索,而纯文本概念查询可能更适合在图像和文本索引中寻找匹配结果。
混合检索与重排序策略
在复杂的多模态检索场景中,单一的向量相似度检索往往不足以满足所有需求。工程实践中常见的做法是采用混合检索策略,结合关键词匹配、向量相似度和规则过滤等多种信号。例如,可以使用传统的文本搜索引擎进行首轮粗筛,获取候选视频集合,然后通过 voyage-multimodal-3.5 的嵌入向量进行精细重排序。
重排序阶段是提升检索质量的关键环节。rerank 模型通常比 embedding 模型更深,能够对少量候选进行更精细的语义理解。Voyage AI 提供了专用的 rerank 模型系列,可以与 embedding 模型配合使用。工程实现中,建议在向量检索返回的 top-50 或 top-100 结果上应用 rerank 模型,确保重排序的计算成本可控,同时显著提升最终结果的质量。
索引构建与增量更新
大规模视频嵌入的索引构建涉及显著的工程挑战。每条视频记录可能包含数百到数千帧,每帧产生一个高维向量,如何高效地将这些向量组织成可快速检索的结构是系统设计的核心问题。
常用的向量索引算法包括 HNSW、IVF 和 Product Quantization 等。HNSM 因其在高维空间中的优异查询性能而被广泛采用,但其构建过程需要将所有向量加载到内存中,对于大规模数据集可能面临内存压力。分片策略和磁盘溢出方案是应对这一挑战的常见工程手段,将索引拆分到多个节点或持久化存储上,通过分布式协调机制保证查询的正确路由。
增量更新是另一个需要重点考虑的场景。当新的视频内容被添加到系统时,需要及时将其嵌入向量加入索引,而不影响在线查询服务的可用性。工程实践中,可以采用双索引策略或热索引机制,确保增量更新对用户查询透明。同时,索引的定期重建和优化也是必要的维护操作,用于清理已删除记录的残留数据并优化索引结构。
生产部署的关键考量
API 集成与成本估算
voyage-multimodal-3.5 通过官方 Python SDK 提供访问,核心接口是 voyageai.Client.multimodal_embed() 函数。调用时需要将视频封装为 voyageai.video_utils.Video 对象,或提供帧序列的 PIL Image 列表。输入类型支持字典和列表两种形式,前者适用于混合模态的交错输入,后者则更适合批量处理独立的视频或图像。
成本估算需要考虑 token 用量这一核心指标。视频的 token 数量由像素总量决定,因此高分辨率、长时长的视频将产生更高的 API 费用。以 1080p、30FPS、1 分钟时长的视频为例,单帧约 200 万像素,折合约 1786 token,1800 帧的总 token 数约为 321 万。如果按 0.12 美元每百万 token 计算,单条视频的嵌入成本约为 0.38 美元。这一成本在低频场景下是可接受的,但对于高频的大规模应用,需要仔细评估 ROI 并探索可能的成本优化路径,如使用更低维度或进行帧采样优化。
监控与异常处理
生产环境中的多模态检索系统需要完善的监控体系来保障服务质量。关键监控指标包括向量生成的成功率与延迟、检索结果的返回延迟与质量指标(如点击率或转化率),以及 API 调用的成本趋势。
异常处理机制同样重要。视频编码格式多样,可能存在损坏或格式不兼容的情况,需要在预处理阶段进行充分的验证和错误处理。API 调用可能因网络问题或服务限流而失败,重试策略和降级方案是保证系统可用性的必要措施。此外,嵌入向量的质量也需要持续监控,当发现异常值或检索质量显著下降时,应当及时触发告警并进行根因分析。
voyage-multimodal-3.5 的发布标志着多模态检索技术进入了一个新的阶段。统一的单 backbone 架构消除了模态鸿沟,Matryoshka 嵌入提供了灵活的维度选择,而视频支持的引入则将检索能力从静态内容扩展到了动态视觉媒体。工程团队在采纳这一技术时,需要在帧采样策略、索引架构和成本控制等方面做出审慎的工程决策,方能充分发挥模型的技术优势,构建高效可靠的多模态检索系统。
资料来源:Voyage AI 官方博客(2026 年 1 月 15 日)、Voyage AI 官方文档。