Starling-7B: RLAIF で LLM の有用性と無害性を向上させる

  • お馴染みのLMSYS Chatbot Arena ELOランキングが更新されていました。

 

  • Claude 3シリーズのレーティングの高さも目を引く一方、Mistral 7BベースのStarling-LM-7B-Betaが小型モデルとしては際立ったスコアを示しています。
    • これはStarling-LM-7B-alphaの後継として今年3月にリリースされたモデルです。前モデル同様、Mistral 7BベースのOpenchat-3.5をもとに、ポリシー最適化でファインチューンしたモデルです。
    • サンプル数が少ないので暫定ですがArena ELOレーティングはClaude 2相当で、GPT-3.5/Mixtral 8x7B/Gemini Proを上回っています。
    • もちろんコーディングや計算/推論、多言語スキルなど含めた汎用性能では大型モデルに劣ると思いますが、7Bモデルでも特定の用途(ここでは英語チャットボット)に特化すれば高性能に到達できるというのは面白いです。
  • 個人的には、Starling-LM-7B-Alphaは受け答えがあまりに「疑似ChatGPT」感があって敬遠した記憶があるのですが、改めて興味を持ったので当時のStarling-LM開発チームのブログ投稿(Alphaリリース時のもの)に目を通してみました。

"Starling-7B: RLAIF で LLM の有用性と無害性を向上させる"

starling.cs.berkeley.edu

概要

教師あり微調整(SFT)は、特にChatGPT/GPT-4(Alpaca、Vicuna、OpenHermes 2.5、Openchat 3.5を含む)から抽出された高品質なデータを活用する場合、言語モデルからチャットボットシステムを開発する際に顕著な効果を発揮します。しかし、人間のフィードバックからの強化学習(RLHF)やAIのフィードバック(RLAIF)が、高品質な嗜好データをスケーリングする際に、どの程度モデルを強化できるかは、未解決の問題のままです。Zephyr-7B、Neural-Chat-7B、Tulu-2-DPO-70Bなどのオープンソースコミュニティにおける初期の試みは、直接選好最適化(DPO)を採用していましたが、OpenHermes 2.5やOpenchat 3.5のような主要なSFTモデルと比較した場合、MT Bench(およびChatbot Arenaの一部)でのパフォーマンスは、RLHFの可能性を十分に示すものではありませんでした。

RLHFのより詳細な研究を促進するためには、チャットに特化した高品質のランキングデータセットが不可欠です。私たちは183KチャットプロンプトからなるGPT-4ラベル付きランキングデータセットNectarを公開します。各プロンプトはGPT-4、GPT-3.5-instruct、GPT-3.5-turbo、Mistral-7B-Instruct、Llama2-7Bのような様々なモデルから抽出された7つの回答を含み、合計380万のペアワイズ比較を提供します(GPT-4に順位を求める際、位置の偏りを軽減するためにかなりの努力が払われましたが、その詳細は以下のデータセットのセクションで詳しく説明します)。

オープンソースの報酬モデルは著しく少ないのが現状です。我々は、NectarデータセットのKワイズロスで学習させた報酬モデルStarling-RM-7B-alphaを公開することで、このギャップに対処します。

私たちは学習した報酬モデルを使用して、Openchat 3.5の言語モデルを微調整しました。その結果、MT-Benchのスコアは7.81から8.09に、AlpacaEvalのスコアは88.51%から91.99%に向上しました。どちらの指標もチャットボットの有用性を評価するものです。

メモ

  • 「RLAIF」とは「人間のフィードバックからの強化学習(RLHF)」をAIで代替した「AIのフィードバックからの強化学習」を指す。
  • RLHF/RLAIFは、すでに教師あり微調整(SFT)を済ませたモデルに対し、学習の最終工程として行うもの。AIチャットボットとして人間の嗜好にあった好ましい回答ができるようにポリシー最適化する。
  • Starling-LM-7B-alphaの具体的な作成手順は以下の通り。まず、様々な言語モデルによって同一のプロンプトに対する7つの応答パターンを出力させる。

  • 次に、その7応答に対してGPT-4に「回答としての好ましさ」を評価させ、順位付けする。このプロセスにより、著者らはNectarという183Kのランキングデータセットを作成している。
  • さらに、このランキングデータセットをもとに報酬モデル(Reward Model)を作成する。ここでは、Llama-2-Chat-7BにNectarデータセットで追加学習させ、Starling-RM-7B-alphaという報酬モデルを作出している。

  • 最後に、教師あり微調整でトレーニング済みの初期モデル(ここではMistral 7B v0.1をSFTしたOpenchat-3.5)に対し、先ほどの報酬モデルを用いたポリシー微調整を施し、Starling-LM-7B-alphaが完成する。
  • なお、この研究では複数のポリシー最適化の手法を予備実験によって比較検討している(DPO、APA、PPO、P3O)。
    • DPOは実装がシンプルで、事前に収集されたオフラインの嗜好データセットに基づいて言語モデルを直接更新する。手軽でありローカルLLMコミュニティでもよく用いられる。
    • 対照的に、PPOなどのオンラインRL手法では、現在の言語モデルを使用して新しい応答をサンプリングし、トレーニング済みの報酬モデルを使用して新しい応答にスコアを付け、新しい応答の報酬情報を使用して言語モデルを更新する。PPOのパラメータ最適化については試行錯誤が必要。
    • DPOを用いた予備実験では、初期モデルOpenchat 3.5と比べて大幅な改善は見られなかった。Openchat-3.5自体がC-RLFTというオフラインの嗜好に基づく強化学習を受けたモデルであり、機能的に類似したDPOの重ね掛けでは追加的な効果が得られなかった可能性がある。
    • この研究では最終的に、報酬モデルを用いたPPOの派生手法であるAPAによって学習したチェックポイントを採用した。
  • ここでのポリシー最適化は、トレーニング速度の向上のためモデルの最後の4層のみを解凍して行っている。モデルは、バッチサイズ28、合計10,000ステップで8個のA100 GPUでトレーニングされた。

Starling-7B-alphaとStarling-7B-betaの違い

  • 上述のブログ記事は、Starling-7B-alpha公開時のもので、後継モデルであるbetaではいくつかの点で事情が異なっています。
  • Starling-LM-7B-betaでは、Yi-34Bベースの新たな報酬モデルStarling-RM-34Bを作成し、さらにポリシー微調整にはAPAではなくPPOを採用しているようです。