ChatGPT のトレーニング データセットはどのように構築されますか?

ChatGPT のトレーニング データ セットは、Web ページ、書籍、ニュース記事などのさまざまな種類の教師なしテキスト データを含む複数のコーパスで構成されています。これらのデータには、一般分野の文章だけでなく、科学技術、スポーツ、時事問題などの特定分野の文章も含まれています。

以下では、ChatGPT トレーニング データセットをデータ ソース、データ前処理、データ サンプリングの側面から詳細に分析します。

  1. データソース

ChatGPT のトレーニング データ セットは主に次のソースから取得されます。

(1) BooksCorpus: これは、合計 74 億語を含む 11,038 冊の英語電子書籍のコーパスです。

(2) WebText: インターネットからキャプチャされた大規模なテキスト データセットで、80,000 以上の Web サイトのテキスト データが含まれ、合計 13 億語が含まれます。

(3) Common Crawl: これは、インターネット上でアーカイブされ公開されているデータ セットであり、数百億の Web ページ、Web サイト、その他の種類のテキスト データが含まれます。

(4) Wikipedia:有志によって編集された百科事典であり、さまざまな分野の知識や情報が収録されており、非常に貴重な言語資源です。

上記のソースに加えて、Gutenberg データセットなどの他のデータ ソースもあります。これらのデータ ソースは、ChatGPT に大量の教師なしテキスト データを提供し、モデルがさまざまな種類や主題分野の言語知識を学習できるようにします。

  1. データの前処理

これらのデータセットを使用して ChatGPT をトレーニングする前に、いくつかの前処理が必要です。具体的には、前処理ステップには次の側面が含まれます。

(1) 文の分割: モデルが各文をモデル化して生成できるように、テキスト データを文に分割します。

(2) HTML タグの削除: WebText や Common Crawl などのソースから取得したテキスト データの場合、HTML タグを削除する必要があります。

(3) 英語以外の文字を削除する: ChatGPT は英語のテキストのみを処理できるため、他の言語の文字を削除する必要があります。

(4) ストップ ワードの削除: 「a」、「an」、「the」などの一般的だが意味のない単語については、モデルへのノイズの影響を軽減するためにトレーニング データから削除する必要があります。

(5) 低品質データのフィルタリング: 実際のアプリケーションでは、一部のテキスト データにはエラー、繰り返し、または無関係なコンテンツが含まれる可能性があり、トレーニング データの品質を確保するためにこれらのデータをフィルタリングして除外する必要があります。

  1. データサンプリング

ChatGPT の事前トレーニング モデルはトレーニングに大量の教師なしデータを必要とし、実際に利用できるテキスト データは非常に大きく複雑であることが多いため、トレーニング時間とコンピューティング リソースの消費を削減するためにデータをサンプリングする必要があります。 。具体的には、データ サンプリングの方法には次の側面が含まれます。

(1) ランダムサンプリング: データセット全体から一定数の文がトレーニング サンプルとしてランダムに選択されます。このアプローチはシンプルで実装が簡単ですが、サンプリング バイアスの問題が発生する可能性があります。

(2) 層化サンプリング:データソースや対象分野などの要素に応じてデータをいくつかのカテゴリーに分け、各カテゴリーから一定量のデータを抽出します。この方法では、さまざまなカテゴリ間でデータ量のバランスをとり、サンプリングの偏りの問題を回避できます。

(3) 置換抽出:無作為抽出

置換付きサンプリングを採用できる場合、つまり、サンプルがデータセットからランダムに選択されるたびに、サンプリングされる各サンプルの確率が等しいことを保証するために置換されます。

(4) 置換なしのサンプリング: 置換ありのサンプリングに対応するのは、置換なしのサンプリングです。つまり、サンプルがデータセットからランダムに選択されるたびに、置換されず、それによって同じサンプルの繰り返しサンプリングが回避されます。

データをサンプリングするときは、モデルがさまざまな分野、さまざまなトピック、さまざまなスタイルの言語知識を学習できるように、データの多様性と代表性をできる限り保持する必要があることに注意してください。

  1. データ形式

ChatGPT のトレーニング データは特定の形式要件を満たす必要があります。つまり、各文は特定の区切り文字 (" など) を使用する必要があります。

\n")、各文はテキスト ファイルとして 1 行に 1 文ずつ保存する必要があります。実際のアプリケーションでは、管理と処理を容易にするために、データ セットを複数のファイルに分割することもできます。

上記の側面に加えて、考慮すべき点がいくつかあります。

(1) データ量: ChatGPT の事前トレーニング モデルは、トレーニングに大規模な教師なしテキスト データを必要とするため、モデルの効果と汎用性を向上させるためにトレーニング データ セットを構築する際に、できるだけ多くのより豊富な言語データを含める必要があります。 . 能力。

(2) データ品質: 教師なしテキスト データのソースと品質が異なるため、データの品質と信頼性を確保するために、トレーニング データ セットを構築するときにデータをスクリーニングしてクリーニングする必要があります。

(3) データのバランス: トレーニング データ セットを構築する際には、トレーニング データのバランスと代表性を確保するために、さまざまなタイプ、さまざまなソース、およびさまざまなトピックのテキスト データを考慮する必要があります。

つまり、ChatGPT のトレーニング データ セットは、さまざまな種類やソースの教師なしテキスト データを含む複数のコーパスで構成されています。これらのデータをモデルのトレーニングに使用する前に、ChatGPT のトレーニング要件を満たすように前処理してサンプリングする必要があります。同時に、モデルの効果と汎化能力を向上させるために、トレーニング データの多様性、品質、バランスを確保することも必要です。

おすすめ

転載: blog.csdn.net/2301_78240434/article/details/131259121