JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

視覺指令微調:從看圖說話到智慧助理

預訓練教模型對齊;指令微調教它幫忙。建立資料、交錯圖文、把答案錨定到區域,並讀懂文件。

對齊與有用之間的鴻溝

只見過圖文對的模型是個流利的看圖說話者:你問它什麼,它都傾向於描述。但使用者要的是對話夥伴——「比較這兩張圖表」「這個迷因為什麼好笑?」「把收據抄下來並結算總額」。彌合這道鴻溝正是視覺指令微調的工作:在圖像錨定的對話上做一輪監督式微調,直接承襲把基礎 LLM 變成助手的指令微調做法。

指令資料從何而來

LLaVA 背後的自舉技巧:你通常沒有人工撰寫的多模態對話,但你確實有附帶豐富影像標註的資料集——描述、物件框、區域說明。把那些文字標註(沒有像素)餵給一個強大的純文字 LLM,請它就場景虛構出多樣的問答對話。文字 LLM 從未看過影像,但因為標註忠實,生成的對話便有依據。接著你在(影像,生成對話)對上訓練 VLM。

  1. 收集附帶密集標註的影像(描述 + 框 + 區域文字)。
  2. 提示一個文字 LLM 寫出三類回合:對話式問答、詳細描述、複雜推理。
  3. 篩選忠實度——丟掉任何標註無法支持其斷言的回合——再在這些對上微調已橋接的 VLM。
p_\theta(\mathbf{X}_a \mid \mathbf{X}_v, \mathbf{X}_{\text{ins}}) = \prod_{i=1}^{L} p_\theta\!\left(x_i \mid \mathbf{X}_v,\ \mathbf{X}_{\text{ins}},\ \mathbf{X}_{a,<i}\right)

视觉指令微调最大化在图像和指令条件下答案词元的似然。

交錯圖片與文字

真實文件不是一張圖配一個問題——而是網頁、教科書與聊天紀錄,其中圖與字自由交替。交錯圖文建模把整體當成單一序列,影像佔位符落在它們出現的任何地方,並訓練模型在兩種模態上預測下一個 token。這正是解鎖情境內多模態能力的關鍵:在提示中展示兩個做過的視覺範例,模型就能為第三個接上同樣的模式——這是少樣本提示的多模態對應。

交错排列把图像块和文字词元放进同一个序列,使模型按出现顺序读取图片和文本。

文本转为词元编号和嵌入向量的示意图,扩展到交错的图像与文本词元。

把答案錨定到區域

「有用」往往意味著指出來,而不只是描述。視覺錨定是把一個詞組所指的影像區域定位出來的能力——「左邊那個小孩拿著的傘」。現代的技巧簡單到令人卸下心防:把一個邊界框序列化成文字,例如 `[x0,y0,x1,y1]`,讓模型在答案中把座標當成普通 token 吐出來。如此一來,錨定、指涉表達理解、甚至偵測,都成了下一個 token 預測的特例,從錨定的指令資料中學會。

User: Where is the dog?  <image>
Model: The dog is on the sofa <box>[412,233,690,540]</box>.
把座標當成文字 token 吐出,就讓錨定變成普通的生成。
把框坐标作为文字词元输出,使定位只是自回归生成的又一步。

逐个生成词元的自回归循环,此处包含表示边界框的坐标词元。

讀懂文件、圖表與截圖

真實價值有很大一塊是多模態文件理解:在表單、表格、圖表與 UI 截圖上回答問題,而其中版面配置本身承載意義。前沿做法是免 OCR 的——與其跑一個獨立的文字辨識器並失去空間結構,VLM 直接讀像素,學會對字符、位置與圖形聯合推理。瓶頸在解析度:小字體需要許多高解析 token,這正是上一篇的重採樣與切塊橋在此如此重要的原因。

N_{\text{tok}} = \left\lfloor \tfrac{H}{p} \right\rfloor \cdot \left\lfloor \tfrac{W}{p} \right\rfloor

视觉词元数量随分辨率增大、随图块尺寸增大而减少——词元太少,坐标轴标签根本无法辨认。