阿里 mPLUG-Owl 三代进化史:从模块化多模态到长视频理解,CVPR Highlight + ICLR 收录,7B 模型吊打 12B 竞品
💡 7B 参数的多模态大模型能干啥?阿里达摩院的 mPLUG-Owl 说:分类超越 LLaVA-1.5、文本能力超越 LLaMA-2-Chat、长视频理解登顶 LVBench!三代进化,从模块化设计(Owl)到模态协作(Owl2,CVPR 2024 Highlight)到长图像序列理解(Owl3,ICLR 2025),每一步都是多模态大模型的关键突破。Apache 2.0 开源,HuggingFace/ModelScope 双平台可用。

📌 目录
- [1. mPLUG-Owl 家族概览](#1. mPLUG-Owl 家族概览)
- [2. 第一代:mPLUG-Owl ------ 模块化赋能多模态](#2. 第一代:mPLUG-Owl —— 模块化赋能多模态)
- [3. 第二代:mPLUG-Owl2 ------ 模态协作的革命](#3. 第二代:mPLUG-Owl2 —— 模态协作的革命)
- [4. 第三代:mPLUG-Owl3 ------ 长图像序列理解](#4. 第三代:mPLUG-Owl3 —— 长图像序列理解)
- [5. 三代核心架构对比](#5. 三代核心架构对比)
- [6. 性能对比:与主流 MLLM 横评](#6. 性能对比:与主流 MLLM 横评)
- [7. 快速上手代码](#7. 快速上手代码)
- [8. 模型下载与部署](#8. 模型下载与部署)
- [9. 优缺点与使用建议](#9. 优缺点与使用建议)
- [10. 总结](#10. 总结)
1. mPLUG-Owl 家族概览
mPLUG-Owl 是阿里巴巴达摩院(DAMO Academy)推出的多模态大语言模型(MLLM)家族,三代演进,代代突破。
- 🔗 项目地址:https://github.com/X-PLUG/mPLUG-Owl
- 🏢 团队:阿里达摩院 → 通义实验室(Tongyi)
- 📜 许可证:Apache 2.0(商用友好)
- 🤗 HuggingFace & ModelScope 双平台可用
三代一句话总结
| 代际 | 核心思想 | 论文 | 录取 |
|---|---|---|---|
| mPLUG-Owl | 模块化设计赋能多模态 | arxiv 2304.14178 | Arxiv 2023 |
| mPLUG-Owl2 | 模态协作革命 | arxiv 2311.04257 | CVPR 2024 Highlight |
| mPLUG-Owl3 | 长图像序列理解 | arxiv 2408.04840 | ICLR 2025 |
演进时间线
2023.04 mPLUG-Owl 模块化设计,首个支持视频的多模态模型之一
↓
2023.11 mPLUG-Owl2 模态协作,纯文本+多模态双SOTA
↓
2024.02 mPLUG-Owl2.1 中文增强版,ViT-G (1.9B) 视觉编码器
↓
2024.04 CVPR 2024 Highlight 顶会认可
↓
2024.08 mPLUG-Owl3 长图像序列理解,7B模型
↓
2024.10 Owl3 小模型 1B/2B 版本,边缘设备可用
↓
2024.11 Owl3 升级版 LVBench Top-1
↓
2025.01 ICLR 2025 顶会收录
2. 第一代:mPLUG-Owl ------ 模块化赋能多模态
核心创新:模块化训练范式
mPLUG-Owl 的核心思想是将多模态能力模块化注入大语言模型:
视觉知识模块 (Visual Knowledge Module)
↓
视觉抽象器 (Visual Abstractor)
↓
大语言模型 (LLaMA-7B)
关键设计:不修改 LLM 本体,通过 Visual Abstractor 将视觉特征"翻译"为 LLM 可理解的 Token。
五大亮点
| 亮点 | 说明 |
|---|---|
| 🧩 模块化设计 | 视觉模块与语言模块解耦,独立训练 |
| 🔄 多轮对话 | 支持图文视频混合的多轮对话 |
| 🖼️ 多图关联 | 涌现出多图关联理解能力 |
| 📝 场景文字理解 | 天然支持 OCR 类任务 |
| 📄 文档理解 | 基于视觉的文档理解能力 |
OwlEval 评测集
mPLUG-Owl 同时发布了 OwlEval ------ 视觉相关指令评测集,填补了当时多模态评测的空白。
多语言 + 视频支持
| 变体 | 说明 |
|---|---|
| mPLUG-Owl 7B | 基础版,LLaMA-7B 骨干 |
| mPLUG-Owl 多语言版 | 支持 中文/英文/日语/法语/韩语/德语 |
| mPLUG-Owl 视频版 | 支持视频输入推理 |
MMBench 排名第一
🔥 mPLUG-Owl 被选入 OpenCompass MMBench 榜单,在 7B 级模型中排名第一。
3. 第二代:mPLUG-Owl2 ------ 模态协作的革命
核心突破:首个纯文本+多模态双 SOTA
mPLUG-Owl2 是首个同时在纯文本和多模态基准上达到 SOTA 的 MLLM!
这意味着:加了视觉能力后,文本能力不降反升!
模态协作架构
ViT-L (0.3B) → Visual Abstractor → LLaMA-2 (7B)
↑
模态协作机制 (Modality Collaboration)
视觉特征与文本特征在抽象器中交互
关键创新 :Visual Abstractor 不仅是视觉→语言的桥接,更是视觉与语言的协作层,让两种模态互相增强。
通用视觉语言基准
| 模型 | 参数 | VQAv2 | OKVQA | GQA | VizWizQA | TextVQA | SciQA |
|---|---|---|---|---|---|---|---|
| BLIP-2 | 8.2B | 65.0 | 45.9 | 41.0 | 19.6 | 42.5 | 61.0 |
| LLaVA-1.5 | 7.2B | 78.5 | - | 62.0 | 50.0 | 46.1 | 66.8 |
| Qwen-VL-Chat | 9.6B | 78.2 | 56.6 | 57.5 | 38.9 | 61.5** | 68.2 |
| mPLUG-Owl2 | 8.2B | 79.4 | 57.7 | 56.1 | 54.5 | 54.3 | 68.7 |
| mPLUG-Owl2.1 | 9.8B | 79.9 | 58.1 | 60.3 | 61.82 | 57.4 | 72.3 |
💡 mPLUG-Owl2 在 TextVQA 上无需 OCR 管线 就超越 LLaVA-1.5 8.2 分!
纯文本基准:文本能力不降反升
| 模型 | MMLU | BBH | AGIEval | ARC-c | ARC-e |
|---|---|---|---|---|---|
| LLaMA-2 | 46.8 | 38.2 | 21.8 | 40.3 | 56.1 |
| LLaMA-2-Chat | 46.2 | 35.6 | 28.5 | 54.9 | 71.6 |
| Vicuna-v1.5 | 51.1 | 41.2 | 21.2 | 56.6 | 72.8 |
| mPLUG-Owl2 | 53.4 | 45.0 | 32.7 | 65.8 | 79.9 |
🔥 MMLU 53.4 vs LLaMA-2 46.8,提升 6.6 分!这就是模态协作的威力。
MLLM 基准零样本
| 模型 | 视觉编码器 | MME | MMBench | MM-Vet | SEED-Bench | Q-Bench |
|---|---|---|---|---|---|---|
| Qwen-VL-Chat | ViT-G (1.9B) | 1487.58 | 60.6 | - | 58.2 | 61.6 |
| LLaVA-1.5 | ViT-L (0.3B) | 1510.70 | 73.7 | 30.5 | 58.6 | 60.7 |
| mPLUG-Owl2 | ViT-L (0.3B) | 1450.19 | 64.5 | 36.2 | 57.8 | 62.9 |
| mPLUG-Owl2.1 | ViT-G (1.9B) | 1545 | 73.7 | 39.0 | 60.8 | 64.7 |
💡 mPLUG-Owl2 用 ViT-L (0.3B) 就在 Q-Bench 上超过 Qwen-VL-Chat 的 ViT-G (1.9B)!
4. 第三代:mPLUG-Owl3 ------ 长图像序列理解
核心突破:长图像序列 + RAG + 交错图文
mPLUG-Owl3 解决了 MLLM 的一个关键痛点:长图像序列理解。
三大新能力
| 能力 | 说明 | 示例 |
|---|---|---|
| 🎬 长视频理解 | 看完一整部电影并记住细节 | "电影中主角第二次出现的场景是什么?" |
| 🖼️ 多图对话 | 交错图文上下文的多轮对话 | "比较这两张图片的异同" |
| 📚 RAG 能力 | 从检索系统学习知识 | 检索文档后回答视觉问题 |
视频基准:LVBench 登顶
| 模型 | NextQA | MVBench | VideoMME | LongVideoBench | MLVU | LVBench |
|---|---|---|---|---|---|---|
| Owl3-7B-240728 | 78.6 | 54.5 | 53.5 | 52.1 | 63.7 | - |
| Owl3-7B-241101 | 82.3 | 59.5 | 59.3 | 59.7 | 70.0 | 43.5 (Top-1) |
🔥 mPLUG-Owl3 在 LVBench 上取得 Top-1,长视频理解的王者!
多图基准
| 模型 | NLVR2 | Mantis-Eval | MathVerse | SciVerse | BLINK | Q-Bench2 |
|---|---|---|---|---|---|---|
| Owl3-7B-240728 | 90.8 | 63.1 | 65.0 | 86.2 | 50.3 | 74.0 |
| Owl3-7B-241101 | 92.7 | 67.3 | 65.1 | 82.7 | 53.8 | 77.7 |
图像 VQA 基准
| 模型 | VQAv2 | OK-VQA | GQA | VizWizQA | TextVQA |
|---|---|---|---|---|---|
| Owl3-7B-240728 | 82.1 | 60.1 | 65.0 | 63.5 | 69.0 |
| Owl3-7B-241101 | 83.2 | 61.4 | 64.7 | 62.9 | 71.4 |
小模型系列
| 模型 | 骨干 | 适用场景 |
|---|---|---|
| mPLUG-Owl3-1B | Qwen2-0.5B | 边缘设备/手机 |
| mPLUG-Owl3-2B | Qwen2-1.5B | 轻量部署 |
| mPLUG-Owl3-7B | Qwen2-7B | 全功能版 |
5. 三代核心架构对比
| 维度 | mPLUG-Owl | mPLUG-Owl2 | mPLUG-Owl3 |
|---|---|---|---|
| 视觉编码器 | ViT-L (0.3B) | ViT-L/G (0.3B/1.9B) | ViT-L |
| 语言模型 | LLaMA-7B | LLaMA-2-7B / Qwen-7B | Qwen2-7B |
| 桥接方式 | Visual Abstractor | Visual Abstractor + 模态协作 | Hyper Attention Transformer |
| 训练范式 | 预训练 + 指令微调 | 预训练 + 指令微调 | 预训练 + 指令微调 |
| 图像输入 | 单图/多图 | 单图/多图 | 交错图文序列 |
| 视频输入 | ✅(后加) | ❌ | ✅ 原生支持长视频 |
| RAG 能力 | ❌ | ❌ | ✅ |
| 参数规模 | 7B | 8.2B/9.8B | 1B/2B/7B |
| 核心突破 | 模块化设计 | 纯文本+多模态双SOTA | 长图像序列理解 |
| 论文 | Arxiv 2023 | CVPR 2024 Highlight | ICLR 2025 |
架构演进图
mPLUG-Owl (2023.04)
ViT-L → Visual Abstractor → LLaMA-7B
模块化:视觉模块独立于语言模块
↓
mPLUG-Owl2 (2023.11)
ViT-L/G → Visual Abstractor → LLaMA-2-7B
模态协作:视觉和语言在抽象器中互相增强
↓
mPLUG-Owl3 (2024.08)
ViT-L → Hyper Attention Transformer → Qwen2-7B
长序列:支持任意长度的图像/视频序列
6. 性能对比:与主流 MLLM 横评
同级别模型对比
| 对比维度 | mPLUG-Owl2.1 | LLaVA-1.5 | Qwen-VL-Chat | InstructBLIP |
|---|---|---|---|---|
| 参数量 | 9.8B | 7.2B | 9.6B | 8.2B |
| VQAv2 | 79.9 | 78.5 | 78.2 | - |
| TextVQA (零样本) | 57.4 | 46.1 | 61.5** | 50.1* |
| MME | 1545 | 1510.70 | 1487.58 | 1212.82 |
| MM-Vet | 39.0 | 30.5 | - | 26.2 |
| 纯文本 MMLU | 53.4 | - | - | - |
| 视觉编码器 | ViT-G (1.9B) | ViT-L (0.3B) | ViT-G (1.9B) | ViT-g (1.3B) |
💡 mPLUG-Owl2.1 在 MM-Vet 上达到 39.0,远超 LLaVA-1.5 的 30.5,提升近 30%!
mPLUG-Owl3 vs 主流视频理解模型
mPLUG-Owl3-7B-241101 在视频理解领域的表现:
- LVBench: Top-1(长视频理解综合基准)
- MLVU: 70.0(长视频理解)
- VideoMME: 59.3(无字幕)
7. 快速上手代码
mPLUG-Owl3(推荐最新版)
python
import torch
from modelscope import AutoConfig, AutoModel, AutoTokenizer
from PIL import Image
# 加载模型
model_path = 'mPLUG/mPLUG-Owl3-7B-241101'
model = AutoModel.from_pretrained(
model_path,
attn_implementation='flash_attention_2',
torch_dtype=torch.bfloat16,
trust_remote_code=True
).eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(model_path)
processor = model.init_processor(tokenizer)
# 图像对话
messages = [
{"role": "user", "content": "<|image|>\nDescribe this image."},
{"role": "assistant", "content": ""}
]
image = Image.open("your_image.jpg")
inputs = processor(messages, images=[image], videos=None)
inputs.to('cuda')
inputs.update({'tokenizer': tokenizer, 'max_new_tokens': 100, 'decode_text': True})
output = model.generate(**inputs)
print(output)
视频理解
python
from decord import VideoReader, cpu
MAX_NUM_FRAMES = 16
def encode_video(video_path):
vr = VideoReader(video_path, ctx=cpu(0))
sample_fps = round(vr.get_avg_fps())
frame_idx = [i for i in range(0, len(vr), sample_fps)]
if len(frame_idx) > MAX_NUM_FRAMES:
gap = len(frame_idx) / MAX_NUM_FRAMES
frame_idx = [int(i * gap + gap / 2) for i in range(MAX_NUM_FRAMES)]
frames = vr.get_batch(frame_idx).asnumpy()
return [Image.fromarray(v.astype('uint8')) for v in frames]
messages = [
{"role": "user", "content": "<|image|>\nWhat happens in this video?"},
{"role": "assistant", "content": ""}
]
video_frames = [encode_video("your_video.mp4")]
inputs = processor(messages, images=None, videos=video_frames)
inputs.to('cuda')
inputs.update({'tokenizer': tokenizer, 'max_new_tokens': 100, 'decode_text': True})
output = model.generate(**inputs)
print(output)
mPLUG-Owl2
python
import torch
from PIL import Image
from mplug_owl2.model.builder import load_pretrained_model
from mplug_owl2.mm_utils import process_images, tokenizer_image_token
model_path = 'MAGAer13/mplug-owl2-llama2-7b'
tokenizer, model, image_processor, context_len = load_pretrained_model(model_path)
image = Image.open("your_image.jpg").convert('RGB')
image_tensor = process_images([image], image_processor).to(model.device, dtype=torch.float16)
# 推理...
节省显存
python
# 4-bit 量化推理
model = AutoModel.from_pretrained(
model_path,
load_in_4bit=True,
trust_remote_code=True
)
# 或使用 Liger-Kernel 节省显存
pip install liger-kernel
# 然后调用 apply_liger_kernel_to_mplug_owl3(model=model)
# 多 GPU 分布式
model = AutoModel.from_pretrained(
model_path,
device_map="auto",
trust_remote_code=True
)
8. 模型下载与部署
mPLUG-Owl3 模型
| 模型 | HuggingFace | ModelScope |
|---|---|---|
| Owl3-1B | 链接 | 链接 |
| Owl3-2B | 链接 | 链接 |
| Owl3-7B-240728 | 链接 | 链接 |
| Owl3-7B-241101 | 链接 | - |
mPLUG-Owl2 模型
| 模型 | 下载 |
|---|---|
| mPLUG-Owl2 (指令微调) | HuggingFace |
| mPLUG-Owl2.1 (中文增强) | HuggingFace |
mPLUG-Owl 模型
| 模型 | 下载 |
|---|---|
| mPLUG-Owl 7B (LoRA) | HuggingFace |
| mPLUG-Owl 7B (FT) | HuggingFace |
| mPLUG-Owl 多语言版 | HuggingFace |
| mPLUG-Owl 视频版 | HuggingFace |
在线 Demo
| 平台 | 链接 |
|---|---|
| HuggingFace Spaces | mPLUG-Owl / mPLUG-Owl2 |
| ModelScope | mPLUG-Owl / mPLUG-Owl2 |
| Replicate | mPLUG-Owl |
9. 优缺点与使用建议
✅ 优点
| 维度 | 评分 | 说明 |
|---|---|---|
| 文本+多模态双强 | ⭐⭐⭐⭐⭐ | 首个双 SOTA 的 MLLM |
| 长视频理解 | ⭐⭐⭐⭐⭐ | Owl3 LVBench Top-1 |
| 模型齐全 | ⭐⭐⭐⭐⭐ | 1B/2B/7B 全覆盖 |
| 中文能力 | ⭐⭐⭐⭐⭐ | Owl2.1 中文增强版 |
| 开源友好 | ⭐⭐⭐⭐⭐ | Apache 2.0,商用可用 |
| 视频支持 | ⭐⭐⭐⭐⭐ | 从 Owl1 到 Owl3 持续支持 |
| 顶会认可 | ⭐⭐⭐⭐⭐ | CVPR Highlight + ICLR |
| 量化部署 | ⭐⭐⭐⭐ | 4-bit/8-bit 量化 + Liger-Kernel |
⚠️ 注意事项
| 事项 | 说明 |
|---|---|
| Flash Attention | Owl3 需要 flash_attention_2 或 sdpa |
| 视频帧数 | 默认 MAX_NUM_FRAMES=16,长视频需调整 |
| 训练数据 | Owl3 训练数据尚未公开 |
| 微调 | Owl3 需使用 ms-swift 框架 |
| 编码器差异 | Owl2 用 ViT-L,Owl2.1 用 ViT-G (1.9B) |
💡 使用建议
- 新项目直接用 Owl3-7B-241101:最新最强,视频+多图+RAG 全支持
- 边缘设备用 Owl3-1B/2B:基于 Qwen2 小模型,手机也能跑
- 纯图像场景用 Owl2.1:MME 1545 分,视觉感知极强
- 中文场景优先 Owl2.1/Owl3:有专门的中文增强
- 视频场景必须 Owl3:唯一支持长视频理解的版本
10. 总结
阿里 mPLUG-Owl 三代进化,每一步都踩在多模态大模型的关键节点上:
- 🦉 Owl(模块化):首创 Visual Abstractor 桥接视觉与语言,多语言+视频支持
- 🦉 Owl2(模态协作):首个文本+多模态双 SOTA,CVPR 2024 Highlight,用 0.3B 视觉编码器打败 1.9B 竞品
- 🦉 Owl3(长序列):长视频理解登顶 LVBench,RAG 能力,ICLR 2025,1B-7B 全尺寸
推荐指数:⭐⭐⭐⭐⭐
如果你需要:中文多模态、长视频理解、多图对话、RAG 增强------mPLUG-Owl3 是当前最全面的开源选择。Apache 2.0 开源,HuggingFace/ModelScope 双平台,1B 到 7B 全尺寸覆盖,从边缘到云端都能部署。
标签:#阿里 #mPLUG-Owl #多模态大模型 #MLLM #视频理解 #CVPR #ICLR