Skip to content

多模态大模型

多模态大模型(Multimodal LLM)能够同时处理文本、图像、音频等多种输入形式。

主流模型

GPT-4V (Vision)

OpenAI 的多模态版本,支持图像和文本输入。

能力:

  • 图像描述
  • 视觉问答(VQA)
  • 图表理解
  • OCR(文字识别)

示例:

python
from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4-vision-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "这张图片里有什么?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"}
                }
            ]
        }
    ]
)

Claude 3 系列(Opus, Sonnet, Haiku)

Anthropic 的多模态模型,支持图像和 PDF。

特点:

  • 强视觉推理能力
  • 支持多页文档处理
  • 官方 API 直接支持 base64 图片

LLaVA(Large Language and Vision Assistant)

开源多模态模型,基于 Llama + CLIP:

python
from transformers import AutoProcessor, LlavaForConditionalGeneration

model = LlavaForConditionalGeneration.from_pretrained("llava-hf/llava-1.5-7b-hf")
processor = AutoProcessor.from_pretrained("llava-hf/llava-1.5-7b-hf")

prompt = "USER: <image>\nWhat's in this image? ASSISTANT:"
image = load_image("image.jpg")
inputs = processor(prompt, image, return_tensors="pt").to("cuda")

output = model.generate(**inputs, max_new_tokens=200)
print(processor.decode(output[0], skip_special_tokens=True))

BLIP-2

Salesforce 的视觉语言模型,使用 Q-Former 连接视觉和语言:

  • 高精度:在 VQA 等任务上 SOTA
  • 训练高效:冻结 LLM,仅训练 Q-Former
  • 开源可用:Hugging Face 提供

架构设计

Vision Encoder + LLM

[Image] → Vision Encoder (CLIP, ViT) → Visual Features → LLM → [Text]

Vision Encoder 选择:

  • CLIP:OpenAI 的图文对齐模型
  • ViT:Google Vision Transformer
  • DINOv2:自监督视觉编码器

连接器(Connector)

将视觉特征映射到语言模型空间:

  • Linear Projection:简单线性层
  • Q-Former:带查询向量的 Transformer
  • Perceiver:交叉注意力压缩

训练策略

  1. 预训练对齐:大量图文数据对齐视觉和语言表示
  2. 指令微调:教会模型遵循多模态指令
  3. 任务适配:特定任务(VQA, 描述生成等)

应用场景

1. 视觉问答

输入:图片 + "图片中的人穿着是什么颜色?"
输出:"红色 T恤"

2. 文档理解

处理扫描文档、PDF、表格等:

python
# 上传 PDF 截图,询问内容
"总结这份合同的要点"
"提取表格中的数据"

3. 图像描述生成

输入:[产品图片]
输出:"这是一款白色陶瓷杯,容量 350ml,适合咖啡"

4. 视频理解

逐帧分析或理解视频内容:

视频:[视频 URL]
问题:"视频中发生了什么事件?"

5. 辅助视觉

为视障人士描述周围环境。

技术挑战

1. 高分辨率支持

  • 图像尺寸限制(GPT-4V: 2048×2048)
  • Tile 分割处理大图
  • Aspect ratio 保持

2. 细粒度理解

  • OCR 精度
  • 小物体识别
  • 复杂场景理解

3. 计算成本

  • 视觉编码计算量大
  • 长上下文处理
  • 实时性要求

4. 数据隐私

  • 图像上传到云端
  • 企业敏感信息保护
  • 本地部署方案

开源方案

MiniGPT-4

轻量级开源 GPT-4V 替代方案:

bash
git clone https://github.com/Vision-CAIR/MiniGPT-4
cd MiniGPT-4
python -m tools.download --model_type qwen
python -m demo.py --cfg-path eval_configs/minigpt4_qwen.yaml

InstructBLIP

指令微调的多模态模型,基于 BLIP-2:

python
from transformers import InstructBlipProcessor, InstructBlipForConditionalGeneration

processor = InstructBlipProcessor.from_pretrained("Salesforce/instructblip-vicuna-7b")
model = InstructBlipForConditionalGeneration.from_pretrained("Salesforce/instructblip-vicuna-7b")

未来方向

  • 3D 理解:点云、NeRF
  • 音频-文本-视频统一:全模态模型
  • 实时交互:视频流处理
  • 具身智能:机器人视觉语言
  • 端侧部署:手机上的多模态模型

多模态是 AI 的必然趋势,掌握多模态技术让你在新一轮 AI 浪潮中领先!