ホームページ  >  記事  >  テクノロジー周辺機器  >  ChatGPT の背後にある動作原理を簡単に説明する

ChatGPT の背後にある動作原理を簡単に説明する

WBOY
WBOY転載
2023-04-15 23:25:011812ブラウズ

ChatGPT は OpenAI によってリリースされた最新の言語モデルであり、以前の GPT-3 に比べて大幅に改善されています。多くの大規模言語モデルと同様に、ChatGPT はさまざまなスタイルやさまざまな目的に合わせてテキストを生成でき、精度、物語の詳細、文脈の一貫性のパフォーマンスが向上します。これは OpenAI の大規模言語モデルの最新世代を表しており、対話性に重点を置いて設計されています。

OpenAI は、教師あり学習と強化学習を組み合わせて ChatGPT を調整し、強化学習コンポーネントによって ChatGPT を独自のものにします。 OpenAI は、トレーニングに人間のフィードバックを使用して、役に立たない、歪んだ、または偏った出力を最小限に抑える「ヒューマン フィードバックによる強化学習」(RLHF) トレーニング手法を使用します。

この記事では、GPT-3 の制限と、それがトレーニング プロセスから生じる理由を分析し、RLHF の原理を説明し、ChatGPT が RLHF を使用して問題を克服する方法を理解します。 GPT-3 の既存の問題点について質問し、最後にこのアプローチの限界について検討します。

大規模言語モデルにおける能力と一貫性

ChatGPT の背後にある動作原理を簡単に説明する

「一貫性と能力」は次のように考えることができます。これは、「精度 vs 精度」のより抽象的な例えです。

#機械学習では、モデルの能力とは、特定のタスクまたは一連のタスクを実行するモデルの能力を指します。モデルの能力は通常、目的関数を最適化できる程度によって評価されます。たとえば、市場価格の予測に使用されるモデルには、モデルの予測の精度を測定する目的関数が含まれる場合があります。時間の経過に伴う運賃の変化を正確に予測できるモデルは、高いパフォーマンスを発揮すると考えられます。

一貫性は、モデルが何をするようにトレーニングされたかではなく、モデルに実際に何をさせたいかに焦点を当てます。それが提起する問題は、モデルの目標と行動が人間の期待をどの程度満たしているかに基づいて、「目的関数が期待を満たしているかどうか」です。対数損失をトレーニング目標として使用して、鳥を「スズメ」または「コマドリ」に分類する鳥分類器をトレーニングしたいとします。最終的な目標は、非常に高い分類精度です。モデルの対数損失が低い可能性があります。つまり、モデルの能力は向上していますが、テスト セットでは精度が低くなります。これは、モデルがトレーニング目標を最適化できるものの、最終目標とは一致しない、不一致の一例です。

オリジナルの GPT-3 は一貫性のないモデルです。 GPT-3 のような大規模な言語モデルは、インターネットからの大量のテキスト データでトレーニングされ、人間のようなテキストを生成できますが、常に人間の期待に一致する出力を生成するとは限りません。実際、その目的関数は一連の単語にわたる確率分布であり、一連の単語の次の単語が何になるかを予測するために使用されます。

しかし、実際のアプリケーションでは、これらのモデルの目的は、何らかの形で価値のある認知作業を実行することであり、これらのモデルのトレーニング方法とモデルがどのように期待されるかの間にはギャップがあります。使用済み 重大な違い。数学的に言えば、単語シーケンスの統計的分布を計算する機械は言語をモデル化するのに効率的な選択である可能性がありますが、人間は既知の背景知識と常識を使用して、特定の状況に最も適合するテキストシーケンスを選択することによって言語を生成し、このプロセスを支援します。これは、会話システムやインテリジェントパーソナルアシスタントなど、高度な信頼性を必要とするアプリケーションで言語モデルが使用される場合に問題になる可能性があります。

膨大な量のデータでトレーニングされたこれらの大規模なモデルは、過去数年間で非常に強力になりましたが、実際に使用すると、その可能性を十分に発揮できないことがよくあります。人々の生活が楽になります。大規模な言語モデルにおける一貫性の問題は、次のような形で現れることがよくあります:

  • #効果のないヘルプを提供する: ユーザーからの明示的な指示に従わない。
  • コンテンツはでっち上げられており、存在しない、または間違った事実をでっち上げたモデルです。
  • 説明可能性の欠如: モデルがどのようにして特定の決定や予測に至ったのかを理解するのは困難です。
  • 有害なコンテンツ バイアス: 偏見のある有害なデータに基づいてトレーニングされた言語モデルは、明示的に指示されていない場合でも、出力でこの動作を示す可能性があります。

しかし具体的には、一貫性の問題はどこから来るのでしょうか?言語モデルのトレーニング方法自体に矛盾が生じやすいですか?

言語モデルのトレーニング戦略によってどのように矛盾が生じるのでしょうか?

次のトークン予測とマスクされた言語モデリングは、言語モデルをトレーニングするためのコア テクノロジです。最初のアプローチでは、モデルに一連の単語が入力として与えられ、そのシーケンス内の次の単語を予測するように求められます。モデルに次の入力文を提供すると、

「猫は上に座りました」

次の単語が「マット」、「椅子」、または「」と予測される可能性があります。 「floor」は、これらの単語が前のコンテキストで高い確率で出現するためです。言語モデルは実際に、前のシーケンスを考慮して、考えられる各単語の可能性を評価できます。

マスクされた言語モデリング手法は、次のトークン予測のバリエーションであり、入力文内の一部の単語が [MASK] などの特別なトークンに置き換えられます。次にモデルは、マスク位置に挿入されるべき正しい単語を予測するように求められます。モデルに次のような文を与えると:

「[MASK] は "

にありました。」という文を与えると、MASK の位置に埋められる単語は次のとおりであると予測される可能性があります。 「猫」と「犬」。

これらの目的関数の利点の 1 つは、モデルが一般的な単語シーケンスや単語の使用パターンなどの言語の統計構造を学習できることです。これは多くの場合、モデルがより自然で流暢なテキストを生成するのに役立ち、すべての言語モデルの事前トレーニング段階における重要なステップです。

ただし、これらの目的関数は、主にモデルが重要なエラーと重要でないエラーを区別できないために問題を引き起こす可能性もあります。非常に単純な例は、モデルに次の文を入力した場合です:

「アウグストゥス統治下のローマ帝国 [MASK]」

これは MASK を予測する可能性があります。これら 2 つの単語が出現する可能性が非常に高いため、この位置には「begin」または「end」を入力する必要があります。

一般に、これらのトレーニング戦略は、一連のテキスト内の次の単語を予測することのみを目的としてトレーニングされたモデルであるため、より複雑なタスクで言語モデルのパフォーマンスに一貫性がなくなる可能性があります。それらの意味のより高いレベルの表現は必ずしも学習されるとは限りません。したがって、このモデルを言語のより深い理解を必要とするタスクに一般化することは困難です。

研究者たちは、大規模な言語モデルにおける一貫性の問題を解決するためのさまざまな方法を研究しています。 ChatGPT は元の GPT-3 モデルに基づいていますが、モデル内の不一致に対処する学習プロセスを導くために人間のフィードバックを使用してさらにトレーニングされました。使用される具体的な技術は、前述の RLHF です。 ChatGPT は、このテクノロジーを現実のシナリオで使用する最初のモデルです。

それでは、ChatGPT は人間のフィードバックをどのように利用して一貫性の問題を解決するのでしょうか?

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

この方法は通常、次の 3 つの異なるステップで構成されます:

  • はい 教師ありチューニング: 事前トレーニングされた言語モデルは、与えられたプロンプトのリストから出力を生成する教師ありポリシー (つまり、SFT モデル) を学習するために、少量のラベル付きデータに基づいて調整されます。人間の好み: アノテーターは比較的多数の SFT モデル出力に投票し、比較データの新しいデータセットを作成します。新しいモデルは、トレーニング報酬モデル (RM) と呼ばれる、このデータ セットでトレーニングされます。
  • 近接ポリシー最適化 (PPO): RM モデルは、さらなる調整と、 SFTモデル、PPOの出力結果が戦略モデルです。
  • ステップ 1 は 1 回のみ実行されますが、ステップ 2 と 3 は継続的に繰り返すことができます。新しい RM モデルをトレーニングするために、現在最適なポリシー モデルに関するさらに多くの比較データを収集します。新しいポリシーをトレーニングします。次に、各ステップの詳細について説明する。

#ステップ 1: 教師ありチューニング モデル

## 最初のステップは、教師ありポリシー モデルをトレーニングするためのデータを収集することです。

  • データ収集: プロンプト リストを選択すると、アノテーターは必要に応じて予想される出力を書き留めます。 ChatGPT の場合、プロンプトの 2 つの異なるソースが使用されます。アノテーターまたは研究者を使用して直接準備されたものと、OpenAI の API リクエスト (つまり、GPT-3 ユーザーから) から取得されたものがあります。プロセス全体は遅くて高価ですが、最終的には、事前トレーニングされた言語モデルの調整に使用できる、比較的小規模で高品質のデータセット (おそらく 12 ~ 15,000 個のデータ ポイント) が得られます。
  • モデルの選択: ChatGPT の開発者は、元の GPT-3 モデルをチューニングするのではなく、GPT-3.5 シリーズから事前トレーニングされたモデルを選択しました。使用されるベースライン モデルは、text-davinci-003 の最新バージョン (プログラム コードをチューニングしてチューニングされた GPT-3 モデル) です。

ChatGPT のようなユニバーサル チャットボットを作成するには、開発者はプレーン テキスト モデルではなく「コード モデル」を調整します。

ChatGPT の背後にある動作原理を簡単に説明する

このステップのデータ量は限られているため、このプロセスで取得された SFT モデルは、まだユーザーにとって関心のないテキストを出力する可能性があります。そして、しばしば矛盾の疑問に悩まされることになります。ここでの問題は、教師あり学習ステップのスケーラビリティ コストが高いことです。

この問題を克服するために使用される戦略は、ヒューマン・アノテーターに大規模で洗練されたモデルを作成させるのではなく、SFT モデルのさまざまな出力をソートして RM モデルを作成させることです。モデル データセットを選択します。

#ステップ 2: 戻りモデルのトレーニング

このステップの目標は、目的関数を直接学習することです。データ。この関数の目的は、SFT モデルの出力をスコアリングすることです。これは、これらの出力が人間にとってどれだけ望ましいかを表します。これは、選ばれたヒューマン・アノテーターの特定の好みと、彼らが従うことに同意した共通のガイドラインを強く反映しています。最終的に、このプロセスにより、データから人間の好みを模倣するシステムが完成します。

その仕組みは次のとおりです:

  • プロンプトのリストを選択すると、SFT モデルが各プロンプトに対して複数の出力 (4 ~ 4) を生成します。 9) の間の任意の値;
  • アノテーターは出力を最良から最悪の順に並べ替えます。結果として、SFT モデルに使用された正確なデータセットの約 10 倍のサイズの新しいラベル付きデータセットが得られます。
  • この新しいデータは、RM モデルのトレーニングに使用されます。モデルは SFT モデルの出力を入力として受け取り、それらを優先順位に従って並べ替えます。

ChatGPT の背後にある動作原理を簡単に説明する

アノテーターにとって、最初からタグ付けするよりも出力を並べ替えるほうがはるかに簡単で、プロセスの拡張がより効率的になります。 。実際には、選択されるプロンプトの数は約 30 ~ 40,000 で、並べ替えられた出力のさまざまな組み合わせが含まれます。

ステップ 3: PPO モデルを使用して SFT モデルを微調整する

このステップでは強化学習が適用されますRM モデルを最適化して SFT モデルを調整します。使用される特定のアルゴリズムは近接ポリシー最適化 (PPO) と呼ばれ、調整モデルは近接ポリシー最適化モデルと呼ばれます。

PPO とは何ですか?このアルゴリズムの主な特徴は次のとおりです:

  • PPO は、強化学習でエージェントをトレーニングするために使用されるアルゴリズムです。 DQN の「オフポリシー」アルゴリズムのように過去の経験から学習するのではなく、現在のポリシーを直接学習して更新するため、「オンポリシー」アルゴリズムと呼ばれます。 PPO は、エージェントが実行したアクションと得られる報酬に基づいて戦略を継続的に調整し、安定性を確保します。これは、ポリシーに大規模な更新を行うことでポリシーを不安定にする場合がある勾配法を使用する他の戦略とは大きく対照的です。
  • PPO は値関数を使用して特定の状態または値を推定します。アクションの期待されるリターン。値関数は、期待される収益と現在の収益の差を表す利点関数を計算するために使用されます。次に、アドバンテージ関数を使用して、現在のポリシーによって実行されるアクションと以前のポリシーによって実行されるアクションを比較することにより、ポリシーを更新します。これにより、PPO は、実行されたアクションの推定値に基づいて、より多くの情報に基づいて戦略を更新できるようになります。
  • このステップでは、PPO モデルが SFT モデルによって初期化され、値関数が RM モデルによって初期化されます。この環境は、ランダムなプロンプトを生成し、プロンプトに対する応答を期待する「バンディット環境」です。特定のプロンプトと応答に対して、対応する報酬 (RM モデルによって決定される) が生成されます。 SFT モデルは、RM モデルの過剰な最適化を回避するために、KL ペナルティ係数を各トークンに追加します。

パフォーマンス評価

ChatGPT の背後にある動作原理を簡単に説明する

モデルは手動でラベル付けされた入力に基づいてトレーニングされるため、評価の中核部分も以下に基づいています。手動入力、つまり、アノテーターにモデル出力の品質のスコアを依頼することによって行われます。トレーニング フェーズに関与するアノテーターの判断が過剰に適合することを避けるために、テスト セットでは、トレーニング データには表示されない他の OpenAI クライアントからのプロンプトが使用されました。

モデルは 3 つの基準に基づいて評価されます。

有用性: ユーザーの指示に従い、指示を推定するモデルの能力を判断します。

  • 真正性: 判断モデルは、クローズドドメインのタスクにおいて架空の事実を生み出す傾向があります。
  • 無害性: アノテーターは、モデルの出力が適切かどうか、差別的な内容が含まれているかどうかを評価します。
  • このモデルは、質問応答、読解、要約などの従来の NLP タスクのゼロショット学習によるパフォーマンスも評価されました。開発者は、その一部のタスクについて、このモデルのパフォーマンスは、ヒューマン フィードバックの強化学習に基づく一貫性手順が特定のタスクのパフォーマンスを犠牲にする「調整税」の一例である GPT-3 のパフォーマンスよりも若干劣ります。

これらのデータセットのパフォーマンス回帰は、事前トレーニング混合と呼ばれる手法によって大幅に軽減できます。勾配降下法による PPO モデルのトレーニング中に、SFT モデルと PPO モデルの勾配が調整されます。勾配更新を混合することによって計算されます。

この方法の欠点

この方法の非常に明らかな制限は、言語モデルを人間の意図に合わせて調整する過程で、微調整に使用されることです。モデルのデータは、主に次のようなさまざまな複雑な主観的要因の影響を受けます。

デモ データを生成した手動アノテーターの好み;

  • 研究を設計し、ラベルの説明を作成する研究者;
  • 開発者が作成したプロンプトまたは OpenAI 顧客によって提供されたプロンプトを選択します;
  • #アノテーターのバイアスは、RM モデルのトレーニングとモデル評価の両方に含まれます。
  • ChatGPT の作成者は、トレーニング プロセスに関与するアノテーターや研究者が、言語モデルの潜在的なエンドユーザーすべてを完全に代表しているわけではない可能性があるという明白な事実も認めています。

この明らかな「内因性」制限に加えて、この方法には解決すべき他の欠点や問題もあります。

  • 対照研究の欠如: 報告された結果は、SFT モデルに対する最終的な PPO モデルのパフォーマンスをベンチマークします。これは誤解を招く可能性があります。これらの改善が RLHF によるものだとどうやってわかりますか?したがって、RM モデルのトレーニングに使用したのとまったく同じ数のアノテーション工数を投資して、高品質のデータを含むより大規模で厳選された教師付き調整データセットを作成するなど、管理された研究が必要です。これにより、教師付きメソッドと比較した RLHF メソッドのパフォーマンスの向上を客観的に測定できます。簡単に言うと、そのような統制された研究がないため、RLHF は一貫した言語モデリングにおいて本当に優れた仕事をしているのかという根本的な疑問が完全に未解決のままになっています。
  • 比較データにはグラウンド トゥルースが欠けています。モデル出力のランキングについては、アノテーターの意見が異なることがよくあります。技術的に言えば、根本的な真実がないまま比較データに大量の差異が追加されるというリスクがあります。
  • 人間の好みは均一ではありません: RLHF アプローチは、人間の好みを均一かつ静的なものとして扱います。すべての人が同じ価値観を持っていると仮定するのは明らかに不正確であり、公的価値観は多数ありますが、人間は依然として多くの事柄についてさまざまな異なる認識を持っています。
  • RM モデル プロンプト安定性テスト: 入力プロンプトの変化に対する RM モデルの感度を示す実験はありません。 2 つのプロンプトが構文的には異なりますが、意味的には同等である場合、RM モデルはモデル出力のランキングに大きな違いを示すことができますか?つまり、RM にとってプロンプトの品質はどの程度重要なのでしょうか?
  • その他の問題: RL アプローチでは、モデルが望ましい結果を達成するために独自の RM モデルを制御する方法を学習し、「過剰に最適化された戦略」につながることがあります。これにより、何らかの未知の理由で RM モデルに高いスコアを与えたいくつかのパターンがモデルで再作成される可能性があります。 ChatGPT は、RM 関数の KL ペナルティを使用してこれにパッチを当てます。

関連書籍:

  • ChatGPT の RLHF メソッドに関する関連論文: 人間の指示に従う言語モデルのトレーニングフィードバック (https://arxiv.org/pdf/2203.02155.pdf) では、実際に structGPT と呼ばれるモデルが詳細に説明されており、OpenAI ではこれを ChatGPT の「兄弟モデル」と呼んでいます。
  • ヒューマン フィードバックから要約する方法を学ぶ (https://arxiv.org/pdf/2009.01325.pdf) では、テキスト要約のコンテキストで RLHF について説明します。
  • PPO (https://arxiv.org/pdf/1707.06347.pdf): PPO アルゴリズムの論文。
  • 人間の好みからの深層強化学習 (https://arxiv.org/abs/1706.03741)
  • DeepMind は、Sparrow の代替案として OpenAI を提案しました。 RLHF (https://arxiv.org/pdf/2209.14375.pdf) および GopherCite (https://arxiv.org/abs/2203.11147) のドキュメント。

以上がChatGPT の背後にある動作原理を簡単に説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。