2024 - Gemini:原生多模態#
案件摘要#
2023 年 12 月(部署於 2024 全年),Google DeepMind 發表 Gemini,主張語言模型不該「事後加掛」視覺,而應從預訓練第一天起就同時吃進文字、影像、音訊與視訊——這是 "natively multimodal"(原生多模態)路線。核心公式可以寫成:
一句話:多模態不是外掛,而是母語。Gemini 1.5 更把上下文窗口推到一百萬 token——模型的「工作記憶」從一頁擴張到一整座圖書館。
前因 -- 為什麼會有這個案子#
- 2021-CLIP多模態對齊.md(見
科學與歷史/智慧模型/)已證明文字與影像可以對齊到同一個嵌入空間,但 CLIP 只會「對齊」,不會「生成」與「對話」。 - 2023-GPT-4多模態.md:OpenAI 在 GPT-4V 走的是「外掛路線」——語言模型本體不動,前面接一個預訓練好的視覺編碼器(如 CLIP 系),把影像轉成向量再餵給 LLM。這條路快,但視覺與語言的「理解深度」受制於接縫。
- Google 的動機:被 ChatGPT 偷襲後(見 2022-ChatGPT大型語言模型.md),Google 需要一張「王牌」,而它最大的資產正是 DeepMind 的研究傳統與 YouTube 這座影音資料礦山——影音正是其他家難以複製的多模態訓練料。
- 理論前驅:Flamingo(DeepMind 2022)與 PaLM-E(2023)已試過視覺-語言混合訓練;PaLM-E 更展示「具身多模態」的雛形——機器人觀察世界並行動。
- 核心問題:不同模態的 token 化如何統一?影像離散化會損失什麼?混合訓練會不會互相干擾(災難性遺忘)?
- 時間點的巧合與張力:Gemini 發表時 OpenAI 正陷入治理風波(2023/11 Altman 事件),Google 搶下了「多模態旗艦」的先手;2024 年 GPT-4o 隨即轉向原生路線,兩家在「原生」上重新對齊。
線索與推理 -- 數學式、程式、理論#
第一條線索:兩條路線的對決——外掛 vs 原生#
| 外掛路線(GPT-4V 式) | 原生路線(Gemini 式) | |
|---|---|---|
| 架構 | LLM 本體 + 預訓練視覺編碼器 | 單一 Transformer,多模態混訓 |
| 影像進入時機 | 對齊階段(後期) | 預訓練階段(從零開始) |
| 訓練目標 | 先學影像,再學「影像→語言」 | 一次學會所有模態的聯合分佈 |
| 優點 | 快、穩、不傷語言能力 | 模態間深度融合、可處理交錯序列 |
| 風險 | 接縫資訊損失、無法反哺視覺 | 模態互相干擾、訓練成本高 |
原生路線的賭注是:聯合分佈 \(P(x_{\text{text}}, x_{\text{image}}, x_{\text{audio}})\) 學得好,比邊際分佈再拼接更強。這類似統計學中「直接估聯合分佈」與「邊際獨立假設」的取捨。
第二條線索:一切皆 token——把世界離散化#
Transformer(見 2017-瓦茲瓦尼Transformer.md)只吃離散 token 序列。多模態的關鍵工程是「翻譯世界」:
- 文字:BPE 切詞,每字元約 4 token。
- 影像:切塊(patch)後用離散碼本量化,或用視覺編碼器輸出連續向量;每張 224×224 影像約產生 256–1024 個「視覺 token」。
- 音訊:分割成 50ms 幀,量化為音訊碼——音訊 token 讓模型「聽見」語調與環境音。
- 視訊:取幀 + 時間壓縮,一秒視訊約 1–2 幀。
於是「看圖說話」在數學上就退化成普通的下一 token 預測:
注意力機制不區分 token 來自哪個模態——這正是「原生」的含義:同一組權重處理所有模態。
第三條線索:百萬級上下文——工作記憶的指數擴張#
Gemini 1.5 Pro 把上下文推到 \(10^6\) token(後續版本到 \(2 \times 10^6\) )。對比歷史:
| 年份 | 模型 | 上下文 |
|---|---|---|
| 1997 | LSTM | 有效記憶約數百步 |
| 2018 | GPT-1 / BERT | 512 token |
| 2020 | GPT-3 | 2048 |
| 2023 | GPT-4 | 8K–32K |
| 2024 | Gemini 1.5 | 1M–2M |
技術關鍵是注意力的線性化:標準注意力是 \(O(n^2)\) ,Gemini 1.5 據報導使用了改進的注意力變體(如滑動窗 + 全域注意力的混合),把成本壓到近線性。長上下文的價值:一次讀完一整本書、一小時影片、整個程式碼庫——「大海撈針」測試(在 100 萬 token 中找一句隱藏話)準確率近 100%。
第四條線索:陰影——交錯序列的訓練難題#
多模態混訓的損失函數是各模態加權:
權重 \(\lambda\) 的調配是黑魔法:語言權太重→視覺學不好;視覺權太重→語言退化。這正是 1986 年反向傳播「功勞分配」問題的模態版:梯度該為哪個模態的 token 負多少責?
| 模態 | token 成本 | 資訊特徵 |
|---|---|---|
| 文字 | 低(每字約 4 token) | 高密度語義 |
| 影像 | 中(每張 256–1024) | 空間冗餘高 |
| 音訊/視訊 | 高(時序連續) | 時間冗餘最高 |
時間冗餘是壓縮的關鍵:連續幀幾乎相同,重複編碼是浪費——這正是後續世界模型(2024-VJEPA世界模型.md)攻擊生成式路線的同一個算術。
結案 -- 後果與影響#
- 「原生多模態」從 2024 年起成為旗艦模型的標配:GPT-4o(2024/05)改走原生路線、Claude 加上視覺、開源模型跟進——外掛路線被歷史淘汰。
- 影音資料從「無用」變成「戰略礦產」,擁有影音資產的公司獲得資料護城河。
- 長上下文改變使用範式:從「貼片段給模型」變成「丟整份文件」,RAG(檢索增強)的必要性下降一部分。
- 為2025-MCP智慧代理.md 埋下伏筆:多模態感知 + 長上下文,讓代理能「看螢幕、聽聲音、操作電腦」。
- 為 2024-VJEPA世界模型.md 與 2024-Sora世界模型.md 提供對照:Gemini 走「理解」路線,Sora/V-JEPA 走「模擬/預測」路線——兩者最終在 2025 的世界模型上匯流。
- 回望主線:1890 聯想主義→1943 邏輯神經元→1986 反向傳播→2017 Transformer→2022 ChatGPT→2024 原生多模態——智慧的載體從「文字」擴張到「全部感官」。
關鍵人物與文獻#
- Gemini Team, Google DeepMind:Gemini: A Family of Highly Capable Multimodal Models, 2023(技術報告)。
- Gemini 1.5 Team:Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context, 2024。
- Demis Hassabis:DeepMind 執行長,原生多模態路線的推手。
- Radford et al., Learning Transferable Visual Models From Natural Language Supervision(CLIP), 2021——對齊路線的起點。
- Alayrac et al., Flamingo: a Visual Language Model for Few-Shot Learning, 2022。
- Driess et al., PaLM-E: An Embodied Multimodal Language Model, 2023。
- 相關案件:2021-CLIP多模態對齊.md、2023-GPT-4多模態.md、2024-VJEPA世界模型.md、2024-Sora世界模型.md、2025-MCP智慧代理.md
補充 -- 程式實作(python + pytorch)#
本案「同一注意力撈所有模態」+長上下文大海撈針的最小可執行版本,見 _code/2024-GeminiNeedle.py(已實測可跑,CPU 約 1 分鐘;2048 選 1):
# 2024 - Gemini: P(下一token | 文字,影像,音訊全離散化); 長上下文大海撈针
import math
import torch
import torch.nn as nn
import torch.nn.functional as F
def main():
torch.manual_seed(0)
D, H = 32, 4
wq = nn.Linear(D, D, bias=False)
wk = nn.Linear(D, D, bias=False)
wv = nn.Linear(D, D, bias=False)
opt = torch.optim.Adam(list(wq.parameters()) + list(wk.parameters())
+ list(wv.parameters()), lr=1e-2)
for ep in range(250): # 世界: 2048 個 tokens 中藏 1 把鑰匙, 查詢是另一模態的同一語義
opt.zero_grad()
B, L = 8, 2048
mem = torch.randn(B, L, D)
key = torch.randn(B, 1, D)
pos = torch.randint(0, L, (B,))
for b in range(B):
mem[b, pos[b]] = key[b, 0] + torch.randn(D) * 0.05
q = key + torch.randn(B, 1, D) * 0.05
s = (wq(q) @ wk(mem).transpose(-2, -1)) / math.sqrt(D // H)
a = F.softmax(s, -1)
out = a @ wv(mem)
loss = ((out - wv(key)) ** 2).mean()
loss.backward()
opt.step()
# (評測: 新大海撈针, 命中+注意力質量, 見 _code/2024-GeminiNeedle.py 全文)
if __name__ == "__main__":
main()
執行結果(python3 _code/2024-GeminiNeedle.py,torch 2.12.0):
2048 選 1 撈针命中=3/4 針上注意力質量=0.45 (隨機≈0.0005)
結論: 原生多模態 = 同一注意力撈所有模態 -- 外掛管線做不到跨模態直連
程式解說:查詢與記憶來自不同採樣(q = key + 噪聲、藏針 key + 噪聲)——跨模態的最小骨架:同一語義、不同觀測。訓練目標是「撈出的值等於鑰匙的值」,注意力被迫學會語義匹配而非位置記憶。2048 選 1 命中 3/4、針上質量 0.45(隨機 0.0005,相差近千倍)——百萬級上下文的「工作記憶」即此機制的放大版。此即原生 vs 外掛的分野:外掛管線(CLIP 取特徵+LLM 讀特徵)做不到查詢與記憶的端對端直連;原生把一切壓成 token,一個 softmax 全撈。代價也在形狀裡:[B,2048,2048] 的注意力——百萬 token 的平方即 Gemini 的帳單。