多模态大模型在处理不同分辨率的图像和视频时面临挑战,简单缩放会丢失关键信息。深入探讨从U-Net到Transformer架构,模型如何通过动态分辨率处理技术和精巧的位置编码设计,有效解决这一难题,提升生成与理解的精度。
智能速览
动态分辨率是影响多模态模型表现的关键工程问题。
U-Net架构通过bucketing机制解决训练时的分辨率不一问题。
Diffusion Transformer正从绝对位置编码转向2D/3D RoPE。
MLLM采用anyres策略切片图像,并用全局位置编码重构信息。
视频理解模型依赖3D RoPE来同时编码空间与时间信息。
精华内容
从U-Net的bucketing到Transformer的RoPE,再到MLLM的anyres,技术演进路线清晰。
U-Net的bucketing机制
传统的U-Net架构虽然是CNN,理论上支持任意尺寸输入,但工程实践中,一个batch内的图片分辨率必须一致。为了解决这个问题,诞生了bucketing机制。该机制会预先定义一组长宽比,将训练数据按比例划分到不同的bucket中,确保同一batch内的图片分辨率统一。这样,模型就能在不同比例的图像上进行有效学习,避免了早期Stable Diffusion模型只能生成方形图的限制。
DiT的位置编码演进
随着主流架构转向Diffusion Transformer(DiT),动态分辨率问题与位置编码的设计紧密相连。DiT的输入是token序列,若使用标准的绝对位置编码,当推理尺寸超过训练尺寸时,模型便无法编码新位置的信息。为此,最新的DiT工作逐渐摒弃绝对位置编码,转向采用2D或3D RoPE(旋转位置编码)的设计。这种设计能更好地外推到未见过的分辨率,提升了模型的泛化能力。
MLLM的anyres策略
多模态大模型(MLLM)受限于其视觉编码器ViT,通常只能处理固定分辨率的图像。直接下采样会严重破坏高频细节,影响精细理解。当前的主流方案是anyres策略:将高分辨率图像切分成多个ViT可处理的子图块。关键在于位置编码的设计,必须让模型知道每个图块在原图中的位置,例如通过加入行列坐标的嵌入,否则模型看到的就是一堆无序的拼图碎片。
视频的时空编码
对于视频理解的多模态模型,仅处理空间分辨率还不够,还必须考虑时间维度。在处理变长视频序列时,如果直接将帧序列拼接,模型很容易丢失时间顺序信息。因此,必须引入显式的时间嵌入或3D RoPE。3D RoPE能够在旋转位置编码中同时解耦空间和时间信息,有效维持视频的时空一致性,避免模型出现只关注某一帧的attention sink现象。
多模态模型在动态分辨率上的探索,展现了从工程技巧到架构创新的演进路径。未来的模型设计将如何更优雅地融合时空信息,实现更高维度的统一理解?