Mobile-O:面向移动设备的统一多模态理解与生成模型 Mobile-O: Unified Multimodal Understanding and Generation on Mobile Device
首个可在手机上实时运行的统一多模态理解与生成模型,仅1.6B参数
前置知识
统一多模态模型(Unified Multimodal Model)
一种能够同时执行视觉理解(如图像描述、视觉问答)和视觉生成(如文本到图像生成)任务的单一架构模型。与专门为单一任务设计的模型不同,统一模型在一个共享的框架内融合了视觉编码器、语言模型和扩散解码器等组件,通过共享的嵌入空间实现跨模态对齐。这类模型的核心挑战在于如何在保持模型紧凑的同时,在两个本质上不同的任务上都获得良好性能。
Mobile-O 正是一个统一多模态模型,理解统一模型的设计范式(联合训练 vs 顺序训练)是理解本文动机和贡献的基础。
扩散变换器(Diffusion Transformer, DiT)
一种将 Transformer 架构与扩散过程结合的图像生成模型。与传统的 U-Net 扩散模型不同,DiT 使用 Transformer 块作为去噪网络,通过交叉注意力机制接收条件信息。在扩散过程中,模型学习从噪声逐步恢复干净图像的逆过程。具体地,给定干净潜变量 $x$ 和噪声 $\epsilon \sim \mathcal{N}(0, I)$,模型预测速度场 $v_\phi(x_\sigma, \sigma, c_p)$ 来直接学习概率流 ODE,这种方式比标准扩散目标更快速、更稳定。
Mobile-O 采用 SANA-0.6B 作为其轻量级 DiT 解码器,这是实现移动设备上高效图像生成的关键组件。理解 DiT 的工作原理有助于理解 MCP 如何为扩散模型提供条件信号。
深度可分离卷积(Depthwise-Separable Convolution)
一种高效的卷积分解策略,将标准卷积分解为两个步骤:(1)深度卷积(depthwise convolution):对每个输入通道独立应用一个卷积核,输出通道数不变;(2)逐点卷积(pointwise convolution):使用 $1 \times 1$ 卷积进行通道间混合。对于隐藏维度 $d_h$ 和卷积核大小 $k$,深度卷积的计算复杂度为 $O(k \cdot d_h)$,逐点混合为 $O(d_h^2)$,相比标准卷积的 $O(k^2 \cdot d_h^2)$ 大幅降低。这种设计在保持表达能力的同时显著减少了参数量和计算量。
MCP 核心组件 SeqRefine 使用深度可分离 1D 卷积来压缩和精炼 VLM 特征,这是实现跨模态对齐同时保持移动设备高效性的关键技术。
Flow Matching(流匹配)
一种扩散模型的训练范式,直接学习从噪声到数据的概率流 ODE。给定干净潜变量 $x$ 和噪声 $\epsilon$,采样噪声水平 $\sigma \in [0, 1]$,构造插值 $x_\sigma = (1-\sigma)x + \sigma\epsilon$,目标速度场为 $v^*(x_\sigma; \sigma) = \epsilon - x$。模型训练目标是最小化加权均方误差 $\mathcal{L}_{diff} = \mathbb{E}_{x,p,\epsilon,\sigma} w(\sigma) \|v_\phi(x_\sigma, \sigma, c_p) - (\epsilon - x)\|_2^2$。相比传统的噪声预测或去噪分数匹配,Flow Matching 提供了更简洁的训练目标和更快的收敛速度。
Mobile-O 的文本到图像生成损失函数采用了 Flow Matching 而非标准扩散目标,理解这一选择对把握模型训练效率至关重要。
LoRA(Low-Rank Adaptation)
一种参数高效的微调方法,通过在预训练权重矩阵 $W_0$ 上添加低秩分解 $\Delta W = BA$ 来实现适配,其中 $B \in \mathbb{R}^{d \times r}$,$A \in \mathbb{R}^{r \times k}$,秩 $r \ll \min(d, k)$。微调时只训练 $A$ 和 $B$,冻结原始权重。Mobile-O 在 Stage 3 的统一后训练中使用秩 $r=16$、$\alpha=32$ 的 LoRA 来防止在较小的 105K 四元组数据集上过拟合。
LoRA 是 Mobile-O 在统一后训练阶段实现参数高效适配的关键技术,使得在有限数据下同时更新 VLM 和生成模块成为可能。
研究动机
现有统一多模态模型面临两大核心问题。第一,计算和内存开销过大,无法部署在边缘设备上。例如 BLIP3-o 需要 2.6B 参数的 UNet 去噪模块、3B 参数的视觉语言模型和 1.5B 参数的扩散变换器,总计 7.1B 参数。即使是相对紧凑的 Show-O 和 JanusFlow,分别在 iPhone 上的推理速度也比 Mobile-O 慢 6 倍和 11 倍。第二,有效的跨模态对齐通常依赖大规模预训练数据集(50M-1B 样本),使得预训练过程昂贵且耗时。此外,现有统一模型要么采用混合不相交任务数据集的联合训练方式(如 Metamorph、Show-O),需要精心平衡理解和生成样本的比例;要么采用顺序训练策略(如 BLIP3-o、Janus),在训练一个任务时冻结另一个任务,无法利用跨任务的相互促进作用。
本文的目标是本文的核心目标是构建一个紧凑、高效的统一多模态模型,能够在移动设备(如 iPhone、NVIDIA Jetson Nano、MacBook)上以低内存开销和实时延迟同时执行视觉理解和图像生成任务。具体而言,作者希望用仅 1.6B 总参数的模型,在理解任务上超越 2.1B 参数的 JanusFlow,在生成任务上超越 1.6B 参数的 Show-O,同时在 iPhone 上实现约 3 秒生成一张 512x512 图像的速度,并将内存占用控制在 2GB 以下。
与已有工作不同的是,本文的独特切入角度有三点。首先,在架构层面,作者没有使用现有的基于可学习查询 token 的连接器(如 BLIP3-o 和 Meta-Queries 所用的方式),而是设计了全新的 Mobile Conditioning Projector(MCP),直接将 VLM 的隐藏状态映射到扩散模型的条件空间,无需额外的查询 token 预算,参数更少且所需预训练数据更少。其次,在训练策略上,作者提出了统一多模态后训练阶段,采用新颖的四元组格式 $(p, x_{img}, q, a)$ 构建训练样本,使每个样本同时支持理解和生成两个任务,避免了联合训练中的任务不平衡问题和顺序训练中的任务孤立问题。第三,在部署层面,作者首次在 iPhone 上实现了统一多模态模型的原生部署,使用 MLX Swift 和 CoreML 进行优化,将语言模型以 8 位权重运行在 GPU 上,实现了真正的实时离线推理。
核心方法
Mobile-O 的整体架构可以这样理解:想象一条双车道高速公路,左侧是「理解车道」,右侧是「生成车道」。理解车道由高效的视觉编码器 FastVLM 和轻量语言模型 Qwen2-0.5B 组成,负责从图像中提取语义信息并回答问题。生成车道由 VAE 编码器-解码器和线性扩散变换器(DiT)组成,负责从文本生成图像。两条车道之间的枢纽就是 MCP(Mobile Conditioning Projector),它将理解车道中提取的视觉-语言特征转化为生成车道可用的条件信号。整个系统共 1.6B 参数,分为三个训练阶段逐步增强两个任务的能力:第一阶段对齐跨模态表示(9M 样本),第二阶段针对性微调(105K 样本),第三阶段统一后训练(105K 四元组样本),最终在理解和生成两个任务上都达到强劲性能。
Mobile-O 的核心创新是 Mobile Conditioning Projector(MCP),与已有方法的本质区别在于:现有统一模型(如 BLIP3-o、Meta-Queries、TBAC-UniImage)通常在 VLM 和扩散解码器之间插入一组可学习的查询 token 作为桥梁,这些查询 token 通过交叉注意力与 VLM 交互,然后将信息传递给扩散模型。这种设计虽然有效,但需要大量的预训练数据来学习有效的对齐(BLIP3-o 使用了约 20 倍的预训练数据)。MCP 完全摒弃了查询 token 的设计,直接将 VLM 最后 $K$ 层的隐藏状态进行温度缩放的 softmax 加权融合,然后通过深度可分离 1D 卷积和轻量级通道注意力进行压缩和精炼,最后投影到扩散模型的条件维度。这一设计的巧妙之处在于:(1)不增加额外的 token 预算,(2)仅需 2.4M 参数(对比 MLP 连接器的 3.3M),(3)在更少的预训练数据下(仅 9M vs BLIP3-o 的约 180M)达到甚至超越基于查询 token 的方法。
方法步骤详情
Mobile-O 的方法分为架构设计和训练流程两部分。在架构上,给定文本提示 $p$ 和可选图像 $x$,VLM $f_\theta$ 产生逐层隐藏状态 $\{H^{(1)}, \ldots, H^{(L)}\}$,其中 $H^{(\ell)} \in \mathbb{R}^{N \times d_{vlm}}$。MCP 首先对最后 $K$ 层(实验中 $K=4$)进行温度缩放的 softmax 加权融合:$\alpha_\ell = \frac{\exp(w_\ell/\tau)}{\sum_{j \in S} \exp(w_j/\tau)}$,得到 $H_{fuse} = \sum_{\ell \in S} \alpha_\ell H^{(\ell)}$,其中 $\tau$ 使用余弦退火。然后通过线性投影压缩:$\tilde{H} = \text{LN}(H_{fuse} W_c)$,$W_c \in \mathbb{R}^{d_{vlm} \times d_h}$。接着用 SeqRefine 模块精炼:深度可分离 Conv1D + 逐点混合 + 基于 MLP 的通道注意力。最后投影到扩散维度:$E = \text{LN}(\tilde{H} W_o)$,$W_o \in \mathbb{R}^{d_h \times d_{cond}}$,所有 DiT 交叉注意力层共享同一序列 $E$。在训练上,Stage 1 使用 JourneyDB 4M + BLIP3o-Short 5M 文本-图像对进行跨模态对齐,冻结视觉编码器和 LLM,只训练 DiT 和 MCP。Stage 2 使用 BLIP3o 60K + ShareGPT-4o-Image 45K 进行监督微调。Stage 3 使用相同的 105K 样本但以四元组格式 $\{p, x_{img}, q, a\}$ 训练,同时计算 I2T 损失 $\mathcal{L}_{lang}$(标准自回归交叉熵)和 T2I 损失 $\mathcal{L}_{diff}$(Flow Matching 目标),总损失 $\mathcal{L}_{unified} = \lambda_{lang}\mathcal{L}_{lang} + \lambda_{diff}\mathcal{L}_{diff}$。Stage 3 使用 LoRA($r=16, \alpha=32$)微调 LLM 和视觉编码器。
技术新颖性
Mobile-O 的技术新颖性体现在多个层面。首先,MCP 的设计哲学是「直接条件化」而非「中介对齐」——不引入额外的查询 token,而是直接利用 VLM 已有的多层特征来指导扩散过程。这种设计的理论依据是 VLM 各层的隐藏状态已经编码了丰富的视觉-语言对齐信息,通过学习加权融合不同深度的特征(浅层包含更多空间细节,深层包含更多语义抽象),可以获得比单一最终层更丰富的条件信号。实验也验证了 4 层聚合效果最优(70.4%),而单层仅 68.7%,8 层反而下降到 70.2%,说明存在信息冗余。其次,四元组训练格式是独创的——在此之前,统一模型的训练数据要么是不相交的文本-图像对和文本-问答对,要么是交错的多模态序列。四元组格式让每个样本同时为理解和生成提供监督信号,实现了真正的共生学习。第三,作者首次证明了统一多模态模型可以在不牺牲性能的前提下部署在移动设备上,通过 MLX Swift(语言模型 8 位权重在 GPU 上运行)和 CoreML(视觉编码器、DiT、VAE 和 MCP 以 float32 导出)的组合优化,将总内存控制在 2GB 以内。
实验结果
Mobile-O-0.5B 在多个基准测试中展现了超越同规模统一模型的性能。在文本到图像生成方面,Mobile-O 在 GenEval 基准上取得 0.74 的总分,超越 Show-O 的 0.69(+5.0%)和 JanusFlow 的 0.63(+11%)。特别值得注意的是,Mobile-O 在位置(Position)子项上取得了 0.68 的得分,远超 Show-O 的 0.28 和 JanusFlow 的 0.53,这是目前所有 ≤2B 参数统一模型中的最高值。在视觉理解方面,Mobile-O 在 7 个基准测试上的平均准确率为 62.1%,超越 JanusFlow 的 57.0%(+5.1%)、Show-O 的 46.8%(+15.3%,Show-O-Clip-ViT)和 Janus 的 54.0%(+8.1%)。在 ChartQA 上达到 75.2%(远超 JanusFlow 的 64.6%),在 TextVQA 上达到 67.8%(超过 JanusFlow 的 55.5%)。令人惊喜的是,Mobile-O-0.5B 甚至超越了其理解专用基线模型 FastVLM-0.5B 的 60.5%(+1.6%),证明统一后训练不仅不会损害理解能力,反而能通过跨任务学习增强理解。在更大的 Mobile-O-1.5B 配置中(FastVLM-1.5B + SANA-1.5B,约 3.5B 参数),统一后训练使理解从 64.8% 提升到 66.2%(+1.4%),生成从 75% 提升到 78%(+3%),且 78% 的生成分数超过了独立的 SANA-1.5B 生成骨干(66%),证明了统一训练框架的通用性。在边缘设备部署上,Mobile-O 在 iPhone 17 Pro 上实现视觉编码 102ms、首次 Token 延迟 248ms、图像生成 3.0s;在 MacBook M2 Pro 上图像生成仅需 4 秒(Show-O 为 47 秒,快 11 倍);在 Jetson Orin Nano 上图像生成 4 秒(Show-O 为 52 秒,快 13 倍)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 文本到图像生成(GenEval Overall) | Overall Score | 0.74 | Show-O-Clip-ViT: 0.69, JanusFlow: 0.63, Janus: 0.61 | 超越 Show-O +5.0%, 超越 JanusFlow +11% |
| 视觉理解(7个基准平均) | Average Accuracy (%) | 62.1 | JanusFlow: 57.0, Janus: 54.0, Show-O-Clip-ViT: 46.8 | 超越 JanusFlow +5.1%, 超越 Show-O +15.3% |
| ChartQA | Accuracy (%) | 75.2 | JanusFlow: 64.6, Show-O-Clip-ViT: 44.7 | 超越 JanusFlow +10.6% |
| TextVQA | Accuracy (%) | 67.8 | JanusFlow: 55.5, Show-O-Clip-ViT: 41.2 | 超越 JanusFlow +12.3% |
| 图像编辑(ImageEdit) | Overall Score | 2.5 | BLIP3-o: 使用大规模编辑数据训练 | 仅使用 46K 编辑样本微调即达到可用水平 |
| iPhone 图像生成延迟 | Latency (seconds) | 3.0 | Show-O: 未报告iPhone数据, JanusFlow: 未报告iPhone数据 | 首个在 iPhone 上实现统一模型原生部署的工作 |
局限与改进
作者在论文末尾坦诚地指出了 Mobile-O 当前的局限性。首先,Mobile-O 复用了统一 VLM 中的轻量 LLM(Qwen2-0.5B)作为文本编码器,而非像 SANA 那样使用专门优化的独立语言模型(如 Gemma-2B)。这虽然大幅降低了内存占用(2GB 以内),但限制了文本表示的表达力和深度。一个 2B 参数的 FP16 模型仅权重就需要约 4GB,加上激活值、注意力缓存和运行时开销通常还需要额外几 GB,这超出了大多数移动设备的内存约束。其次,从我的观察来看,Mobile-O 的生成质量虽然在同规模模型中表现优异,但与 7.3B 参数的 BLIP3-o(GenEval 0.81)相比仍有明显差距,特别是在复杂构图和精细细节方面。第三,图像编辑能力虽然可行,但仅使用 46K 编辑样本微调,编辑保真度和场景保持能力与专门的编辑模型相比还有提升空间。第四,统一后训练阶段使用 LoRA 微调 LLM 和视觉编码器,这意味着模型的理解能力提升幅度受限于 LoRA 的低秩约束($r=16$),在更复杂推理任务上的表现可能不如全参数微调。最后,论文的所有实验都在 8xA100 上完成,但未讨论在更极端的内存约束(如 4GB 或更低)下模型的可行性和需要的进一步压缩。
独立分析的弱点
Mobile-O 存在几个值得深入分析的弱点。第一,MCP 的层数消融实验表明 4 层聚合效果最优,但论文未探索自适应层数选择策略——不同任务可能需要不同深度的特征组合,固定 4 层可能不是最优的。改进方向:可以引入任务自适应的层数选择机制,让模型根据输入动态选择聚合哪些层。第二,四元组训练数据的构建依赖 GPT-4o 为图像生成详细描述并合成问答对,这引入了对闭源模型的依赖,且合成数据的质量可能不如真实标注数据。改进方向:可以探索使用开源模型进行数据合成,或结合人工标注的高质量子集进行校准。第三,论文报告了在 iPhone 上的端到端延迟,但未详细分析各组件的延迟占比(视觉编码、MCP、DiT 去噪 20 步各占多少),这对进一步优化至关重要。第四,Mobile-O 未在视频理解或生成任务上进行探索,这限制了其作为通用多模态移动助手的适用范围。第五,生成分辨率固定为 512x512,未探索更高分辨率的可能性,这在实际应用中可能是一个瓶颈。
未来方向
基于 Mobile-O 的成果,有几个值得探索的未来方向。第一,可以将 MCP 的设计推广到视频领域,将 VLM 的时序特征通过类似的融合机制连接到视频扩散模型,实现移动设备上的视频理解和生成。第二,四元组格式可以进一步扩展为五元组甚至更多元组,例如加入推理链 $(p, x_{img}, q, r, a)$ 其中 $r$ 是推理过程,以增强模型的推理能力。第三,探索更激进的量化和剪枝策略(如 4 位量化、结构化剪枝),将模型进一步压缩到适合更低端设备(如 IoT 设备)的程度。第四,作者已验证 Mobile-O 框架在 1.5B 规模上同样有效,未来可以进一步探索 MCP 和统一后训练在更大规模(如 7B、13B)上的扩展性,看看是否能缩小与 BLIP3-o 等大模型之间的性能差距。第五,结合联邦学习实现隐私保护的个性化多模态服务,充分利用 Mobile-O 已有的端侧部署能力。
复现评估
Mobile-O 的复现条件相当友好。作者已公开了完整的代码库(github.com/Amshaker/Mobile-O)、预训练模型(HuggingFace Amshaker/mobile-o-modelsFeb)和数据集(HuggingFace Amshaker/mobile-o-datasets)。训练使用 8xA100 GPU,Stage 1 约 3 天,Stage 2 约 15 小时,Stage 3 约 5 天,总计约 3.7 天,对于学术研究来说是可承受的。数据方面,Stage 1 使用 JourneyDB(4M)和 BLIP3o-Short(5M),Stage 2 和 Stage 3 使用 BLIP3o(60K)和 ShareGPT-4o-Image(45K),这些数据集大多是公开的。Stage 3 的四元组数据需要 GPT-4o 生成描述和问答对,这一步有 API 成本但不构成重大障碍。使用 DeepSpeed ZeRO-3 进行 Stage 1 训练,LoRA($r=16, \alpha=32$)用于 Stage 3 防止过拟合。总体来说,一个拥有 8xA100 的研究小组应该可以在一周内完成全部训练流程的复现。
论文图表