OFA:朝向構建一個全能模型
OFA(One-For-All)是一個統一的多模態預訓練模型,旨在將不同模態的理解與生成任務整合到單一框架中。透過指令式多任務預訓練,OFA 目標是打造一個通用模型,能在不需要針對不同任務改變架構的情況下處理多樣的輸入與輸出。
統一的模態、架構與任務框架
OFA 透過三大核心支柱實現通用能力:模態無關、任務無關與任務完整性。
模態統一
為了處理多樣的輸入,OFA 將非文字模態離散化為 token。影像使用 VQ(向量量化)token 表示,邊界框則以分箱方式離散化,遵循 pix2seq 方法。這使模型能將所有模態視為 token 序列。
架構統一
OFA 採用類似 T5 的通用 Transformer 編碼器‑解碼器架構。為了處理影像輸入,模型使用 ResNet 的前三個 block。為提升訓練穩定性與遷移效能,架構中加入了 Normformer。
任務統一
OFA 以指令式多任務學習方式進行預訓練。模型在八項不同任務上進行訓練:
- 視覺‑語言任務(5): 視覺定位、具體說明生成、視覺問答(VQA)、影像‑文字匹配與影像說明。
- 視覺任務(2): 目標檢測與影像填補。
- 語言任務(1): 文字填補。
指令以文字說明的形式插入,協助模型區分這些任務,從而在給予新指令時具備對未見任務的零樣本生成能力。
模型變體與規模
OFA 釋出五種不同規模的模型,以滿足各種部署與研究需求:
- OFA‑Tiny: 3300 萬參數
- OFA‑Medium: 9300 萬參數
- OFA‑Base: 1.8 億參數
- OFA‑Large: 4.7 億參數
- OFA‑Huge: 9.3 億參數
效能與實驗結果
OFA 在多模態與單模態基準測試中展現競爭力,常常與專門模型持平或超越。
多模態能力
- 視覺‑語言理解: OFA‑Huge 在 VQA 與 SNLI‑VE 上的表現可與 Flamingo(800 億參數)與 CoCa(20 億參數)相媲美,且在視覺蕴含任務上達到最佳成績。
- 視覺‑語言生成: OFA 在影像說明任務上於交叉熵與 CIDEr 優化下皆取得最先進(SoTA)表現。於視覺定位任務中,Base 規模模型超越先前的 SoTA,且效能隨模型大小穩定提升。
- 文字轉影像生成: 由於在影像填補上的預訓練,OFA 能生成影像代碼並取得低 FID 分數,透過在更大資料集上微調可進一步提升。
單模態能力
- 自然語言理解(NLU): 在 GLUE 基準上,OFA 與 RoBERTa、DeBERTa 競爭。
- 自然語言生成(NLG): OFA 在 Gigaword 摘要任務上表現優異,超越先前的多模態預訓練模型。
- 視覺理解: 在 ImageNet 分類上,OFA 的表現與 BeiT、MAE 等自監督視覺模型相當。
組合概括與遷移
OFA 展示了將已學能力遷移至未見任務與領域的組合概括能力。
- 未見任務: 研究者提出「具體 VQA」這一結合 VQA 與具體說明的新任務。僅透過更換指令,OFA 即可利用既有能力完成此任務。
- 未見領域: OFFA 能有效遷移至未見領域,例如在動畫圖像上執行視覺定位,這得益於其在動畫資料與通用領域視覺定位上的預訓練結合。
結論
OFA 模型證明單一基於 Transformer 的框架即可統一任務與模態,為多模態表徵學習中通用基礎模型的發展提供了有前景的路徑。