多模态大模型

Multimodal LLM (MLLM / VLM)

多模态大模型(VLM / MLLM)是除了纯文本之外,能同时理解和生成图片、音频、视频、PDF 表格、结构化文档等多种模态输入输出的统一大模型架构。

详细解释

多模态大模型(Multimodal LLM,常用缩写 VLM=Vision-Language Model 视觉语言模型 / MLLM 泛称) 是 GPT-4V(2023 年 11 月)之后整个 AI 行业的第二波革命——把”只能读写字的 LLM”升级成”能看图、听声音、读表格、看 PDF、甚至看视频的 AI”。在此之前,“图像理解”是一套独立的 CLIP / BLIP / Flamingo 家族,文本大模型是 LLaMA / GPT 家族;2023 之后业界的统一架构是:一个强大的文本 LLM 基座 + 一个视觉 / 音频编码器(把图像/音频转成和文本 Token 同维度的 embedding 向量序列) + 一个拼接层 Projector(把图像 embedding 直接丢进 LLM 的词表空间,让 LLM 以为它们只是”特殊的文字 Token”)。这样的好处:LLM 的所有能力(推理、工具调用、对话、CoT、代码)不用重训,学会”理解图片 Token 是什么意思”就能多模态。

一张图讲清楚当代多模态模型架构(LLaVA-1.5 风格)

用户输入:"这张合同里总金额是多少?合同编号?" + 一张 JPG 合同图片

        ┌───────────────┴─────────────────┐
        │ 文本分支                     图像分支
        ▼                                ▼
  纯文本 Tokenizer              ViT / SigLIP / CLIP-ViT-Large
  (BPE 分词)                    把 336x336 patch 序列 → 576 个视觉特征向量
  → [Q1 Q2 Q3 ...]              → [V1 V2 ... V576]


                              MLP Projector (2层线性层)
                              把每个视觉向量映射到 LLM Hidden Size (4096)
        ┌──────────────────────────┘

  拼接成统一序列:
  <bos>[V1..V576]<|image_end|>[Q1 Q2 ... Qn]


  同一个 LLM 主干做自回归推理 → 输出文本 Token 回答

90% 的开源多模态模型(Qwen-VL-Max、LLaVA-1.6、Yi-VL、InternVL2、CogVLM2)都沿用上面这套结构,区别仅在于:

  • 用多大的 ViT 编码器?(336×336 patch 的 SigLIP 是当前甜点;InternVL2 用了 448×448 更细粒度)
  • 用多大的 Projector?(MLP-2 层 vs Q-Former 可学习查询向量,Q-Former 省算力但准度略低)
  • LLM 主干多大?(7B 轻量 / 34B 精度 / 72B 视觉理解天花板)

2025 年主流多模态模型能力对照表(真实生产可用维度)

模型(开源版)输入模态OCR 中文表格准确率文档版面理解(图表+公式)视频理解(≤10 分钟)工具调用 + 多模态消费级卡可运行?
Qwen2.5-VL-7B / 72B图像 / PDF / 多图 / 短视频92%(最佳 OCR 开源之一)强(支持 Markdown 导出复杂表格)72B 版支持 128 帧✅ Function Calling7B 可跑 24G 卡
InternVL2.5-26B / 76B图像 / 多图 / 448 细粒度94%(OCR+版面最强)极强(表格到 Markdown 零误)支持✅ FC 原生26B 可跑 48G 卡
LLaVA-NeXT-1.6 (34B)图像 / 视频帧抽 16 张80%(中英文 OCR 弱)中(复杂表格会漏列)仅静态抽帧❌ 社区补34B 可跑 24G INT4
MiniCPM-V 2.6 (8B)图像 / 多图 / PDF 页89%(性价比最高)不支持✅ FC8B 可跑 16G 卡
CogVLM2 (CogAgent 1.0)图像 + GUI 截图坐标点85%不支持Computer Use 原生19B 可跑 48G

闭源侧唯元智创平台已上线:Qwen-VL-Max(免费试用)、GPT-4o、Claude 3.5 Sonnet(文档最佳)、Gemini Flash 1.5 Pro(长视频 1 小时)——通过 /chat/completions 兼容端点直接传 content: [{type:'text', text:..}, {type:'image_url', image_url:{url:'...'}}] 格式即可,无需改 SDK。

5 个典型生产落地场景 + 最佳实践

业务场景常见需求推荐模型 & 技巧
PDF / 合同 / 发票结构化提取扫描件或原生 PDF 里提取字段(金额、合同编号、税率、甲乙方)InternVL2.5 26B + 开启严格 JSON Schema mode;上传时原图 + 2x 放大超分(用 Real-ESRGAN 先预处理后再送,OCR 准确率 +4%)
OCR 长文档表格转 Markdown招股书/研报的几十页复杂表格转回结构化 MD / ExcelQwen2.5-VL-72B + 一页多 patch(把 A4 图切成 336×336 重叠 20% 的 20 张小图,拼成一组多图输入,LLM 不会漏字)
工业视觉质检流水线零件照片判断是否有划痕/缺陷,并给出缺陷类别InternVL2 + Few-shot:System 里放 4 张缺陷正例 + 4 张负例 + 标准回答格式 → 几乎和专用 ResNet 精度持平;或 Qwen-VL 加 SFT 2000 条私有质检数据达到 SOTA
GUI / 网站自动化测试(Computer Use 前身)根据截图自动判断”点哪个按钮、填哪个输入框”CogVLM2 + CogAgent 输出 {action: click, bbox:[x1,y1,x2,y2]};配合 Playwright 截图,自动跑回归测试用例
多模态 RAG(图文混合检索)产品手册既有文字又有示意图,用户问”按图 3 接线怎么做”先把文档按页切块,同时用文本 embedding + CLIP 图像 embedding 建两个向量库;用户问文本问题走文本检索;用户给图片或问”XXX 示意图”走 CLIP 检索;结果合并后送 VLM 回答

常见误区(新手 10 个里 8 个踩)

  1. “VLM 就是 OCR 升级版”:错误。VLM 不仅认字,更关键的是它能”理解上下文 + 推理”——你给它一张照片和问题”照片里人拿的是什么型号手机?大概什么年份发布的?“它会通过 LOGO、摄像头模组排布、尺寸比例、旁边物品比例推理,这是传统 OCR 根本做不到的。
  2. “给 VLM 看 4K 原图肯定比 1024px 清楚”:未必。绝大多数 VLM 的 ViT 最大处理就是 448×448 或 672×672 个 patch,4K 原图喂进去会被下采样,反而把细节糊掉。正确做法:关键 ROI(比如发票金额框)先裁剪放大,作为第二张 sub-image 一起多图输入,准确率能 +15%。
  3. “多模态比纯文本贵很多就没必要用”:对文档 / 发票类任务恰恰相反。纯文本路线 = PDF 转文字(OCR 每次调用 3 分)+ LLM 抽取(1 分) 共 4 分;VLM 直接一次 content=PDF 页截图 抽取,消耗 2.5 分,更便宜而且对扫描件 + 手写体 + 印章场景效果远好于 OCR。

唯元智创 的 OCR 结构化抽取产品默认就是”多模态 VLM + JSON Schema 严格模式”,比传统 OCR 引擎节省 40% 的清洗人力。

常见问题

多模态能直接处理 PDF 吗?还是必须转成图片?
两种路径都走,各有优劣:(1)原生 PDF-Text 分支:纯原生 PDF(非扫描件)把可复制文字层直接提出来送纯文本 LLM,成本最低;(2)PDF→图像分支:扫描件 / 带印章签名 / 复杂表格 / 含示意图,用 PyMuPDF 或 pdf2image 按 150-200dpi 渲染成 PNG/JPG,再送 VLM。实际项目里两条链路是并行的(叫”混合 PDF 解析”):先拿文本层,文本层字符数 < 每页 200 字或 layout 检测到表格/图片存在时切换到 VLM 分支。唯元智创控制台的知识库 RAG 就是这套混合解析,用户不用关心细节。
多模态怎么 SFT 微调?和文本 SFT 一样吗?
流程一样:数据 → LoRA → 评测,但多模态 SFT 有两个关键坑必须知道:(1)冻结 ViT Encoder!99% 的场景,你调 Projector + LLM 主干就够了;ViT 是通用视觉能力,冻住不动(或者只训最后一层)能省 2/3 的训练显存和 90% 的过拟合风险。(2)数据必须是”图文对齐 + instruction 格式”:JSONL 里每条 messages 要包含 <image> 占位符和对应的 image path。一个常见的新手失败:把 text-only SFT 数据(纯文字问答)混进来训多模态,会”稀释掉”VLM 的视觉能力,SFT 完模型反而不会看图了。训练建议 7B 多模态 LoRA rank=32,500 条标注起步,epoch=2,LR=2e-5。
多模态视频理解现在能替代人工看监控吗?
2025 年的结论是”能做辅助筛查,不能替代人工 100%“。原因三个:(1)时长限制:当前所有 VLM(包括 Gemini 1.5 Pro)都是”抽 128 至 512 帧均匀采样 + 文本时间戳”来理解视频;监控里”2 秒就发生一次跌倒”这种瞬态事件如果抽帧没抽到,模型完全看不到。(2)成本:1 小时视频抽 512 帧送进去,Token 消耗是文本场景的 300 倍,1 路监控一个月要几万 API 费,不划算。(3)过拟合:把某条视频的字幕 / 解说词和画面一起喂,模型很容易只认字而不真看画面。正确落地姿势:先用专用视频事件检测模型(传统 YOLO + SlowFast)做实时检测报警(每条 2 分钱/小时),报警的那 10 秒片段再截 10 张图 + 时间戳送 VLM 判”是真报警还是误报”,两者结合,成本是全视频 VLM 的 1/50,召回率反而更高。