對應原題(Common ‧ Multimodal, Speech and Voice AI)

  • How do vision-language models get images into an LLM: projector, cross-attention, or native tokens?
    — Asked at: Meta, Alibaba
  • What changes when you move from images to video? — Asked at: Meta
  • How would you build multimodal retrieval over images, video and text in one index?

🎯 什麼情境該想到我

當你「要接一個看得懂圖的模型、或想知道為什麼傳圖片特別貴」的時候。

⚙️ Part 1:圖片怎麼進 LLM

三種架構

① Projector / Adapter(LLaVA 式)
   圖 ─▶ ViT ─▶ [MLP 或 Q-Former] ─▶ 視覺 token ──┐
                                                  ├─▶ LLM(架構不變)
   文字 ─────────────────────────▶ 文字 token ──┘
   ★ 視覺被「翻譯」成 LLM 聽得懂的 token,佔用上下文

② Cross-Attention(Flamingo 式)
   圖 ─▶ ViT ─▶ 視覺特徵 ──┐
                            ▼
   文字 ─▶ LLM 第 k 層 ─▶ [插入的 cross-attn] ─▶ 第 k+1 層 ─▶ ⋯
   ★ 視覺不佔文字的上下文,但要改 LLM 架構

③ Native / Early Fusion(原生多模態)
   圖 patch 與文字 token 從「預訓練階段」就混在一起訓
   ★ 沒有「接上去」這回事,它天生就是多模態的

★ 對照表

① Projector② Cross-Attention③ Native
是否改動 LLM 架構❌ 不改✅ 插入新層✅ 從頭設計
訓練成本最低(可只訓 projector)中最高(要重新預訓練)
佔用文字上下文✅ 會 —— 一張圖幾百到幾千 token❌ 不會✅ 會
可處理多張圖⚠️ 受上下文限制✅ 很多張(Flamingo 的動機)✅
模態互動深度淺(只在輸入層)中(每隔幾層)最深
能力上限中中高最高
代表LLaVA、多數開源 VLMFlamingo、Llama 3.2 Vision新一代前沿多模態模型(截至 2026-10 的判斷)

★ 面試的一句話總結:
「Projector 用上下文預算換訓練成本,cross-attention 用架構複雜度換上下文預算,native 用預訓練成本換能力上限。」

★ 兩個關鍵細節

1. Token 數:一張圖有多貴
336×336 的 CLIP ViT-L/14,patch 是 14×14 → 24×24 = 576 個 patch → 576 個視覺 token。

高解析度是 VLM 的核心難題:ViT 的輸入解析度是固定的,但真實圖片(截圖、文件掃描、圖表)需要高解析度才看得清文字。
主流解法是 AnyRes / 切 tile:把大圖切成多塊各自過 ViT,再加一張縮圖。
→ 代價:token 數線性暴增。一張 1024×1024 的圖可能要數千 token。

★ 這直接影響成本與延遲:圖片的 prefill 成本遠高於同等「資訊量」的文字(見 Prefill 與 Decode)。
「為什麼傳圖片這麼貴」的答案就在這裡。

2. 2D 位置資訊
文字是 1D 序列,圖片是 2D。要讓模型知道 patch 的空間關係,需要 2D 位置編碼(或 2D 版的 RoPE,見 位置編碼與 RoPE)。切 tile 之後跨 tile 的位置關係尤其難處理。

⚙️ Part 2:從圖片到影片,多了什麼

#新增的問題說明
1★ Token 爆炸30 fps × 60 秒 = 1,800 幀。每幀 576 token → 超過一百萬 token。
→ 必須抽幀:均勻抽樣 / 關鍵幀 / 場景切換偵測;再加時間維度的 token 池化或壓縮
2★ 時序推理「他先拿起杯子還是先開門?」——單幀無法回答。需要跨幀的因果與順序理解
3時間定位「這件事發生在第幾秒?」——要能輸出時間戳,不只是描述內容
4音訊軌影片通常有聲音。是要 ASR 轉文字,還是原生處理音訊?(見 級聯與原生語音)
5長度兩小時的影片無法一次進上下文。需要階層式處理:分段理解 → 段落摘要 → 全片彙整
6評估更難影片描述沒有唯一正確答案;時序推理的評估集稀少
7資料稀缺高品質的「影片 + 細緻標註」遠少於「圖 + 文」

★ 最核心的一句:影片不是「很多張圖」,差別在於「時間」這個維度要被明確建模。
均勻抽 8 幀送進 VLM 能回答「影片裡有什麼」,但回答不了「發生了什麼」。

⚙️ Part 3:多模態檢索(一個索引裝圖、影片、文字)

★ 兩條路線

A. 共享嵌入空間(CLIP 式)B. 轉成文字再索引
做法圖與文映到同一個向量空間,直接跨模態比相似度用 VLM 為圖/影片生成描述文字,索引文字
優點單一索引、以文搜圖天然可行、快★ 可用成熟的文字檢索棧(BM25 + dense + rerank)、可解釋、能處理細節
缺點★ 對齊粒度粗 —— 對圖中的文字(OCR)、細節、物件間的組合關係表現弱生成成本高、描述會丟失資訊、描述的角度固定
適合「找一張有海灘的照片」「找那張顯示 Q3 營收下滑的簡報」

★ 實務答案是兩者並用,再用 RRF 融合(見 稀疏與密集檢索)。
理由和文字檢索的 hybrid 完全一樣:兩者的失效模式互補。

設計要點

要點說明
★ 影片的檢索粒度是「片段」不是「整支」索引時就切成帶時間戳的片段(依場景切換或固定長度),命中後能直接跳到該秒
保留 metadata來源、時間、拍攝資訊、周邊文字(caption、alt text、檔名、上下文段落)——周邊文字常常比影像本身更好檢索
多向量 / late interaction一張圖存多個 patch 向量(類似 ColBERT 的 MaxSim,見 Reranker 重排序),比單一向量精細
重排第一段召回後,用 VLM 當 cross-encoder 精排 top-k
★ 描述要為檢索而生成,不是為人類閱讀提示 VLM 輸出可能被查詢的關鍵詞(物件、文字、數字、場景、動作),而不是文學性描述

⚠️ 注意 / 什麼時候不適用

  • ★ 圖片的 token 成本要先算清楚。高解析度 + 多張圖很容易把上下文與帳單吃掉。先量 圖片 → token 數 的實際換算。
  • VLM 的 OCR 能力不等於 OCR 工具。文件為主的場景,專用 OCR + 版面分析常常更準更便宜(見 切塊與文件解析)。
  • ★ 圖片是注入載體。圖中的文字會被模型讀到——「隱藏在圖片裡的指令」是真實的攻擊手法(見 提示注入與分層防禦)。
  • 解析度不足會靜默失敗。模型看不清小字時不會說「我看不清楚」,它會猜。
  • 影片抽幀策略決定一切。均勻抽樣會漏掉關鍵瞬間;關鍵幀偵測會漏掉緩慢變化。要依任務選,並且要評估。
  • 跨模態嵌入模型的偏誤繼承自訓練資料(多為網路圖文對),在專業領域(醫療影像、工業檢測)通常需要另外訓練。
  • 多模態評估集稀缺,公開基準的污染也更難檢查(見 Benchmark 污染與分數失真)。

🧪 我實際套用的紀錄

  • 2026-09-20:從面試題庫展開,尚未實際套用。

🔗 相關