ChatGPT は OpenAI によってリリースされた最新の言語モデルであり、以前の GPT-3 に比べて大幅に改善されています。多くの大規模言語モデルと同様に、ChatGPT はさまざまなスタイルやさまざまな目的に合わせてテキストを生成でき、精度、物語の詳細、文脈の一貫性のパフォーマンスが向上します。これは OpenAI の大規模言語モデルの最新世代を表しており、対話性に重点を置いて設計されています。
OpenAI は、教師あり学習と強化学習を組み合わせて ChatGPT を調整し、強化学習コンポーネントによって ChatGPT を独自のものにします。 OpenAI は、トレーニングに人間のフィードバックを使用して、役に立たない、歪んだ、または偏った出力を最小限に抑える「ヒューマン フィードバックによる強化学習」(RLHF) トレーニング手法を使用します。
この記事では、GPT-3 の制限と、それがトレーニング プロセスから生じる理由を分析し、RLHF の原理を説明し、ChatGPT が RLHF を使用して問題を克服する方法を理解します。 GPT-3 の既存の問題点について質問し、最後にこのアプローチの限界について検討します。
「一貫性と能力」は次のように考えることができます。これは、「精度 vs 精度」のより抽象的な例えです。
#機械学習では、モデルの能力とは、特定のタスクまたは一連のタスクを実行するモデルの能力を指します。モデルの能力は通常、目的関数を最適化できる程度によって評価されます。たとえば、市場価格の予測に使用されるモデルには、モデルの予測の精度を測定する目的関数が含まれる場合があります。時間の経過に伴う運賃の変化を正確に予測できるモデルは、高いパフォーマンスを発揮すると考えられます。
一貫性は、モデルが何をするようにトレーニングされたかではなく、モデルに実際に何をさせたいかに焦点を当てます。それが提起する問題は、モデルの目標と行動が人間の期待をどの程度満たしているかに基づいて、「目的関数が期待を満たしているかどうか」です。対数損失をトレーニング目標として使用して、鳥を「スズメ」または「コマドリ」に分類する鳥分類器をトレーニングしたいとします。最終的な目標は、非常に高い分類精度です。モデルの対数損失が低い可能性があります。つまり、モデルの能力は向上していますが、テスト セットでは精度が低くなります。これは、モデルがトレーニング目標を最適化できるものの、最終目標とは一致しない、不一致の一例です。
オリジナルの GPT-3 は一貫性のないモデルです。 GPT-3 のような大規模な言語モデルは、インターネットからの大量のテキスト データでトレーニングされ、人間のようなテキストを生成できますが、常に人間の期待に一致する出力を生成するとは限りません。実際、その目的関数は一連の単語にわたる確率分布であり、一連の単語の次の単語が何になるかを予測するために使用されます。
しかし、実際のアプリケーションでは、これらのモデルの目的は、何らかの形で価値のある認知作業を実行することであり、これらのモデルのトレーニング方法とモデルがどのように期待されるかの間にはギャップがあります。使用済み 重大な違い。数学的に言えば、単語シーケンスの統計的分布を計算する機械は言語をモデル化するのに効率的な選択である可能性がありますが、人間は既知の背景知識と常識を使用して、特定の状況に最も適合するテキストシーケンスを選択することによって言語を生成し、このプロセスを支援します。これは、会話システムやインテリジェントパーソナルアシスタントなど、高度な信頼性を必要とするアプリケーションで言語モデルが使用される場合に問題になる可能性があります。
膨大な量のデータでトレーニングされたこれらの大規模なモデルは、過去数年間で非常に強力になりましたが、実際に使用すると、その可能性を十分に発揮できないことがよくあります。人々の生活が楽になります。大規模な言語モデルにおける一貫性の問題は、次のような形で現れることがよくあります:
しかし具体的には、一貫性の問題はどこから来るのでしょうか?言語モデルのトレーニング方法自体に矛盾が生じやすいですか?
次のトークン予測とマスクされた言語モデリングは、言語モデルをトレーニングするためのコア テクノロジです。最初のアプローチでは、モデルに一連の単語が入力として与えられ、そのシーケンス内の次の単語を予測するように求められます。モデルに次の入力文を提供すると、
「猫は上に座りました」
次の単語が「マット」、「椅子」、または「」と予測される可能性があります。 「floor」は、これらの単語が前のコンテキストで高い確率で出現するためです。言語モデルは実際に、前のシーケンスを考慮して、考えられる各単語の可能性を評価できます。
マスクされた言語モデリング手法は、次のトークン予測のバリエーションであり、入力文内の一部の単語が [MASK] などの特別なトークンに置き換えられます。次にモデルは、マスク位置に挿入されるべき正しい単語を予測するように求められます。モデルに次のような文を与えると:
「[MASK] は "
にありました。」という文を与えると、MASK の位置に埋められる単語は次のとおりであると予測される可能性があります。 「猫」と「犬」。
これらの目的関数の利点の 1 つは、モデルが一般的な単語シーケンスや単語の使用パターンなどの言語の統計構造を学習できることです。これは多くの場合、モデルがより自然で流暢なテキストを生成するのに役立ち、すべての言語モデルの事前トレーニング段階における重要なステップです。
ただし、これらの目的関数は、主にモデルが重要なエラーと重要でないエラーを区別できないために問題を引き起こす可能性もあります。非常に単純な例は、モデルに次の文を入力した場合です:
「アウグストゥス統治下のローマ帝国 [MASK]」
これは MASK を予測する可能性があります。これら 2 つの単語が出現する可能性が非常に高いため、この位置には「begin」または「end」を入力する必要があります。
一般に、これらのトレーニング戦略は、一連のテキスト内の次の単語を予測することのみを目的としてトレーニングされたモデルであるため、より複雑なタスクで言語モデルのパフォーマンスに一貫性がなくなる可能性があります。それらの意味のより高いレベルの表現は必ずしも学習されるとは限りません。したがって、このモデルを言語のより深い理解を必要とするタスクに一般化することは困難です。
研究者たちは、大規模な言語モデルにおける一貫性の問題を解決するためのさまざまな方法を研究しています。 ChatGPT は元の GPT-3 モデルに基づいていますが、モデル内の不一致に対処する学習プロセスを導くために人間のフィードバックを使用してさらにトレーニングされました。使用される具体的な技術は、前述の RLHF です。 ChatGPT は、このテクノロジーを現実のシナリオで使用する最初のモデルです。
それでは、ChatGPT は人間のフィードバックをどのように利用して一貫性の問題を解決するのでしょうか?
この方法は通常、次の 3 つの異なるステップで構成されます:
#ステップ 1: 教師ありチューニング モデル
## 最初のステップは、教師ありポリシー モデルをトレーニングするためのデータを収集することです。 ChatGPT のようなユニバーサル チャットボットを作成するには、開発者はプレーン テキスト モデルではなく「コード モデル」を調整します。 このステップのデータ量は限られているため、このプロセスで取得された SFT モデルは、まだユーザーにとって関心のないテキストを出力する可能性があります。そして、しばしば矛盾の疑問に悩まされることになります。ここでの問題は、教師あり学習ステップのスケーラビリティ コストが高いことです。 この問題を克服するために使用される戦略は、ヒューマン・アノテーターに大規模で洗練されたモデルを作成させるのではなく、SFT モデルのさまざまな出力をソートして RM モデルを作成させることです。モデル データセットを選択します。 #ステップ 2: 戻りモデルのトレーニング このステップの目標は、目的関数を直接学習することです。データ。この関数の目的は、SFT モデルの出力をスコアリングすることです。これは、これらの出力が人間にとってどれだけ望ましいかを表します。これは、選ばれたヒューマン・アノテーターの特定の好みと、彼らが従うことに同意した共通のガイドラインを強く反映しています。最終的に、このプロセスにより、データから人間の好みを模倣するシステムが完成します。 その仕組みは次のとおりです: アノテーターにとって、最初からタグ付けするよりも出力を並べ替えるほうがはるかに簡単で、プロセスの拡張がより効率的になります。 。実際には、選択されるプロンプトの数は約 30 ~ 40,000 で、並べ替えられた出力のさまざまな組み合わせが含まれます。 ステップ 3: PPO モデルを使用して SFT モデルを微調整する このステップでは強化学習が適用されますRM モデルを最適化して SFT モデルを調整します。使用される特定のアルゴリズムは近接ポリシー最適化 (PPO) と呼ばれ、調整モデルは近接ポリシー最適化モデルと呼ばれます。 PPO とは何ですか?このアルゴリズムの主な特徴は次のとおりです: パフォーマンス評価モデルは手動でラベル付けされた入力に基づいてトレーニングされるため、評価の中核部分も以下に基づいています。手動入力、つまり、アノテーターにモデル出力の品質のスコアを依頼することによって行われます。トレーニング フェーズに関与するアノテーターの判断が過剰に適合することを避けるために、テスト セットでは、トレーニング データには表示されない他の OpenAI クライアントからのプロンプトが使用されました。
モデルは 3 つの基準に基づいて評価されます。 有用性: ユーザーの指示に従い、指示を推定するモデルの能力を判断します。 これらのデータセットのパフォーマンス回帰は、事前トレーニング混合と呼ばれる手法によって大幅に軽減できます。勾配降下法による PPO モデルのトレーニング中に、SFT モデルと PPO モデルの勾配が調整されます。勾配更新を混合することによって計算されます。 この方法の欠点 デモ データを生成した手動アノテーターの好み; この明らかな「内因性」制限に加えて、この方法には解決すべき他の欠点や問題もあります。 関連書籍:
以上がChatGPT の背後にある動作原理を簡単に説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。