# AI 怎麼同時看圖、聽聲音？

> 多模態 AI 以語言模型當大腦，前面接「眼睛耳朵」編碼器、後面接畫圖配音的解碼器。用 NExT-GPT 看它怎麼組起來、怎麼分三階段訓練。

- 作者：Michael Kuo（https://mk-ai-notes.pages.dev/about/）
- 發布日期：2026-11-02（2026-11-02T20:08:00+08:00）
- 原文網址：https://mk-ai-notes.pages.dev/posts/ep08-multimodal/
- 分類：一人公司工作流＋學習系列（https://mk-ai-notes.pages.dev/category/workflow/）
- 系列：動手學大模型 12 問 第 9 篇／共 12 篇（https://mk-ai-notes.pages.dev/series/dive-into-llms/）
- 標籤：多模態、LLM、NExT-GPT
- 閱讀時間：約 9 分鐘（約 1388 字）
- 參考來源：https://github.com/Lordog/dive-into-llms/tree/main/documents/chapter8

![AI 怎麼同時看圖、聽聲音？](https://mk-ai-notes.pages.dev/og/ep08-multimodal.png)

---

## 一句話回答

多數多模態 AI 的做法，是讓一個已經很會理解文字的大型語言模型（LLM）當「大腦」，前面接上把圖片、聲音、影片轉成向量的編碼器，中間用連接層翻譯成 LLM 看得懂的格式；要輸出圖片或聲音時，再交給後面的生成模型（解碼器）完成。

## 為什麼值得知道

- 你每天用的「拍照問 AI」「上傳影片請它摘要」「叫它畫一張圖」，背後都是多模態大語言模型（Multimodal LLM, MLLM）。
- 懂架構，就能判斷一個產品的能力邊界：它是真的「看懂」圖片，還是只是把圖片轉成文字描述再處理？
- 想做自己的應用時，知道「大部分元件是現成的」，就能估出成本規模。

## 白話原理

### 為什麼以語言模型為中心？

教程提到領域裡的一個共識：LLM 在規模擴大之後，已展現強大的語意理解能力，語言成了承載智能的關鍵模態，因此幾乎所有 MLLM 都蓋在 LLM 之上，讓它擔任核心決策者，就像大腦或中央處理器。其他模態則靠外接模組補上。

### 通用架構：四個零件

把它想成一個請了口譯員的跨國會議：

| 零件 | 白話角色 | NExT-GPT 用的元件 |
| --- | --- | --- |
| 編碼器（Encoder） | 眼睛和耳朵，把圖片／聲音／影片轉成向量 | ImageBind（一個模型處理多種模態） |
| 輸入連接層（Input Projection） | 口譯員，把向量翻成 LLM 能讀的格式 | 可訓練的投影層 |
| LLM | 大腦，理解內容、決定怎麼回應 | Vicuna 7B |
| 輸出連接層＋解碼器 | 把大腦的意圖交給畫家、配音員、攝影師 | 投影層＋Stable Diffusion、AudioLDM、ZeroScope |

### 兩種常見架構

1. **LLM 當調度員（Task Scheduler）**：LLM 只輸出文字指令指揮外部工具，工具之間不直接溝通；所有資訊都經過文字傳遞，細節容易流失。
2. **LLM 當系統的一部分（編碼器—LLM—解碼器）**：LLM 直接接收多模態的訊號，再把指令更順暢地交給解碼器。教程說這是目前最流行的架構。

### MLLM 有哪些類型？

教程依支援的模態與功能分類。白話說：有的只能**看圖回答**（輸出文字）；有的**看也能畫**；最通用的是「任意模態到任意模態」（any-to-any）。NExT-GPT 是首先提出 any-to-any 的研究，文字、圖片、影片、聲音任意組合都能進也能出，並支援多輪對話。

## 教程裡實際做了什麼

這章以 NExT-GPT 的開源程式碼為實作主角：

1. **建立環境**：Python 3.8、PyTorch 1.13.1、CUDA 11.6，用 conda 安裝後再裝 requirements。
2. **準備凍結的預訓練模型**：下載 ImageBind（huge 版）、依說明準備 Vicuna；Stable Diffusion v1-5、AudioLDM、ZeroScope 會由程式自動下載。
3. **載入可訓練參數**：使用自己訓練的，或從 Hugging Face 下載作者提供的 checkpoint。
4. **啟動 Gradio 示範介面**測試各種組合。
5. **準備訓練資料**：文字—圖片配對（CC3M）、文字—影片（WebVid）、文字—聲音（AudioCap），以及 LLaVA、Alpaca、VideoChat 等指令資料，和作者整理的模態切換指令資料（MosIT）。
6. **預先計算嵌入向量**：先把圖說轉成向量，節省訓練時間與記憶體。
7. **三階段訓練**（用 DeepSpeed 執行）：
   - 第一階段，編碼端對齊：只訓練輸入投影層，讓 LLM 學會「讀懂」各模態。
   - 第二階段，解碼端對齊：只訓練輸出投影層，讓 LLM 發出的訊號能被生成模型理解。
   - 第三階段，指令微調：用 LoRA 微調 LLM，同時調整輸入與輸出投影層。

前兩階段 ImageBind 與 LLM 都凍結，只動小小的連接層，因此訓練成本可控。

硬體：原文沒寫顯存需求，只給 CUDA 11.6 與單張 GPU 的訓練指令範例；要同時放下 7B LLM、ImageBind 和三個擴散模型，實務上需要大顯存 GPU。

## 動手試試

老實說，完整重現門檻很高：模型檔很大，訓練資料要下載好幾套。可行的入門路線：

1. **先讀架構**：打開 NExT-GPT 的 GitHub，對照教程的目錄說明，找到主模型檔與三個階段的設定檔，看哪些參數被凍結。
2. **看官方示範**：到 NExT-GPT 專案頁看 any-to-any 的案例。
3. **有 GPU 再跑推理**：有大顯存雲端 GPU，就只做「下載 checkpoint、啟動 Gradio」，先別碰訓練。
4. **用日常工具體會**：問看圖聊天 AI 圖中的小字或位置，觀察它哪裡會猜錯，再對照「編碼器把圖壓成向量」想原因。

## 常見誤解

- **「多模態 AI 是一個從頭訓練的巨大模型。」** 以 NExT-GPT 為例，大部分元件都是現成的預訓練模型，主要訓練的是連接層，第三階段才用 LoRA 微調 LLM。
- **「能輸出圖片，就代表 LLM 會畫圖。」** 畫圖、配音、做影片的是擴散模型，LLM 負責下指令。
- **「多模態一定比純文字模型聰明。」** 多了感官，推理仍主要靠 LLM。

## 延伸閱讀

- 第 8 章原文：https://github.com/Lordog/dive-into-llms/tree/main/documents/chapter8
- NExT-GPT 專案頁：https://next-gpt.github.io/
- NExT-GPT GitHub：https://github.com/NExT-GPT/NExT-GPT
- 多模態大模型論文整理：https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models

> 本文整理自上海交通大學《動手學大模型》第 8 章，原教程：https://github.com/Lordog/dive-into-llms/tree/main/documents/chapter8。內容由 MK 以自己的話解說，如有錯誤歡迎留言指正。

---

本系列整理自上海交通大學《動手學大模型》公益教程（https://github.com/Lordog/dive-into-llms），以自己的話解說，非官方內容。

引用本文請附原文網址：https://mk-ai-notes.pages.dev/posts/ep08-multimodal/（作者：Michael Kuo）
