開源大模型火爆,已有大小羊駝 LLaMA、Vicuna 等很多可選。
但這些羊駝們玩起來經常沒有 ChatGPT 效果好,比如總說自己隻是一個語言模型、沒有感情 blabla,拒絕和用戶交朋友。
歸根結底,是這些模型沒有 ChatGPT 那麽對齊(Alignment),也就是沒那麽符合人類用語習慣和價值觀。
爲此,港科大 LMFlow 團隊提出全新對齊算法RAFT,輕松把伯克利 Vicuna-7b 模型定制成心理陪伴機器人,從此 AI 會盡力做你的朋友。
相較于 OpenAI 所用 RLHF 對齊算法的高門檻,RAFT ( Reward rAnked Fine-Tuning ) 易于實現,在訓練過程中具有較高的穩定性,并能取得更好的對齊效果。
并且任意生成模型都可以用此算法高效對齊,NLP/CV 通用。
用在 Stable Diffusion 上,還能對齊生成圖片和提示詞,讓模型生成更加符合提示詞描述的圖片。
另外,團隊特别提示 RAFT 的對齊訓練過程中生成與訓練過程完全解耦。
這樣就可以在生成過程中利用一些魔法提示詞 ( magic prompts ) ,讓最終對齊的模型不需要魔法提示詞也能得到好的效果。從而大大減少了提示詞編寫的難度!
可以說,RAFT 爲 AIGC 社區的研究者和工作者提供了一種新的可選的 AI 對齊策略。
RAFT 模型對齊
OpenAI 在 ChatGPT 前身 Instruct 論文中介紹了基于人類反饋的強化學習(RLHF)算法。
首先利用人類标注數據訓練一個打分器 ( reward model ) ,然後通過強化學習算法(如 PPO)來調節模型的行爲,使得模型可以學習人類的反饋。
但 PPO 等強化學習算法高度依賴反向梯度計算,導緻訓練代價較高,并且由于強化學習通常具有較多的超參數 , 導緻其訓練過程具有較高的不穩定性。
相比之下,RAFT 算法通過使用獎勵模型對大規模生成模型的生成樣本進行排序,篩選得到符合用戶偏好和價值的樣本,并基于這些樣本微調一個對人類更友好的 AI 模型。
具體而言,RAFT 分爲三個核心步驟:
(1)數據收集:數據收集可以利用正在訓練的生成模型作爲生成器,也可以利用預訓練模型(例如 LLaMA、ChatGPT,甚至人類)和訓練模型的混合模型作爲生成器,有利于提升數據生成的多樣性和質量。
(2)數據排序:一般在 RLHF 中我們都擁有一個與目标需求對齊的分類器或者回歸器,從而篩選出最符合人類需求的樣本。
(3)模型微調:利用最符合人類需求的樣本來實現模型的微調,使得訓練之後的模型能夠與人類需求相匹配。
在 RAFT 算法中,模型利用了更多次采樣 ( 當下采樣後用以精調的樣本一定時 ) ,和更少次梯度計算(因爲大部分低質量數據被 reward 函數篩選掉了),讓模型更加穩定和魯棒。
同時,在某些情況下 , 由于有監督微調本身對于超參數敏感性更低 , 有更穩健的收斂性 , 在相同 reward 情況下,RAFT 可以擁有更好的困惑度 ( perplexity, 對應其生成多樣性和流暢性更好)。
完整算法如下所示:
定制垂直領域 GPT
作者在多個任務上進行了實驗,首先是正向影評補全。
作者實驗發現,給出一個電影評論的起始句,RAFT 微調後的大模型可以輕松補齊電影評論,而且更加積極和流暢。
如下圖所示,LLaMA 未經調整的影評會以随機概率輸出正面和負面的評論,RAFT 和 PPO 都能夠将評論的态度傾向正面。
在基于 Vicuna 制作的一個心理陪伴機器人演示中,作者模拟了一個因爲考試失利而心情低落的人和機器人在聊天。
可以看到在使用 RAFT 進行對齊之前,模型說自己沒有情感和感情,拒絕和人類交友。
但是在 RAFT 對齊之後,模型的共情能力明顯增強,不斷地在安慰人類說," 雖然我是一個 AI,但是我會盡力做你的朋友 "。
增強 Stable Diffusion
除了在語言模型上的對齊能力以外,作者還在擴散模型上驗證了文生圖的對齊能力,這是之前 PPO 算法無法做到的事情。
原始 Stable Diffusion 在 256x256 分辨率生成中效果不佳 ,但經過 RAFT 微調之後不僅産生不錯的效果,所需要的時間也僅爲原版的 20%。
對計算資源不足的 AIGC 愛好者來說無疑是一個福音。
除了提升 256 分辨率圖片的生成能力以外,RAFT 還能夠對齊生成圖片和提示詞,讓模型生成更加符合提示詞描述的圖片。
如下圖所示,給出提示詞 " 莫奈風格的貓 ",原始的 stable diffusion 生成的圖片裏,大多數沒有貓,而是生成了 " 莫奈風格 " 的其他作品,這是由于 " 莫奈作品 " 中鮮有貓的身影,而 stable diffusion 沒有完全理解文本的含義。
而經過 RAFT 微調後,stable diffusion 認識到 " 貓 " 的概念,所以每張圖片裏都會有貓的身影。
RAFT 來自香港科技大學統計和機器學習實驗室團隊,也是開源 LMFlow 模型微調框架的一次重大升級。
LMFlow 包括完整的訓練流程、模型權重和測試工具。您可以使用它來構建各種類型的語言模型,包括對話模型、問答模型和文本生成模型等。
自框架發布兩周以來,LMFlow 團隊仍在進行着密集的叠代,并在 4 月 9 号正式上線了 RAFT 算法,補齊了 AI 對齊的訓練流程。
LMFlow 框架的逐步完善,将更加便利于科研人員和開發者在有限算力下微調和部署大模型。
論文:https://arxiv.org/abs/2304.06767
GitHub:https://github.com/OptimalScale/LMFlow
文檔: https://optimalscale.github.io/LMFlow/examples/raft.html