多模态大模型,英文一般称为 Multimodal Large Model,是指能够同时处理和理解多种不同类型(模态)的数据的人工智能模型。最常见的模态包括:
- 文本(如自然语言)
- 图像(如照片、图画)
- 音频(如语音、音乐)
- 视频(图像和音频的结合)
- 以及其他如传感器数据、结构化数据等
核心基础概念
- 模态表示:把不同的数据”翻译”成同一种机器能理解的语言。
- 多模态融合:把不同语言的信息”汇总到一起理解”。
- 跨模态对齐:让这些不同信息在”语义层面能对上号”,实现互通有无。
模态表示(Modality Representation)
“模态表示”指的是把某一种模态的数据(如文本、图像、语音)用向量或张量的方式表示出来,方便神经网络理解和处理。
比如把一句话转为一个向量,把一张图片也转为一个向量。
多模态融合(Multimodal Fusion)
多模态融合 是把不同模态(如文本、图片等)得到的向量/特征 合并 在一起,让模型能够同时理解多种数据的信息,实现信息互补、增强理解力。
常见融合方式:
- 早期融合(Early Fusion):一开始就把各模态数据拼在一起,再整体输入模型。
- 后期融合(Late Fusion):各自处理,最后把输出结果合并。
- 中期融合(Intermediate Fusion):先分别提取特征,再在中间某一层进行特征融合(比如拼接、加权、注意力机制等)。
举例:
图文问答模型:把图片特征和问题文本特征拼接在一起,再做回答。
智能驾驶:图像特征+雷达特征融合后一起决策。
跨模态对齐(Cross-modal Alignment)
跨模态对齐指的是让不同模态的数据在“语义空间”内能够相互匹配。例如,描述同一只猫的图片和一句话,在模型中会被表示成彼此接近的向量。
只有对齐后,才能实现”以文找图”、”以图找文”、”跨模态问答”等复杂任务,确保不同模态间能互相理解。
- 常用的方法有:对比学习(Contrastive Learning)、最大化相似度损失(CLIP里的InfoNCE Loss)。
训练时会把图片和它的描述文本同时输入模型,让它们的向量尽量接近(正样本),而和无关的远离(负样本)。
举例:
- CLIP能做到输入一句话,找到最相关的图片;输入一张图片,找到最佳描述。
- 跨模态检索、图文匹配等都是对齐的应用。
应用场景
- AI辅助诊断(X光片+医生文字描述一起理解)
- 自动驾驶(摄像头图像+雷达数据+地图数据整合)
- 智能客服(语音+文本+表情分析)
- 教育辅助(题目+插图+讲解视频综合出答案)
可用数据集
- MIMIC-CXR (胸部X光)
- IU X-ray (X光(前后视))
- VQA-RAD (多种影像)
- PEIR Gross (病理图像)
开源项目
- MedCLIP: https://github.com/RyanWangZf/MedCLIP (CLIP在医学图文对比上的应用)
- BioViL: https://github.com/microsoft/BioViL (微软多模态医学模型)
- BLIP for Medical: https://github.com/salesforce/LAVIS (视觉语言预训练医学扩展)
- VQA-RAD baseline: https://github.com/ys-mi/Visual-Question-Answering-in-Radiology (视觉问答系统)
工程化方案
基础框架:PyTorch 或 HuggingFace Transformers + timm(图像模型) + torchvision
组合架构:
- 图像:ViT / SwinTransformer (from timm)
- 文本:BioBERT or BioGPT (from Huggingface)
- 融合:使用 transformers 中的 BertModel + CrossAttention 层自己写,或参考 BLIP, LAVIS