全模態對齊框架align-anything來啦:實現跨模態指令跟隨
本開源項目由北京大學對齊小組開發並進行長期維護,團隊專注於人工智能系統的安全交互與價值對齊,指導老師爲北京大學人工智能研究院楊耀東助理教授。核心成員包括吉嘉銘、周嘉懿、邱天異、陳博遠、王愷樂、洪東海、樓翰濤、王旭堯、陳文琦、張釗爲、汪明志、鍾伊凡等。
團隊就強化學習方法及大模型的後訓練對齊技術開展了一系列重要工作,包括 Aligner(NeurIPS 2024 Oral)、ProgressGym(NeurIPS 2024 Spotlight)以及 Safe-RLHF(ICLR 2024 Spotlight)等系列成果。近期,團隊針對 OpenAI o1 技術的深入分析累計點擊量已超過 15 萬。
在當前 AI 領域的快速發展中,「有效加速」和「超級對齊」已經成爲兩個主要的發展動向,它們深刻影響着研發方向和投資決策。前者以 OpenAI 爲代表,後者則得到了包括 Llama 等諸多開源模型的支持。
2024 年 9 月 25 日,MetaAI 發佈了 Llama 3.2 後,北京大學一支團隊迅速跟進,用自研的全球首個全模態對齊框架「Align Anything」對 Llama 3.2 進行了微調,表現出了比 Meta 微調的 Llama-3.2-11B-Vision-Instruct 更強的對齊性與指令跟隨性。
爲進一步促進社區的多模態對齊研究,日前,該團隊以將「Align Anything」框架進行開源。通過該框架,研究人員不但可以利用該框架進行多模態模型的對齊實驗,提高模型的訓練和評估效率,還可以用該框架微調各種大模型,提升在特定任務上的表現。該框架的推出,對探索全模態大模型與人類的意圖相對齊、研究如何通過不同對齊算法讓模型輸出更符合人類預期和價值觀具有重要意義。
該框架的獨特之處在於:
1)Align-Anything 框架支持文本、圖像、音頻、視頻等多種模態的輸入和輸出對齊,這在目前開源社區中是獨一無二的。它填補了現有框架僅支持單一模態或少數模態對齊的空白,爲全模態大模型的對齊提供了統一和通用的解決方案;
2)框架實現了包括 SFT、DPO、PPO、SimPO 等超過 6 種對齊算法,支持從文本到文本、文本加圖像到文本、文本到圖像、文本到音頻、文本到視頻等多種模態的微調。研究者可以輕易地在任意至任意的模態上擴展新的對齊算法;
3)同時發佈首個全模態人類偏好數據集 Align-Anything,提供詳細的人類偏好註釋以及用於批評和改進的精細語言反饋,在增強模型的多模態理解能力的同時,從而實現跨模態的全面評估和改進。
全模態大模型與全模態對齊
大模型性能的最後一塊拼圖
人類在日常生活中接收到的信息往往是全模態的,不同的感官渠道能夠互相補充,幫助我們更全面地理解和表達複雜的概念。這種全模態的信息流對大模型範式轉向通用人工智能也同等重要,研究人員開始嘗試將大語言模型進行模態擴展,得到不僅能夠處理語言,還可以理解並生成圖像、音頻、視頻等多種信息的全模態模型,如 GPT-4o、Chameleon 等。也包含目前最爲流行的開源視覺語言模型,Llama-3.2-Vision。
以 Llama-3.2-Vision 爲代表的大語言模型多模態化已是大勢所趨,而支持任意的模態輸入並生成任意模態的輸出的全模態大模型將成爲未來的里程碑。如何將全模態大模型與人類的意圖相對齊,已成爲一個極具前瞻性且至關重要的挑戰。然而,隨着模態的增加,輸入輸出空間的分佈更加廣泛,並增加了幻覺現象,使得全模態對齊變得更加複雜。
在不到兩週的時間內,北大對齊小組基於 Llama-3.2-Vision 的 11B 預訓練版本進行後訓練 (Post-Training) 對齊微調得到 Beaver-Vision-11B,表現出了比 Meta 微調的 Llama-3.2-11B-Vision-Instruct 更強的對齊性與指令跟隨性。
例如被問到「圖中的拉麪來自於何家餐廳?」這個問題時,Llama-3.2-11B-Vision-Instruct 沒有準確識別出餐具中的「一蘭」字樣,將餐廳錯誤地解讀爲「Ippudo」;專家模型 GPT-4o 識別準確,但提供的回答並不詳細具體。而 Beaver-Vision-11B 既準確地識別出了餐廳,還提供了細緻的思考與推理過程。
在 Meta 並未披露 Llama-3.2-11B-Vision-Instruct 對齊技術細節情況下,北大對齊小組願開源數據、訓練、模型、評估的全流程,爲全模態對齊研究貢獻力量。
對齊框架:Align-Anything 詳解
Beaver-Vision-11B 的背後是北大對齊小組在數據、模型、算法、框架和評估五大維度進行的深入原創探索 —— Align-Anything 框架,它致力於使全模態大模型與人類意圖和價值觀對齊,這裡的全模態包括文生文、文生圖、文圖生文、文生視頻等任意到任意的輸入與輸出模態。
關於全模態大模型對齊的定義和里程碑的更多細節,可以參閱北大對齊小組發佈的 AI 對齊綜述。
總體而言,該框架具有以下特點:
align-anything的框架示意圖
訓練框架
北大對齊小組設計了高度模塊化、擴展性以及簡單易用的對齊訓練框架,支持由文本、圖片、視頻、音頻四大基本模態衍生出的任意模態模型對齊微調,並驗證了框架對齊算法的實現正確性。
模塊化
對齊代碼實現高度可複用。Align-Anything 的設計思路是模態與算法的解耦合。例如,對於 DPO 算法,其損失函數的實現可被抽象爲:提升 chosen 答案的概率,降低 rejected 答案的概率。這一思想是模態無感的。
Align-Anything 在模態擴展的過程中儘可能地複用了相同的框架,這樣既能夠突出不同模態間算法實現的差異性,也便於用戶在新的模態上擴展算法。
擴展性
模型與數據集註冊高度可定製。多模態大模型的迭代日新月異,新模型、新數據集層出不窮。這要求對齊框架具備高度的可擴展性,便於用戶快速地將新模型或新數據集僅通過幾行代碼註冊進框架中。
對於新數據集的註冊,Align-Anything 提出了一個名爲「template」的數據集鍵值轉換規則。無論 prompt 對應的鍵名是「prompt」還是「question」,無論 response 對應的鍵名是「response」還是「answer」,「template」機制都支持用戶通過簡單構建映射規則的方式完成鍵值解析和轉換,避免用戶單獨實現複雜的數據預處理代碼。
易用性
用戶指南與代碼傳參高度可復現。對齊算法的訓練啓動往往涉及複雜的路徑與訓練超參數傳遞,而隨着模態數的增多,算法訓練啓動愈發複雜,新用戶往往難以快速上手。爲此,北大對齊小組爲 Align-Anything 開發了詳盡的使用說明文檔。
這份說明文檔爲已支持模態的每個對齊算法都提供了一份可以直接複製粘貼並運行的啓動腳本。示例是最好的入門教程,通過運行這些示例,用戶可以快速啓動訓練。
進一步,北大對齊團隊提供了細緻的訓練超參數傳遞規則解析,告知用戶有哪些訓練超參數可傳入,以及如何傳入,這些設計將爲用戶調試多模態大模型對齊實驗提供極大便利。
正確性
北大對齊小組在他們構造的全模態對齊數據集上,測試了 Align-Anything 在多種模態的任務和模型上的對齊表現。他們發現對齊算法能夠大幅提升模型的指令跟隨能力,並且在多種開源榜單上進行了驗證,這些實驗結果既包含了 LLaVA 等經典的視覺語言模型,也涵蓋有最新由 Meta 開源的 Chameleon 系列模型:
除了最經典的圖文模態,北大對齊小組還在時新的音頻文本混合模態上進行了對齊的有效性驗證。Qwen2-Audio 是截至目前效果最好的開源音頻文本混合模型之一,已在 AIR Bench 等多種類型的評測榜單上取得 SOTA 的表現。Qwen2-Audio 的技術報告中提到了對齊算法 DPO 在後訓練(Post-Training)階段的重要作用,然而,目前社區並不支持對於該模型的對齊微調。
北大對齊小組開源了首個對 Qwen2-Audio 的 DPO 算法的實現,並在 AIR Bench 的多個維度上進行測試,在音頻文本上百尺竿頭更進一步,相較於 Qwen2-Audio 取得了明顯的提升:
評測框架
北大對齊小組精心設計了高度解耦合的多模態對齊評測框架,提供多種模態評測,支持多種推理後端,具有高度可擴展性,以滿足多樣化的多模態模型評測需求。
多種模態評測
Align-Anything 評估框架現已適配了超過 30 個常用基準測試,涵蓋了 Text ⇒ Text、Text + Image ⇒ Text 以及 Text ⇒ Image 等模態類別。此外,Text + Audio/Video ⇒ Text 和 Text ⇒ Audio/Video 的基準測試也已完成內部開發。
下表列舉了部分框架中已經適配的基準測試:
多種推理後端
考慮到 Transformers 框架和 Diffusers 框架對模型支持之間的差異,Align-Anything 的評測框架將推理和評估過程進行了解耦合,並支持使用不同的後端進行推理。在多模態理解任務和多模態生成任務中,框架分別採用 Deepspeed 和 Accelerate 作爲推理後端,以適配不同模型結構的推理需求。
此外,Align-Anything 評測模塊還提供了使用 vLLM 進行推理的接口,適配 vLLM 框架的模型能夠在評測中實現推理加速。
高度可擴展性
爲了方便集成自定義評測集,Align-Anything 對評測框架進行了高度解耦。該框架主要由 DataLoader、Generator 和 Evaluator 三部分組成。DataLoader 負責加載和預處理多種評測集,轉化爲適合推理的數據格式;Generator 負責使用不同的推理框架生成結果;Evaluator 則對生成的結果進行評估並輸出評分。
如果開發者僅需更換評測集,而無需更改推理框架和評估方式,只需將新的評測集適配到 DataLoader 中即可完成集成。
對齊綜合示例:指令跟隨提升
全模態人類偏好數據集:Align-Anything
北大對齊小組同時發佈了首個全模態人類偏好數據集 Align-Anything。與專注於單個模態且質量參差不齊的現有偏好數據集不同,Align-Anything 提供了高質量的數據,包括了混合輸入和輸出中的任何模態,旨在提供詳細的人類偏好註釋以及用於批評和改進的精細語言反饋,從而實現跨模態的全面評估和改進。
總的來說,該數據集具有如下特徵:
與現有數據集的對比
我們的世界本質上是多模態的。人類通過多種感官感知世界,語言模型也應該以類似的方式運作。然而,由於不同模態數據的可用性和多樣性,當前多模態基礎模型的開發面臨限制。具體來說,挑戰包括:
表中的首選項註釋方法由三個部分組成:
通過和目前現有偏好數據集的對比,北大對齊小組發現雖然隨着大模型的能力逐漸向越來越多模態遷移,目前偏好數據集卻缺乏細粒度的反饋維度且涵蓋模態較少,同時缺乏一個合理的結構和紐帶,將跨模態偏好數據集組織起來。
數據集的呈現
爲了能夠應對上述提到的挑戰,在數據集的構建階段,北大對齊小組開創性地將數據集的呈現分爲三個模塊,通過語言反饋標註作爲彌合模態之間鴻溝的橋樑,承載任意模態上的人類細粒度偏好反饋:
同時,他們還演示了基於多模態特性優化數據集質量的多步驟流程:
從流程圖可以看到,首先設計針對各種模態量身定製的特徵,根據特定的模態任務及其相應的特徵,以優化部分較低質量的原始提示,以得到最終版本的問題,同時從多個來源收集回答(包括根據特性構造偏序問答對、調用開源和閉源模型以及使用人工生成答案)。
接着對收集到的問答對使用目前 SOTA 閉源模型和專業標註人員進行細粒度的偏好標註。標註過程涵蓋各種維度,每個維度都有相應的偏好回答選項和評分標準。
最後,針對各個模態任務特性,提供有關回答的語言反饋(包括批評和優化)。這裡的語言反饋流程分爲三步:確定批評的範圍、對相應需要批評的範圍進行反饋,以及對整個反饋過程提供優化建議。這樣的語言反饋流程範式捕獲了跨模態的直接偏好和基於語言的反饋,確保對響應進行全面評估和優化。
對齊算法:從全模態語言反饋中學習
爲了解決全模態的統一對齊,北大對齊小組通過更豐富的信息內容實現更精確、細粒度的全模態對齊,需要從數據多樣性和反饋機制統一性兩個方面深入探索和優化:
傳統對齊方法依賴單一模態數據,無法滿足全模態模型對齊的複雜需求。需要引入更豐富和複雜的反饋模態,如結合圖像、音頻、視頻等多種模態的信息,使反饋內容更加立體和多元化。這種全模態反饋能呈現更多維度的信息,幫助模型更好地理解和捕捉不同模態之間的相互關係,提高對齊的精準度;
當前不同模態之間的反饋形式不統一,導致對齊過程中協調性差。設計一種通用的反饋建模與收集機制,允許人類提供自由形式的反饋,無論是文字描述、圖像標註還是語音指令。開發高效的反饋處理機制,將任意模態上的人類反饋轉換爲細粒度監督信號,對全模態的反饋進行統一建模處理,使其在模型訓練中具有一致性;
如何利用好語言反饋的豐富信息賦能全模態對齊,是北大對齊團隊重點關注的關鍵科學問題。爲此,他們提出了從語言反饋中學習的範式(Learning from Language Feedback, LLF)。
LLF 範式主要包含四大環節:
1. 評論模型建模:使用交叉熵損失函數,令多模態大模型擬合數據集中的語言反饋,作爲評論模型。訓練完成的評論模型將對輸入的問答對提供評論。
2. 模型自提升:令初始模型在給定好 prompt 的數據集上生成一系列 response,再利用評論模型對此生成的評論,令初始模型針對自身的 response 進行修正。
3. 獎勵建模:將修正後的 response 與原先的 response 拼接,組成偏序對,進行獎勵建模,或是 DPO 微調。
4. 強化學習微調:基於訓練好的獎勵模型,完成完整的強化學習微調流程。
北大對齊小組希望 LLF 能夠通過語言反饋提取出更加豐富的偏好信息,從而提升多模態大模型的指令跟隨能力。他們已在圖文模態上展開了前期探索,驗證了這套路徑的可行性。北大對齊小組將在更多模態上實踐這一範式,針對語言反饋賦能全模態對齊開展更具實證性的研究。
基於 Align-Anything 框架
實現 Llama-3.1 的模態增加
Align-Anything 提供了一套全面的工具和教程,用於構建和訓練基於 Llama 的多模態語言模型。項目提供了整合視覺(CLIP)和聽覺(CLAP)模態的詳細教程,涵蓋從模型構建、分階段訓練到多數據集聯合訓練的高級技巧。
項目同時也開源了構建後的模型參數和使用示例。該實例旨在幫助開發者基於自身的私有數據構建和定製多模態大語言模型。
部分測試樣例結果爲:
基於 Align-Anything 框架
實現 Chameleon 全模態激活與對齊
北大對齊小組基於 Meta 的 Chameleon-7B,使用了 laion-art 數據集激活了 Chameleon 模型的圖像生成能力,並開源了以這個方式訓練得到的 AA-Chameleon-7B-Base 模型。他們隨後使用 Align-Anything 數據集的圖文聯合數據對該模型進行對齊,開源了 AA-Chameleon-7B-Plus 模型。
同時,北大對齊小組也開源了首個對 Chameleon 進行圖文模態輸入 / 輸出的 DPO 與 PPO 兩大經典對齊算法的實現。
對齊過程中,北大對齊小組選用了包含指令跟隨、物理規律、文字清晰度、圖像美學性、模態聯動和信息豐富程度等多維度的偏好數據,達到了較好的效果。對齊後模型的文生圖能力和圖文聯合輸入 / 輸出能力都有較大的提升:
在圖文聯合輸入 / 輸出評測中,對齊後模型和對齊前模型比較,GPT-4o 評測勝率超過 80%。以下爲對齊前後的一些實例比較:
基於 Align-Anything 框架
對 Llama-3.2-11B-Vision
進行指令跟隨對齊
Llama-3.2-11B-Vision 是最新 Llama-3.2 系列中以圖文問答見長的模型,北大對齊小組使用他們提出的 Align-Anything-Instruct 數據集對該模型進行了細緻的指令微調,得到了 Beaver-Vision-11B。
該模型在多個開源評測榜上超越了 Meta 官方發佈的指令微調版本 Llama-3.2-11B-Vision-Instruct,表現出了更強的指令跟隨能力與圖像識別能力。