InstructGPT - ChatGPT の前身

チャットGPT

このモデルは、 InstructGPTと同じ方法を使用して、ヒューマン フィードバックからの強化学習 (RLHF) を使用してトレーニングしましたが、データ収集の設定が若干異なりました。

ChatGPT は、2022 年初めにトレーニングを終了した GPT-3.5 シリーズのモデルから微調整されています。

ChatGPT の「メソッド」の原文を見ると、使用しているネットワーク モデルは GPT-3.5 から来ていることがわかります。その元のモデルは 2022 年にトレーニングされ、その後 InstructGPT のメソッドを使用して微調整されました。ChatGPT の論文はまだ公開されていないため、InstructGPT の実装を理解することは ChatGPT を理解するのに非常に役立ちます。

人間のフィードバックを使用して言語モデルをトレーニングして指示に従うようにする(InstructGPT)

1.「有害」な情報

GPT のトレーニング データ セットは非常に大きいため、多くの「有害な」情報が含まれることは間違いありません。例: 人種差別、性差別、違法な暴力など。NLP モデルにとって、この情報を知らないことは人間社会にとって有害で​​す。したがって、トレーニングされた GPT モデルには、何が正しくて何が間違っているかを伝えるために人間の指導が必要です。InstructGPT では、人类反馈人間の意図と NLP の適合は、元の GPT モデルを微調整することによって実現されます。

2. RLHF — 人間のフィードバックからの強化学習

1

図に示すように、InstructGPT の微調整は 3 つの段階に分かれています。

第一段階:手動で質問を選択し回答を与え、SFT上で教師あり学習を実行

  1. まず、アノテーターが質問(プロンプト)をします。
  2. アノテーターは、提起された質問に対して合理的な説明 (出力) を提供します。
  3. 教師あり学習手法を使用して、1 と 2 で収集した「プロンプト出力」データを使用して SFT を微調整します。

第 2 段階: トレーニングされた SFT モデルにいくつかの質問に答えさせ、これらの質問を手動で並べ替えます。次に、このデータを使用して RM モデルをトレーニングし、回答結果をスコア付けします。

  1. まず、アノテーターはモデルに質問(プロンプト)を入力します。
  2. その後、モデルは複数の答えを出力します (ビーム探索法と同様、図の A、B、C、D)。
  3. アノテーターはこれらの回答を並べ替えます (図に示すように: D>C>A=B)。
  4. 1 と 3 で取得したデータセットは RM モデルをトレーニングします。その機能は出力された回答を並べ替えることです。

第 3 段階: 図に示すように、手作業ではなく RM モデルのスコアリング結果に基づいて SFT モデルの最適化を続けます。

微調整プロセスから、多数のアノテーターが必要であることがわかります。

3. 3つのモデル

  1. SFT - 監視付き微調整

    教師あり学習手法を使用して GPT モデルを微調整します。

  2. RM - 報酬モデリング

    SFT モデルに変更を加え、最後のソフトマックス層を線形層に変更し、すべての単語の出力を出力のスコアとして値に投影します。GPT は下流タスクを追加することがわかります。

    その後、SFT よりもはるかに小さい RM モデルがトレーニングされ、主なタスクは SFT によって出力された値 (出力スカラー報酬) をスコアリングすることです。

    ペアごとのランキング損失:
    loss ( θ ) = − 1 ( K 2 ) E ( x , yw , yl ) ∼ D [ log ( σ ( r θ ( x , yw ) − r θ ( x , yl ) ) ] loss (\シータ ) = - \frac{1}{\binom{K}{2}} E_{(x, y_w, y_l) \sim D} [log(\sigma(r_\theta(x, y_w)-r_ \theta (x, y_l)損失( θ ) _=(2K1E( x yy) D[ l o g ( s ( r( x ,yr( x ,y))]
    入力xxx 、 yw y_wのペアを取り出しますyイルy_ly答え。yw y_w と仮定しますyソート率yl y_lyさらに高くするには、2 つの答えをr θ r_\thetaに代入します。r報酬スコアは報酬モデルで計算されます。だって、yw y_wyソート率yl y_lyが高いため、前者の報酬スコアは後者の報酬スコアよりも高くなります。ここでは、ロジスティック回帰法を使用して、2 つの差が大きいほど良いと判断します。ここでσ \sigmaσ はsigmod 関数を表します。

    各プロンプトには 9 つの出力があるため、(9 2) = 36 \binom{9}{2}=36となります。(29=36通りの選択方法。

  3. RL - 強化学習

    PPO方式を利用します。

    RL トレーニングで次の結合目的関数を最大化します。

    目的 ( ϕ ) = E ( x , y ) ∼ D π ϕ RL [ r ϕ ( x , y ) − β log ( π ϕ RL ( y ∣ x ) / π SFT ( y ∣ x ) ] + γ E x ∼ D 事前学習 [ log ( π θ RL ( x ) ) ] object(\phi ) = E_{(x, y) \sim D_{\pi^{RL}_ \phi}}[r_\phi(x, y) ; - \beta log(\pi_\phi^{RL}(y|x)/\pi^{SFT}(y|x)] + \\\gamma E_{x\sim D_{pretrain}}[log( \ pi^{RL}_\theta(x))]オブジェクト( ϕ ) _ _ _ _ _ _=E( x , y ) D円周率ϕRL _[ rϕ( x ,y ブログ( p _ _ϕRL _( y x ) / pSFT (yx)]+cE _× Dプレトレイン_ _ _[ l o g ( pRL _( × ))]

    その中には: π ϕ PL \pi_{\phi}^{PL}円周率ϕPL _学習された報酬戦略、π SFT \pi^{SFT}円周率SFT は、最初のステップD pretrain D_{pretrain}で取得された SFT モデルです。Dプレトレイン_ _ _は事前トレーニングされた分布です。KL 報酬係数β \betaβとトレーニング前の損失係数γ \gammaγ は、KL ペナルティと事前トレーニング勾配の強度をそれぞれ制御し、
    モデルはまた、パブリック NLP データセットのパフォーマンス回帰を修正するために、事前トレーニング勾配を PPO 勾配に混合しようとします。これらのモデルを「PPO-ptx」と呼びます。「PPO」モデルの場合、γ \gammaInstructGPT ではγ は0、γ \gammaγは0ではありません。

4. まとめ: 4 つの段階 - GPT の「社会化」プロセス
  1. テキストソリティアを学びましょう:

    GPT-3 は、教師なし学習を通じてシーケンスからシーケンスの生成を実行します。

  2. 人間がテキスト ソリティアの方向性を導きます。

    GPT-3 は、手動で注釈が付けられたプロンプト出力データ セットを使用して SFT を生成するように微調整されています。

  3. 人間の好みを模倣する:

    RM モデルをトレーニングして人間の好みを学習し、スコアを出力します。

  4. 強化学習を使用してシミュレートされた教師から学習します。

    RM モデルは、強化学習テクノロジーを使用して SFT を微調整するために使用されます。

GPT はステージ 1 から大量のデータセットから知識を学習し始めます。このとき、GPT は子供のように思いついたことを何でも言います。ステージ 2、3、4 では、人間は GPT が人間社会に適した答えを出し、「有害な」答えを避けるように段階的に誘導し、GPT が徐々に人間社会に溶け込み、最終的に驚くべき結果を達成できるようにしました。

おすすめ

転載: blog.csdn.net/qq_44733706/article/details/129047614