多模态大模型:当 AI 不止"读文字"
多模态大模型:当 AI 不止“读文字”
文本模型只能处理“打出来的字”。但真实世界的信息 80% 是非文本的——截图、发票、语音、监控画面。多模态大模型(MLLM) 把这些信号统一编码进同一个语义空间,让模型“看见”并“听懂”。
一、它是怎么“看”的
经典架构(以 CLIP 思路为代表):
图像 ──▶ 视觉编码器(ViT) ──▶ 图像特征向量
│
文本 ──▶ 文本编码器 ──▶ 文本特征向量
│
两向量对齐到同一空间(对比学习)
│
用户问"图里有什么" ──▶ 拼接[图像特征+问题] ──▶ 大模型生成回答
关键洞见:图像和文本被映射到同一向量空间,于是“猫的照片”和“猫”这个词在模型眼里“离得很近”。这就是图文检索、看图问答的基础。
二、能力版图
- 视觉理解:OCR、图表解读、UI 截图分析、医学影像辅助。
- 语音:ASR(语音转写)+ TTS(合成)+ 端到端语音对话。
- 视频:逐帧编码 + 时序建模,理解“动作”“事件”。
- 文档智能:扫描件→结构化字段抽取(发票、合同、表单)。
三、多模态 Agent
当“看”和“做”结合,就出现能操作界面的 Agent:
截图当前屏幕 → 视觉编码器 → 模型判断"下一步点哪个按钮"
│
▼
执行动作(点击/输入) → 再截图 → 再判断 …(闭环)
这正是「电脑/手机自主操作」类 Agent(如 OS 级助手)的原理。我在鸿蒙真机调试时也用类似思路:截图 + 模型定位元素 + 指令执行。
四、工程要点
- 分辨率陷阱:把大图压成 224×224 会丢细节。现代模型用“高分辨率切图+再拼回”缓解。
- 模态对齐成本:视觉编码器与大模型要联合训练对齐,直接拼凑效果差。
- 延迟:图像 token 数远大于文字,多图输入会迅速撑爆上下文与算力。
- 安全:多模态能绕过文本审核(用图藏恶意指令),需专门的跨模态防御。
五、一个极简示例
# 多模态调用(OpenAI 兼容接口,图文混合)
resp = client.chat.completions.create(
model="vision-model",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张截图里报错信息是什么?"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
],
}],
)
多模态让 Agent 从“读文档的秘书”变成“看屏幕的同事”。下一步,它还会听、会说、会动。
下一篇以我自己的 WCode 为例,拆解一个真实 AI 编程助手的架构。