DPOでSmolVLMを人間中心に微調整:AIアライメントの新境地

Pyimagesearch

AIモデル、特に大規模言語モデルや視覚言語モデル(VLM)は、しばしば重大な課題に直面します。技術的には正しい応答を生成できるものの、それらの出力にはユーザーが望むような繊細で人間らしい品質が欠けていることがあります。例えば、チャットボットは正確な情報を提供するかもしれませんが、過度に機械的であったり、失礼なトーンであったりするかもしれません。また、VLMは内部の尤度スコアを最大化しているにもかかわらず、画像に無関係な詳細をキャプションとして付けるかもしれません。このようなシナリオでは、従来の教師ありファインチューニング手法は、人間の選好や主観的な有用性を考慮しないため、不十分です。

選好最適化は、人間またはプロキシの判断に基づいて、一連の選択肢の中から「より良い」応答を区別し、選択するようにモデルを訓練することで、このギャップに対処します。このパラダイムにより、モデルは明瞭さ、感情的知性、安全性といった品質を優先し、単なる流暢さを超えて、人間の意図により密接に合致する出力を生成できるようになります。

人間からのフィードバックによる強化学習(RLHF)やAIからのフィードバックによる強化学習(RLAIF)のような手法は、モデルのアライメントにおいて重要な役割を果たしてきましたが、しばしば大きな複雑さ、不安定性、高額な計算コストを伴います。直接選好最適化(DPO)は、よりシンプルでありながら効果的な代替手段として登場し、個別の報酬モデルや複雑な強化学習ループを必要とせずに、選好データから直接学習します。本記事では、DPOの原則を探求し、SmolVLMモデルの人間との整合性を向上させるためのファインチューニングにおけるその応用を実演します。

選好最適化とは?

選好最適化は、機械学習モデル、特に言語モデル(LM)や視覚言語モデル(VLM)のような生成モデルを、人間またはプロキシの評価に合わせるために設計されたファインチューニング技術の一種です。モデルは単に次のトークンを予測するのではなく、評価者(人間のアノテーターまたは別のAIモデル)によって「好ましい」と見なされる出力を生成するように最適化されます。これは、生成AIを実世界のアプリケーションでより有用、安全、かつ魅力的にするために不可欠です。

選好最適化の核心は、モデルに一対の出力(例:好ましいもの、拒否されたもの)を提示し、好ましい応答を生成する確率を高めるように内部パラメーターを調整することです。このアプローチは、厳格なルールベースのアライメントを超え、人間が得意とするが機械が本質的に学習しない定性的な判断に基づいて、きめ細かい制御を可能にします。

技術の種類

人間からのフィードバックによる強化学習(RLHF)
RLHFは、ChatGPTのようなモデルで特に使用されている、大規模言語モデルのアライメントに広く採用されている方法です。これは3段階のプロセスを含みます。

  1. 教師ありファインチューニング(SFT): 初期ベースモデルは、プロンプトと応答のペアのキュレーションされたデータセットでファインチューニングされ、基礎となるモデルを提供します。

  2. 報酬モデリング: 人間のアノテーターがSFTモデルによって生成された複数の出力をランク付けします。これらの人間のランク付けは、人間の判断を模倣して新しい出力にスコアを割り当てることを学習する別の「報酬モデル」を訓練するために使用されます。

  3. ポリシー最適化: SFTモデルは、強化学習アルゴリズム(通常は近位ポリシー最適化PPO)を使用してさらにファインチューニングされ、報酬モデルによって予測されたスコアを最大化します。

RLHFは印象的な会話能力とコーディング能力をもたらしましたが、そのパイプラインは計算負荷が高く複雑であり、複数のモデルの訓練と訓練ループ中の広範なサンプリングを必要とします。

AIからのフィードバックによる強化学習(RLAIF)
RLAIFはRLHFの構造を適応させますが、人間のアノテーターを既存の人間評価で事前訓練されたAIの「選好プロキシモデル」に置き換えます。これにより、選好判断のスケーラブルな一般化が可能になり、人間のラベリングコストが大幅に削減されます。RLAIFは反復を加速し、人間の労力を削減しますが、既存のモデルバイアスを増幅するリスクを導入します。それにもかかわらず、スケーラブルなAIアライメントを目指すプロジェクトにおいて効果的であることが証明されています。

直接選好最適化(DPO)
DPOは、人間のフィードバックに基づいて、特定の出力を他の出力よりも好むようにモデルのポリシーを直接最適化する、選好ベースのファインチューニング手法です。RLHFとは異なり、DPOは別途報酬モデルを訓練したり、強化学習アルゴリズムを使用したりする必要がありません。代わりに、好まれない応答と比較して、好ましい応答を生成するモデルの尤度を直接最適化することでプロセスを簡素化します。DPOは、単純な確率比の目的関数で発生する可能性がある、モデルの退化を防ぐ動的な、例ごとの重要度重みを組み込んでいます。

アイデンティティ選好最適化(IPO)
IPOは、正則化項を組み込むことでDPOを拡張します。この項は、モデルが参照モデル(通常は元の教師ありファインチューニングモデル)から過度に逸脱するのを抑制します。これにより、流暢さとタスク固有の知識を維持し、ノイズの多いまたはスパースな選好データへの過学習を防ぎ、アライメントがモデルのコア能力の劣化につながらないようにします。数学的には、IPOはDPO損失をアイデンティティ制約で補強し、安定性を選好学習プロセスに組み込みます。

グループ相対ポリシー最適化(GRPO)
DeepSeek-R1のようなモデルで導入されたGRPOは、応答のグループ間の相対的な選好に基づいてモデルの振る舞いを最適化する強化学習技術です。単一の報酬信号や二値の選好ペアに依存するのではなく、GRPOは特定のプロンプトに対して複数の候補応答を生成し、自動化された、ルールベースの、またはヒューリスティックなフィードバックを使用してそれらを評価します。これにより、GRPOは、数学、プログラミング、論理パズルなど、人間のアノテーションなしで正しさを判断できる検証可能な結果を持つドメインに特に適しています。GRPOは応答のグループをサンプリングし、自動化されたルールを使用してスコアを割り当て、相対的にランク付けし、その後、価値関数を必要としないPPOスタイルの更新を適用して、トレーニングを簡素化します。

直接選好最適化(DPO)の詳細

大規模言語モデルに対するRLHFスタイルのファインチューニングの主な課題は、その固有の複雑さです。報酬関数を学習し、それを強化学習によって最適化することは、しばしば不安定性、著しい計算オーバーヘッド、および実装の困難につながります。直接選好最適化(DPO)は、個別の報酬モデルを排除し、選好比較のみを使用して最終ポリシーを直接最適化することを可能にすることで、強力な代替手段を提供します。

報酬からポリシーへ:変数変換の洞察

DPOは、古典的なRLHF設定を考慮することから始まります。これは、KLダイバージェンス制約を介してファインチューニングされたポリシーを参照ポリシー(多くの場合、教師ありファインチューニングモデル)に近づけながら、期待される報酬を最大化することを目指します。この設定下での最適なポリシーは、指数化された報酬関数によって重み付けされたボルツマン分布に従うことが知られています。課題は、正確な報酬関数と正規化項が不明であり、近似にコストがかかるという事実にあります。

DPOの重要な洞察は「変数変換」です。最適ポリシー方程式の対数をとり、それを再配置することで、報酬関数をポリシー自体で直接再表現できます。この「報酬をポリシーとして捉える」見方により、DPOはこの表現をブラッドリー=テリーモデルのような標準的な選好モデルに統合することができます。このモデルは通常、与えられた入力に対する2つの応答間の報酬の「差」に依存します。ポリシーベースの報酬表現がブラッドリー=テリーモデルに代入されると、問題となる正規化項が打ち消され、モデルのポリシーで完全に表現される選好確率が得られます。

DPO目的関数

この定式化により、DPO損失は、好ましい応答と拒否された応答のペアのデータセットに対する負の対数尤度として記述できます。この目的関数は、モデルが好ましい応答の対数確率を増加させ、拒否された応答の対数確率を減少させるように直接促します。逆温度と呼ばれるハイパーパラメータが、これらの選好決定の鋭さを制御します。この目的関数は、現在のモデルのポリシーが観察された人間の選好とどの程度一致しているかを効果的に測定し、好ましい応答が拒否された応答よりも可能性が低い場合にペナルティを課します。

勾配の仕組み

DPO損失の勾配を調べることで、モデルがどのように更新されるかの機械的な理解が得られます。モデルがすでに好ましい応答を拒否された応答よりも正しくランク付けしている場合、勾配は小さくなり、最小限の調整が必要であることを示します。しかし、モデルが好ましい応答を拒否された応答よりも低く誤ってランク付けしている場合、勾配は大きくなり、モデルをより強く好ましい応答に傾けさせます。この更新メカニズムは本質的に自己修正的であり、モデルの選好逆転の深刻度に応じて動的に調整されます。

DPOの実践的な動作

DPOの実際的な実装には、主に3つのステップがあります。

  1. データセットの作成: 特定のプロンプトに対して候補となる補完がサンプリングされ、好ましい応答が特定されます。これは通常、人間のフィードバックまたはプロキシスコアリングメカニズムを通じて行われます。

  2. 参照ポリシーの設定: 参照ポリシーが確立されます。これは通常、教師ありファインチューニングモデル、または好ましい補完に対して最尤推定で訓練されたベースラインモデルです。

  3. 最適化: 標準的な勾配降下法を使用してDPO目的関数が最小化され、モデルのパラメータが選好データに直接合わせて更新されます。

DPOを用いたSmolVLMのファインチューニング

DPOの実践的な応用を示すために、Hugging FaceのSmolVLMのような視覚言語モデルをファインチューニングすることができます。この実装では、詳細な説明や質疑応答を含む多様な指示に対するきめ細かいセグメントレベルの修正を含む5,733組の人間選好ペアを含むOpenBMB RLHF-V-Datasetをアライメントに使用します。

SmolVLMの読み込みとLoRAの設定

プロセスは、事前学習済みSmolVLMモデルとその対応するプロセッサを読み込むことから始まります。ファインチューニングをより効率的で計算コストの低いものにするために、低ランク適応(LoRA)が設定され、適用されます。LoRAは、モデルの既存の重みに小さな、学習可能な行列を追加することで、完全なファインチューニングと比較して、トレーニング中に更新する必要があるパラメータの数を大幅に削減する、パラメータ効率の良いファインチューニング技術です。

データセットの読み込みとフォーマット

次に、OpenBMB RLHF-V-Datasetを読み込み、トレーニングセットとテストセットに分割します。その後、カスタムフォーマット関数を適用してデータを前処理します。この関数は、生のテキストを解析し、「ユーザー」と「アシスタント」の明確な役割を持つチャットのような形式に構造化し、選択された回答と拒否された回答の個別のエントリを作成します。モデルのプロセッサは、これらのテキスト入力にチャットテンプレートを適用するために使用されます。さらに、データセット内の画像は、処理中のメモリ不足エラーを防ぐためにサイズ変更されます。この変換により、データがDPOトレーニングに適した形式になり、各プロンプトに対して明示的な好ましい応答と拒否された応答が提供されます。

DPOファインチューニング

モデルとデータセットの準備が整ったら、DPOファインチューニングを開始できます。トレーニングパラメータはDPOConfigオブジェクトを使用して定義され、出力ディレクトリ、バッチサイズ、勾配蓄積ステップ、トレーニングエポック数などの詳細が指定されます。次に、ロードされたモデル、設定されたLoRAセットアップ、準備されたデータセット、およびトレーニング引数を使用してDPOTrainerインスタンスが初期化されます。トレーニングループが進行し、DPO損失に基づいてモデルを最適化します。トレーニング中に、モデルがテストデータセット内の選択された回答により高いスコアを割り当て始めることが観察されます。例えば、ある観察では、3エポック目の終わりまでに報酬精度が62.5%に達し、アライメントの改善が示されました。この精度は、より長いトレーニング期間と元のデータセットからのより多くのサンプルによってさらに改善されると予想されます。トレーニング後、ファインチューニングされたモデルが保存されます。

ファインチューニングされたモデルのテスト

最後に、ファインチューニングされたSmolVLMモデルをテストセットの新しい例でテストします。ユーティリティ関数は、テキストと画像の入力を準備し、モデルのgenerateメソッドを使用して応答を生成し、その後出力をデコードします。サンプル画像とプロンプトでテストしたところ、モデルが生成した応答は記述的で事実に基づき正確であり、元のデータセットの拒否された回答ではなく、好ましい回答と非常によく似ていることが観察されました。この実践的なデモンストレーションは、AI応答をより整合性があり、人間中心にするためのDPOアルゴリズムの有効性を強調しています。

まとめ

選好最適化の分野は、AIモデルを人間の期待に合わせるために不可欠です。RLHFやRLAIFのような初期のアプローチは複雑なフィードバックループに依存していましたが、直接選好最適化(DPO)、アイデンティティ選好最適化(IPO)、グループ相対ポリシー最適化(GRPO)などの新しい戦略がこの分野を進展させています。それぞれが選好を解釈し適用するための異なる方法を提供しており、GRPOは特に多様なフィードバックのためのグループベースの構造を導入しています。

DPOは、その洗練された基盤で際立っています。従来の報酬最大化問題を、巧妙な変数変換によって直接的なポリシー学習目標に変換することで、DPOは明示的な報酬モデリングの必要性を排除し、最適化プロセスを簡素化します。この視点の変化により、DPOはその効率性と有効性から、実際の整合性タスクでますます支持されています。

SmolVLMモデルをファインチューニングするためのDPOの実践的な応用は、その有用性を示しています。プロセスには、モデルの慎重な読み込みと準備、選好データセットのフォーマット、およびDPOファインチューニングステップの実行が含まれます。結果は、DPOがモデルの応答を成功裏に強化し、人間の選好により一致させることを示しています。この実践的なデモンストレーションは、より人間中心のAIシステムを開発する上でのDPOの可能性を強調しています。