跳转至

附录 多模态服务

面向视觉算法工程师的补充:多模态模型的 LLM 主干仍使用本册全部技术,但图像和视频会改变请求的长度、缓存和调度形态。

1. 一次多模态请求多了什么

图片先经视觉编码器得到视觉 token,再与文本 token 一起送进 LLM Prefill。服务链路因此多出图片下载与解码、resize/切图、视觉编码器前向和 projector;任何一步都可能成为首 token 延迟的主要部分。

2. 视觉编码结果可以缓存

同一张图被多轮问答或多个请求重复使用时,可以按图像内容、预处理配置和视觉编码器版本缓存视觉 embedding。它比缓存 LLM KV 更通用,但必须把 resize、切图和模型版本纳入缓存键。

3. 动态分辨率改变 token 预算

高分辨率图片会被切成多块,视觉 token 数可能相差一个数量级。调度器不能只按文本 token 接纳请求,必须把图片经过预处理后的真实 token 数计入 Prefill 预算和 KV 容量。

4. 视频是长上下文问题

视频帧数 × 每帧视觉 token 很快产生数十万 token。实际系统会在送入 LLM 前做采帧、时序压缩或分层摘要;若直接堆 token,Prefill、KV 和上传解码都会同时失控。

5. 异构流水线

视觉编码器和 LLM 的最佳硬件与 batch 策略可能不同,可拆成独立服务池;但中间 embedding 较大,跨机传输也有成本。是否拆分应比较视觉阶段排队收益与特征传输开销。

6. 多模态服务必须额外监控

除正文指标外,还需记录图片/视频解码时间、视觉 token 数、视觉编码器 batch、embedding 缓存命中、视觉阶段与 LLM 阶段队列,以及坏媒体和超大媒体的拒绝率。

核心问答

Q:多模态推理的 PagedAttention 有变化吗?
LLM 侧原理不变,但视觉 token 会增加 Prefill 和 KV;若模型使用特殊跨注意力,则还需单独管理视觉侧缓存。

Q:为什么同样一张图片的缓存可能不能复用?
预处理尺寸、切图策略、视觉编码器或 projector 版本变化后,得到的视觉 token 已不同。

Q:视频服务最先优化什么?
先减少进入 LLM 的视觉 token,而不是直接优化注意力 kernel;上游压缩通常收益更大。