ChatGPTの詳細な紹介と原理

16361611:

ChatGPTの紹介

ChatGPTの正式名称は「チャット生成事前訓練トランスフォーマー」、中国語に翻訳すると、生成事前訓練された変換モデルです。アメリカのOpenAl社が2022年11月30日に公開したチャットロボットプログラムです。質疑応答、文章要約生成、機械翻訳、分類、コード生成、対話アルに利用できます。「l は、人工知能技術を活用した自然言語処理ツールです。

ChatGPT は、同じセッション内で状況に応じたフォローアップの質問に答える会話機能など、同様の製品の機能の一部を共有しています。しかし、短期間で世界に火をつけた理由は、ネチズンが投稿したスクリーンショットでは、ChatGPT がユーザーとスムーズに会話できるだけでなく、詩、記事、コードを書くこともできるためです。

ChatGPT はまた、事前に設計された道徳ガイドラインに従って、悪意のある質問や要求には「ノー」と言うという道徳レベルに焦点を当てたトレーニング方法を採用しています。ユーザーが与えたテキストプロンプトに暴力、差別、犯罪などを含むがこれらに限定されない悪意が含まれていることが判明すると、有効な回答の提供を拒否します。

応用分野:

1. 顧客サービスの自動化

2. スマートアシスタント

3. 教育

4. ヘルスケア

5. 金融サービス

6. ソーシャルメディア

1. カスタマー サービスの自動化: ChatGPT を使用すると、ユーザーの質問に自動的に回答し、技術サポートを提供し、問題を解決できるチャットボットを構築できます。これにより、人件費を削減できるだけでなく、24 時間サービスを提供して顧客により良い体験を提供することができます。

2. スマート アシスタント: ChatGPT を使用して、スケジュール管理、ショッピング、航空券やホテルの予約などの日常業務を支援できるスマート アシスタントを構築できます。これらのアシスタントは、ユーザーのニーズに応じてパーソナライズされたサービスを提供し、人々の生産性を向上させることができます。

3. 教育: ChatGPT を使用すると、学生の質問に答え、概念を説明し、より良い学習体験を提供できるスマートな教育アプリケーションを構築できます。この種のアプリケーションは、生徒の学習スタイルとレベルに応じて個別の指導を提供し、生徒が知識をよりよく理解して習得するのに役立ちます。

4. ヘルスケア: ChatGPT を使用して、患者の質問に答え、健康上の相談やアドバイスを提供できるヘルスケア アプリケーションを構築できます。この種のアプリケーションは、患者の状態に基づいて個別のアドバイスを提供し、患者が自分の健康をより適切に管理できるようにすることができます。

5. 金融サービス: ChatGPT を使用して、顧客にパーソナライズされた投資アドバイスを提供し、顧客のリスクの好みと投資目標に基づいた投資ポートフォリオを提供できるスマートな金融アプリケーションを構築できます。この種のアプリケーションは、顧客がより適切な投資決定を下し、顧客の投資収益率を向上させるのに役立ちます。

6. ソーシャル メディア: ChatGPT を使用すると、ユーザーの興味や好みに基づいてパーソナライズされたコンテンツの推奨を提供できるインテリジェントなソーシャル メディア アプリケーションを構築できます。このようなアプリケーションは、ユーザーが興味のあるコンテンツをより適切に発見して共有するのに役立ちます。

動作原理

1.データ収集

2. 前処理

3.モデルの構築

4. テキストの生成

5. 出力制御

1. データ収集: ChatGPT は、Web ページ、ニュース、書籍などを含む大量のテキスト データを収集します。同時に、インターネット上のホットなトピックや大衆文化を分析し、最新の言語パターンや表現を理解します。

2. 前処理: ChatGPT は、単語の分割、ストップワードの削除、翻訳など、収集されたデータを前処理します。このプロセスは、モデルが入力テキストをよりよく理解し、生成されるテキストの品質を向上させるのに役立ちます。

3. モデル構築: 前処理に基づいて、ChatGPT は複数の畳み込み層、巡回ニューラル ネットワーク、プーリング層を含む深層学習モデルを構築します。これらのレイヤーを連携させることで、モデルが言語のパターンとセマンティクスをより適切に捕捉できるようになります。

4. テキストの生成: モデルが構築されると、ChatGPT は人間の言語に似た出力テキストを生成できます。これは、入力テキストから出力テキストへのマッピングを学習する「Transformer」と呼ばれる深層学習アーキテクチャを使用します。

5. 出力制御: ChatGPT がテキスト出力を生成した後、生成されたテキストが人間の言語習慣に準拠していることを確認するために、文法、セマンティクス、感情などを含む一連の出力制御が必要です。

ChatGTP の言語モデルの最も基本的なトレーニングには、単語シーケンス内の単語の予測が含まれます。最も一般的な、通常は「次トークン予測」 (次トークン予測) の目的は、テキストが与えられた場合に次に考えられる単語またはトークンを予測することです。このタスクは言語モデルの基礎であり、テキスト生成で使用できます。 、自動翻訳、音声認識など)およびマスクされた言語モデリング(マスクされた言語モデリング、主なアイデアは、入力テキスト内のいくつかのタグまたは単語をカバーし、これらのカバーされたマークまたは単語をモデルに予測させることです) )

上の画像は、基本的なシーケンス モデリング手法の例であり、通常は Long Short-Term Memory (LSTM、特別なタイプのリカレント ニューラル ネットワーク RNN) モデルで展開されます。コンテキストを考慮して、LSTM モデルは統計的確率が最も高い単語で空白を埋めます。このシーケンス モデリング構造には、次の 2 つの主な制限があります。

1. このモデルでは、特定のコンテキストに高い重みを与えることができません。たとえば、前述の「ジェイコブは読書が嫌い」という例では、モデルはデフォルトで「読書」を「嫌い」に関連付けることがありますが、実際のアプリケーションでは、データに「ジェイコブ」という文字があれば、データでは、「ジェイコブ」は読書がとても好きであるため、「ジェイコブは読書が嫌い」という文を処理するとき、モデルは単に「読書」と「嫌い」の関係に依存するのではなく、「ジェイコブ」の情報にもっと注意を払う必要があります。文脈の中で、結論を導き出すための関係性。したがって、モデルがテキスト内のエンティティ間の関係を十分に考慮せずに、文脈内の単語のみに依存すると、実際のアプリケーションで誤った結論が導き出される可能性があります。

2. 第 2 に、LSTM が入力データを処理する場合、コーパス全体を一度に処理するのではなく、シーケンスごとの入力に基づいて段階的に処理されます。これは、LSTM をトレーニングするとき、コンテキスト ウィンドウのサイズは固定されており、シーケンス全体ではなく、シーケンスのいくつかのステップにわたってのみ拡張できることを意味します。このアプローチでは、LSTM モデルが単語間のより複雑な関係を捉え、そこからより多くの意味を導き出すように制限されます。

この問題に対応して、Google Brain のチームは 2017 年にトランスフォーマーを導入しました。LSTM とは異なり、トランスフォーマーはすべての入力データを同時に処理できます。トランスフォーマーは、自己注意 (自己注意、単語ごとに、意味情報をより適切に捕捉するために、単語と他の単語の間の関係の強さを計算することで単語の表現を強化または弱めることができます) メカニズムに基づいています。モデルは、言語シーケンス内の任意の位置との関係に応じて、入力データのさまざまな部分にさまざまな重みを割り当てることができます。この機能は、LLM に意味を注入する際の大幅な改善であり、より大きなデータセットの処理をサポートします。

ステップ 1: 教師あり微調整 (SFT) モデル

モデル開発の最初の部分では、モデルが学習するための入力と既知の出力を持つ「教師ありトレーニング データセット」を作成することで GPT-3 モデルを微調整するために、40 人の請負業者を雇用する必要がありました。入力 (プロンプト) は、Open API への実際のユーザー入力によって収集されます。その後、ラベラーはプロンプトに適切に応答し、各入力に対して既知の出力を作成します。次に、この新しい教師ありデータセットを使用して GPT-3 モデルを微調整し、SFT モデルとしても知られる GPT-3.5 を構築します。

プロンプト データセットを可能な限り多様性に保つために、特定のユーザー ID のプロンプト数は 200 に制限され、全員が入力したプロンプト プレフィックスは削除されます。最後に、個人を特定できる情報 (PII) を含むプロンプトも削除されます。

OpenAI API からのヒントを集約した後、ラベル作成者にサンプル ヒントを作成して、実際のサンプル データが最も少ないカテゴリを設定するように依頼しました。興味のあるカテゴリは次のとおりです。

  • 単純なプロンプト: 恣意的な問い合わせ。

  • フューショット: 複数のクエリ/応答ペアを含む命令。

  • ユーザーベースのプロンプト: OpenAI API に対して行われるユースケース固有のリクエストと同等です。

応答を生成するとき、タガーはユーザーの指示が何であったかを推測するために最善を尽くします。この文書では、プロンプトが情報を要求する 3 つの主な方法について説明します。

  • 直接:「教えてください…」

  • フューショット: これら 2 つのストーリーの例を踏まえて、同じトピックに関する新しいストーリーを書きます。

  • 継続: AI によって継続されるストーリーの始まりを与えます。

合計 13,000 の入出力サンプルが OpenAI API からのヒントから導出され、アノテーターによって手書きされ、この「教師ありモデル」にデプロイされました。

ステップ 2: 報酬モデル

ステップ 1 で SFT モデルをトレーニングした後、モデルはユーザー プロンプトに対してより一貫した応答を生成します。次の改善は、報酬モデルをトレーニングすることです。モデルの入力は一連のプロンプトと応答であり、出力は報酬と呼ばれるスカラー値です。強化学習を活用するには報酬モデルが必要です。強化学習では、モデルは累積報酬よりも報酬を最大化する出力を生成することを学習します (ステップ 3 を参照)。

報酬モデルをトレーニングするために、ラベラーは 4 ~ 9 つの SFT モデルの出力を受け取ります。次に、パフォーマンスの良し悪しについてこれらの出力をランク付けするよう依頼され、作成された出力ランクの組み合わせは次のとおりでした。

モデルの各組み合わせを個別のデータ ポイントとして含めると、過剰適合が発生する可能性があります (つまり、モデルは既知のデータに対してのみ適切に実行できますが、目に見えないデータに対して一般化することはできません)。これに対処するために、ランキングの各セットをデータ ポイントの 1 つのバッチとして使用してモデルが構築されます (編集者注: データ ポイントの各バッチには複数のランキングの組み合わせが含まれているため、モデルの学習と汎化能力の多様性が高まります)。

ステップ 3: 強​​化学習モデル

最終段階では、モデルはランダムなプロンプトを受信し、応答を返します。ステップ2でモデルが学習した「ポリシー」(特定のアクション選択機能)を利用して応答を生成します。ポリシーとは、マシンがその目標を達成するために使用する方法を学習したアクションを意味します。この場合は、報酬の最大化です。ステップ 2 で形成された報酬モデルに基づいて、特定のキューと応答のペアに対するスカラー報酬値を決定します。その後、報酬はモデルにフィードバックされてポリシーが改善されます。

2017 年に Schulman らは、モデルが応答を生成するときにポリシーを更新するために使用できる手法である Proximal Policy Optimization (PPO) を導入しました。PPO メソッドには、SFT モデルにトークンごとに基づくカルバック・ライブラー (KL) ペナルティが組み込まれています。KL ダイバージェンスを使用すると、2 つの確率分布間の類似性を測定し、離れすぎる分布に対してペナルティを課すことができます。この場合、KL ペナルティを使用すると、応答とステップ 1 でトレーニングされた SFT モデルの出力との間の距離が制限され、報酬モデルが過剰に最適化されて応答が人間の意図のデータセットから大きく逸脱することを回避できます。KL ペナルティを導入することで、トレーニング中にモデルの精度と一般化のバランスを保つことができます。

このプロセスのステップ 2 と 3 は繰り返すことができますが、実際にはあまり使用されません。

モデルの評価

新しいモデルをトレーニングするとき、モデルがこれまで見たことのない別のデータ セット (「テスト セット」と呼ばれる) が確保されます。これは、モデルがこれまでに公開されていないデータに基づいてモデルのパフォーマンスが評価されることを保証し、汎化能力のより正確な推定値を提供するためです。

有用性: ユーザーの指示を推論して従うモデルの能力。ラベラーは、85 ± 3% の確率で GPT-3 よりも InstructGPT の出力を好みます。

現実: モデルの「幻覚」の傾向。TruthfulQA データセットを使用して評価すると、PPO モデルによって生成された出力は、真実性と情報量がわずかに増加していることがわかります。

無害性: 不適切、軽蔑的、軽蔑的なコンテンツの生成を回避するモデルの能力。研究者らは、RealToxicityPrompts データセットを使用して無罪をテストしました。テストは 3 つの条件下で実行されました。

  1. 指示は丁寧な対応を提供し、結果として毒性反応が大幅に減少します。

  2. いかなる敬意も払わずに反応が示された:毒性に有意な変化はなかった。

  3. 有毒/軽蔑的な応答を提供するための指示: 応答は GPT-3 モデルよりもはるかに有毒でした。

Transformerモデルのアルゴリズム構造

具体的な計算プロセス

具体的な計算処理は、「I love you」から「I love you」への翻訳文を例にします(こちらの文の方が簡単です)。まず、文の位置情報をベクトル化して吸収し、文の初期ベクトル群を取得する。

(サンプルでは各文の長さが異なるため、各文は 512*512 の行列になります。長さが足りない場合は 0 に置き換えてください。このように、文がどれだけ長くても、トレーニング中に同じサイズの行列を表します。もちろん、512 はスーパー パラメーターであり、トレーニング前に調整できます。)

次に、各単語の初期ベクトルに 3 つのランダムな初期行列 WQ、Wk、Wv をそれぞれ乗算して、3 つの量 Qx、Kx、Vx を取得します。下図では例として「I」を使用しています。

次に、各単語の注目値を計算します。たとえば、単語「I」の注目値は、単語「I」の QI と文中の他の単語の K 値を乗算することです。2 を掛けることの数学的意味は、行列は、2 つの行列の類似性を測定します。次に、SoftMax 変換 (計算方法について心配する必要はありません) を通じて、単語と各単語の重みを計算します。合計したときの重み比は 1 に等しくなる必要があります。次に、各重みに対応する V 値が乗算されます。このアテンション値を取得するためにすべての製品が追加されます。

この注目値は、単語「I」自身の情報や位置情報に加え、文中の各単語の相関情報である。

すべてのアテンション係数の計算ロジックでは、各単語の初期行列 WQ、Wk、および Wv のみが未知であることがわかります (これら 3 つの行列はすべての単語で共有されます)。次に、この変換器を入力、出力、およびこの W 行列に関する方程式に単純化できます。ここで、X は入力テキスト情報、Y は翻訳情報です。

e2462dda80ac380b8dca2ab6e4c5afc7.png

Transformer アルゴリズムは本質的にフィードフォワード ニューラル ネットワーク モデルであり、その基本的な計算ロジックは、複雑な隠れ層に関係なく、Y=f(x)=wx (目標は f() を計算することです) と仮定することです。ランダムにA w0を設定し、y=w0xのコスト関数の計算を開始し、次にw0をw1に変更し、y=w1xのコスト関数を計算し、類推により無数のwを計算します(無数ではありません、それも収束します)、そしてどの w かを比較します。最小コスト関数は、トレーニングした f() です。次に、変換器では、これら 3 つの初期行列が w0 になります。

トランスフォーマーの話に戻りますが、注意を計算した後、各単語が意味関係に従って新しい高次元空間に入力される、これが自己注意(自己注意メカニズム)です。

 

 

 

 

 

おすすめ

転載: blog.csdn.net/2301_78731684/article/details/131262140