Cornserve: A Distributed Serving System for Any-to-Any Multimodal Models
作者: Jae-Won Chung, Jeff J. Ma, Jisang Ahn, Yizhuo Liang, Akshay Jajoo, Myungjin Lee, Mosharaf Chowdhury
分类: cs.LG, cs.DC
发布日期: 2026-03-12
备注: Open source https://github.com/cornserve-ai/cornserve / Demo video https://www.youtube.com/watch?v=nb8R-vztLRg
💡 一句话要点
提出Cornserve以解决Any-to-Any多模态模型服务问题
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 多模态模型 分布式系统 服务架构 Kubernetes 任务抽象 性能优化 数据依赖性 计算调度
📋 核心要点
- 现有的Any-to-Any多模态模型在服务时面临不同请求路径和组件扩展特性不一致的挑战。
- Cornserve通过提供灵活的任务抽象和高效的记录与重放执行模型,解决了多模态模型服务的复杂性。
- 实验结果表明,Cornserve在吞吐量上提升了3.81倍,尾延迟降低了5.79倍,显著提高了服务性能。
📝 摘要(中文)
Any-to-Any模型是一类新兴的多模态模型,能够接受多种模态数据(如文本、图像、视频、音频)作为输入并生成相应的输出。服务这些模型面临挑战,因为不同请求的输入和输出模态在模型计算图中会经过不同的路径,各组件的扩展特性也各不相同。本文提出了Cornserve,一个用于通用Any-to-Any模型的分布式服务系统。Cornserve提供了灵活的任务抽象,支持模型计算图的组件解耦和独立扩展。其分布式运行时通过高效的记录与重放执行模型调度计算,直接在生产者与消费者之间转发张量数据。基于Kubernetes构建的Cornserve支持多样的Any-to-Any模型,提供高达3.81倍的吞吐量提升和5.79倍的低尾延迟。Cornserve是开源的,演示视频可在YouTube上观看。
🔬 方法详解
问题定义:本文旨在解决Any-to-Any多模态模型在服务过程中面临的复杂性和性能瓶颈,现有方法在处理不同模态请求时效率低下,且难以进行有效扩展。
核心思路:Cornserve的核心思路是通过灵活的任务抽象和组件解耦,允许独立扩展各个模型组件,从而提高服务效率和性能。采用记录与重放的执行模型,能够有效管理数据依赖性,优化计算资源的调度。
技术框架:Cornserve的整体架构基于Kubernetes,主要包括任务抽象模块、计算调度模块和数据传输模块。任务抽象模块负责定义模型计算图,计算调度模块根据数据依赖性调度计算,数据传输模块直接在生产者和消费者之间转发张量数据。
关键创新:Cornserve的主要创新在于其灵活的任务抽象和高效的记录与重放执行模型,这使得模型组件可以独立扩展,显著提高了服务的吞吐量和降低了延迟。与现有方法相比,Cornserve在处理多模态请求时表现出更高的灵活性和效率。
关键设计:在设计中,Cornserve使用了高效的调度算法来管理计算资源,并通过优化数据传输路径来减少延迟。此外,系统的参数设置和网络结构经过精心设计,以支持多种Any-to-Any模型的高效运行。
🖼️ 关键图片
📊 实验亮点
实验结果显示,Cornserve在吞吐量上实现了高达3.81倍的提升,同时尾延迟降低了5.79倍。这些显著的性能改进表明Cornserve在处理Any-to-Any多模态模型服务时的高效性,优于现有的服务系统。
🎯 应用场景
Cornserve的潜在应用场景包括多模态内容生成、智能客服系统、视频分析和多媒体检索等领域。其灵活的服务架构和高效的性能使其能够满足不断增长的多模态处理需求,具有广泛的实际价值和未来影响。
📄 摘要(原文)
Any-to-Any models are an emerging class of multimodal models that accept combinations of multimodal data (e.g., text, image, video, audio) as input and generate them as output. Serving these models are challenging; different requests with different input and output modalities traverse different paths through the model computation graph, and each component of the model have different scaling characteristics. We present Cornserve, a distributed serving system for generic Any-to-Any models. Cornserve provides a flexible task abstraction for expressing Any-to-Any model computation graphs, enabling component disaggregation and independent scaling. The distributed runtime dispatches compute to the data plane via an efficient record-and-replay execution model that keeps track of data dependencies, and forwards tensor data between components directly from the producer to the consumer. Built on Kubernetes with approximately 23K new lines of Python, Cornserve supports diverse Any-to-Any models and delivers up to 3.81$\times$ higher throughput and 5.79$\times$ lower tail latency. Cornserve is open-source, and the demo video is available on YouTube.