LLM(Large Language Model)或 Foundation Model 的输入(Output)和输出(Output)模态(Modalities)。
输入模态 → 输出模态| 模态 | 数据类型 | 例子 |
|---|---|---|
| Text | 文本 | 中文、英文、代码 |
| Image | 图片 | JPG、PNG、截图 |
| Audio | 音频 | 语音、音乐 |
| Video | 视频 | MP4、摄像头画面 |
| 3D | 三维 | 点云、Mesh |
| Sensor | 传感器 | 雷达、GPS、IMU |
常见的一般有
| 输入 | 输出 | 常见名称 | 典型能力 |
|---|---|---|---|
| Text | Text | LLM | 对话、写作、代码 |
| Text | Image | T2I | 文生图 |
| Image | Text | I2T / VLM | 看图问答、OCR、图片理解 |
| Image | Image | I2I | 图像编辑、风格迁移 |
| Text | Video | T2V | 文生视频 |
| Video | Text | V2T | 视频理解、总结 |
| Text | Audio | T2A / TTS | 文生语音 |
| Audio | Text | A2T / ASR | 语音识别 |
| Audio | Audio | A2A | 实时语音对话、翻译 |
| Video | Video | V2V | 视频编辑、增强 |
| Image + Text | Text | MLLM / VLM | 多模态问答 |
| Image + Text | Image | Image Editing | 指令式图片编辑 |
| Video + Text | Video | Video Editing | 指令式视频编辑 |
很多人说的 LLM 多模态(Multimodal),本质上就是:一个模型能够理解或生成多种不同类型的数据(模态,Modality)。
这里的 模态(Modality) 指的是信息的表现形式,而不是模型结构。
为什么叫 多模态,传统 LLM(例如早期 GPT-3)只能处理 输入文本 输出文本。
后来模型开始支持图片,例如 GPT-4V Text + Image -> Text,所以叫多模态输入。
底层是怎么做到的?
LLM 本身只能处理 Token,它并不直接理解图片、声音或视频。这就像有人把所有东西都翻译成它唯一会读的语言,省事是省事,就是前面得配一堆”翻译官”。流程通常是:
对于图片
图片
│
Vision Encoder(视觉编码器)
│
视觉 Token
│
LLM
│
文本 Token
│
Text Decoder对于音频
音频
│
Audio Encoder
│
Audio Token
│
LLM对于视频
视频
│
Video Encoder
│
Video Token
│
LLM也就是说,多模态模型的关键不是 LLM 突然学会了”看图”或”听声音”,而是把不同类型的数据都编码成模型能够处理的 Token 表示,再交给统一的大语言模型进行理解和推理;如果需要生成图片、音频或视频,再由对应的生成模块把 Token 转回目标模态。
总结
输入(Input)
Text Image Audio Video
\ | | /
\ | | /
Encoder(编码器)
│
统一 Token 表示
│
LLM 推理
│
统一 Token 输出
│
Decoder(解码器)
/ | | \
Text Image Audio Video
输出(Output)大家口中的多模态 LLM,并不是指模型结构换了名字,而是指模型能够接收和/或生成多种信息形式。当前最常见的产品形态是文本 + 图片输入,文本输出;而业界正在推进的是 Any-to-Any,即任意模态输入、任意模态输出的统一模型。