
5,427 文字

まず初めに、DeepSeekが最近論文を公開しましたが、私たちは彼らの最新モデルR1の背後にあるアルゴリズムの仕組みを探っていきます。しかしこれを理解するには、まず人間からのフィードバックを通じた強化学習の仕組みを把握する必要があります。そして最後に、DeepSeekが彼らの最新の思考モデルR1の訓練に使用したグループポリシー最適化アルゴリズムについて検討します。
この解説には前提条件がいくつかあります。強化学習の基本的な理解が必要です。また、近接方策最適化(PPO)アルゴリズムと大規模言語モデルにおけるトランスフォーマーアーキテクチャについてもある程度の知識が必要です。PPOアルゴリズムについては以前の動画で簡単に説明しましたが、同じトピックについて他にもオンラインで多くの動画が利用可能ですので、それらを見ることもできます。
それでは始めましょう。まず、人間からのフィードバックを使用して報酬モデルがどのように訓練されるかを理解しましょう。環境と相互作用する単純な強化学習エージェントを考えてみましょう。エージェントは環境を観察します。私たちはこの観察を状態という言葉でも表現します。
その観察に基づいて、エージェントは環境に対してアクションを取ります。通常、エージェントはアクションを取った後に環境から報酬値を受け取りますが、ここでは人間からのフィードバックを使用してエージェントを訓練したいと考えています。では、人間からのフィードバックで報酬システムをどのように設計すればよいでしょうか。
単純にデータから軌跡のリストを収集します。これは本質的に、状態とその状態で取られたアクションの集合です。LLMの場合、コンテキストを使用して生成される各トークンがアクションであり、コンテキスト自体が状態であるLLMの出力レスポンスと考えることができます。報酬モデルは観察-アクションのペアを受け取り、その状態で取られたアクションに対する報酬を表すスカラー値を出力として提供します。
では、この報酬モデルをどのように訓練すればよいのでしょうか。2つの軌跡を収集したとしましょう。今、人間から両方の軌跡についてフィードバックを受け取ります。この場合、人間は最初の軌跡をより良いものとして選好したとしましょう。軌跡の各ペアを報酬モデルに入力すると、両方の軌跡のすべてのペアに対してスカラー報酬値を予測します。
私たちの目標は、人間が選好した軌跡により大きな報酬を割り当てるように報酬モデルを導くことです。言語モデルの観点からすると、人間が選好した回答がより大きな総報酬を受け取るべきです。つまり、人間のフィードバックで選好された軌跡に与えられる総報酬が、選好されなかった軌跡よりも大きくなるようにしたいのです。
最初に、人間が最初の軌跡を選好したと仮定したので、より高い報酬を受け取るべきです。そのために、ソフトマックス方程式を使用して両方の軌跡の総報酬の確率を計算します。これには、各軌跡の総報酬の指数を取り、両方の軌跡の総報酬の指数の和で割ることが含まれます。
ここで、人間が最初の応答を選好した場合、勾配降下法を使用して最初の軌跡の確率を最大化します。両方の確率は依存関係にあるため、最初の軌跡の確率を増やすと2番目の確率は減少します。そして人間が2番目の応答を選好した場合は、勾配降下法を使用して2番目の軌跡の確率を最大化します。
このために、通常は最大化したい確率の負の対数を取ります。目標は総報酬の確率を最大化することです。実際に私たちは、人間が選好した軌跡により高い総報酬を割り当て、人間が選好しなかった軌跡にはより少ない報酬を割り当てるように報酬モデルを導きます。
ここで、強化学習アルゴリズムに必要な3つの要素がすべて揃っていることがわかります。この報酬モデルを使用して任意のRLアルゴリズムを訓練することができます。これが、報酬モデルの訓練方法を理解するための基本的な報酬モデルの概念でした。軌跡の各ステップに対して報酬を生成します。また、軌跡全体に対して1つの報酬を生成することもできます。詳細は2017年の論文「Deep Reinforcement Learning from Human Preferences」で確認できます。
応答全体に対して単一の報酬値で報酬関数を推定する別の方法を見てみましょう。言語モデルへの入力として2つの応答があるとします。両方の応答を報酬モデルに入力して、各応答の報酬を取得します。報酬モデルは各応答に対して2つの報酬値を予測します。
このシンプルな損失関数により、人間が選好した応答により高い報酬を生成するように報酬モデルを強制します。この負の対数の目標は、0から1の範囲の内部値を最大化することです。シグモイド活性化関数を使用し、活性化関数後の出力の負の対数を取ります。
これにより、モデルは人間が選好した応答により高い報酬を予測し、人間が選好しなかった応答にはより低い報酬を割り当てることになります。報酬モデルは人間が選好した応答により高い報酬を与えることを学習し、これらの報酬はポリシーネットワークを導いて人間が生成した応答を優先させます。
これが報酬モデルの基本的な概要でした。では、メインの近接方策最適化アルゴリズムを見ていきましょう。これが私たちが学ぶ方程式です。時間ステップTにおける2つの単語からなる単純な状態を考えてみましょう。ここで私たちの目標は、言語モデルを使用して次の単語の確率分布を予測することです。
簡単のために、次のトークン予測に3つの単語があるとしましょう。現在の状態に対する次の単語のポリシーは、単に次のトークンに対するソフトマックス分布です。これを、訓練中に報酬を最大化するために更新を目指す古いポリシーとして表現します。
このポリシーから最初のアクションをサンプリングしたとしましょう。その確率は0.32です。次に、このアクションが私たちにとって有益かどうかを判断する必要があります。このために、報酬モデルと価値モデルを使用して計算するアドバンテージ値を使用します。
報酬モデルはこのポリシーに対する報酬を提供し、価値モデルは報酬が期待よりも高いか低いかを判断します。報酬と価値ネットワークを使用してアドバンテージ値を計算する方法については、この動画で説明しましたが、簡単に言えば、アドバンテージ値が正の場合、私たちが取ったアクションは期待以上の報酬を提供するため、これは良いアクションであり、このアクションを奨励すべきです。
アドバンテージ値が負の場合、私たちが取ったアクションは期待よりも少ない報酬を提供するため、これは悪いアクションであり、このアクションを抑制すべきです。これが私たちが学びたい新しいポリシーだとしましょう。最初は古いポリシーと同じですが、アドバンテージを使用して更新します。
新しいポリシーと古いポリシーの比率は、アドバンテージ関数とともにこの方程式で表すことができます。負のアドバンテージがあるとしましょう。これはこのアクションが良くなかったことを示しています。将来このアクションを抑制するために、このアクションに対するポリシーを調整します。
この方程式の出力を最大化することが私たちの目標であることを覚えておいてください。アドバンテージ値が負の場合、将来そのアクションの可能性を減らすようにポリシーを調整します。与えられた状態に対してそのアクションの確率を下げることで、このアクションを抑制します。
アドバンテージが正の場合、これは良いアクションを意味するので、このアクションを取る確率を増やすべきです。これにより、将来このアクションを奨励することになります。与えられた状態に対して新しいポリシーが更新されているのがわかります。このポリシーはアドバンテージが正であることを示しており、与えられた状態に対して良いアクションであることを示しているため、取られたアクションを奨励します。
このクリップ関数は、新しいポリシーが大きく変化しないようにするために使用されます。これは、新しいポリシーと古いポリシーの比率が特定の範囲内にクリップされるべきことを意味します。この最小関数は、ポリシー比率のクリップされたバージョンが必要かどうかを確認します。
しかし、ポリシーを何度も変更した後、私たちの言語モデルは既に学習したことを忘れる可能性があることを覚えておいてください。そのため、すべてのステップでポリシーの更新を導くために参照ポリシーを追加します。この参照ポリシーは、新しいポリシーが元のポリシーから大きく逸脱しないように、重みが凍結された基本モデルから取られます。
元のポリシーからの過度な逸脱を防ぐためにKLペナルティを追加して、元の方程式を書き直してみましょう。このKLダイバージェンスペナルティは、参照ポリシーと新しいポリシーが互いに近い状態を保つことを保証します。また、KLダイバージェンス項に関連付けられたハイパーパラメータβがあり、これはペナルティの強さと新しいポリシーが参照ポリシーから逸脱することを許容する程度を制御します。
要約すると、人間からのフィードバックを使用して応答を得て、それらの応答を分類し、それらの応答に対して報酬モデルを訓練しました。その後、人間が選好する応答を優先するように言語モデルポリシーを訓練しました。しかし、この報酬モデルにはいくつかの問題があり、それらは直接選好最適化アルゴリズムで解決されました。
この論文は、報酬モデルを暗黙的に訓練する必要はなく、代わりに人間の選好に従って直接ポリシーを最適化できることを示しています。では、まず推論のための教師なしデータを使用せずに強化学習を使用するDeepSeek R1について理解しましょう。
以前は報酬モデルを訓練し、その後強化学習で言語モデルポリシーを訓練していましたが、報酬モデルで報酬ハッキングなどの問題に直面しました。そこで著者らは、彼らの思考モデルを訓練するためにルールベースの報酬を使用しました。
決定論的な結果を持つ数学の問題の場合、モデルは特定のフォーマットで回答を提供し、結果は実際の回答との比較によってチェックされます。同様に、リートコードの問題についても、テストケースに基づいて報酬を割り当てます。また、言語モデルによる思考と回答の正しいフォーマットにも報酬を割り当てました。
現在のポリシーを古いポリシーとして表現すると、言語モデルを使用してこの古いポリシーでクエリに対する応答のリストをサンプリングします。各応答に対して、与えられたクエリに対する言語モデルの応答がどれだけ正確かを示す報酬も受け取ります。
ここで、すべての報酬を正規化することでアドバンテージを計算します。各報酬から平均値を引いているのがわかります。これは、平均値より小さいすべてのアドバンテージが負になり、逆もまた然りということです。理解のために、この正規分布を考えてみましょう。平均値より上の正規化された報酬は正で、平均値より下のすべての正規化された報酬は負であることがわかります。
新しいポリシーと古いポリシーの比率にアドバンテージを掛けると、アドバンテージが正の場合、将来このアクションを取るように新しいポリシーを奨励し、アドバンテージが負の場合、将来このアクションを取らないように新しいポリシーを抑制することを覚えておいてください。
つまり、クエリに対する応答のグループがあり、それらの報酬もあります。それらの報酬を正規化します。ここで、ある応答に対する報酬が平均報酬値より大きい場合、これは私たちが持っている報酬のグループに対して相対的に良い報酬であることを意味します。そのため、その応答を生成するように言語モデルを奨励します。
ある応答に対する報酬が平均報酬より小さい場合、これは私たちが持っている報酬のグループに対して相対的に良くない報酬であることを意味します。そのため、将来この報酬値に対する応答を生成しないように言語モデルを抑制します。
要するに、各応答グループに対して平均以上の応答を奨励し、その逆も然りです。このアルゴリズムは、与えられたクエリに対する応答グループに対して相対的に良い応答を奨励し、悪い応答を抑制します。そのため、これはグループ相対ポリシー最適化として知られています。
ここで、これは私たちの全体のグループにわたって目的項を平均化していることがわかります。そして、すべての応答に対する新しいポリシーと古いポリシーの比率と、それらに対応するアドバンテージ値があります。同じクリッピングが小さなポリシー更新に適用されているのがわかります。最後に、先ほど議論したように、新しいポリシーを参照モデルに近づけておくためのKLダイバージェンスペナルティがあります。
このグループ相対ポリシー最適化方程式により、毎回現在のポリシーからポリシーを改善しようとします。
R1モデルについては、まずDeepSeek V3と考えられる基本モデルがあります。グループ相対ポリシー最適化で訓練しますが、R1モデルについては、強化学習による訓練に入る前に、まず思考の連鎖のための教師あり学習データから始めます。
コメント