|
OpenAIのGenerative Pre-trained Transformer(GPT)モデルは、非常に強力な言語モデルを導入することで、自然言語処理(NLP)分野に大きな波紋を巻き起こしました。これらのモデルは、質問応答、テキスト含意、テキスト要約など、幅広いNLPタスクを教師あり学習なしで実行できます。これらの言語モデルは、非常に少ない、あるいは全く例がない状態で教師あり学習された最先端のモデルと同等、あるいはそれ以上のタスクを理解し、実行することができます。 次のセクションでは、これらのモデルの開発履歴を紹介し、過去2年間の進化について説明します。目標とコンセプト、使用されたデータセット、モデルのアーキテクチャと実装の詳細、そしてパフォーマンス評価という4つの側面を取り上げます。 GPT-1 事前トレーニング済み(GPT-1)モデルを生成することで言語理解を向上させます。 本研究以前は、最先端のNLPモデルのほとんどは、感情分類やテキスト含意といった教師あり学習を用いたタスクに特化して学習されていました。しかし、教師ありモデルには主に2つの限界があります。 (1)特定のタスクを学習するには、通常は容易に入手できない大量の注釈付きデータが必要である。 (2)研修以外の課題を要約できない。 GPT-1 は、ラベルなしデータを使用して生成言語モデルを学習し、特定の下流タスク (分類、感情分析、テキスト含意など) の例を提供することでモデルを微調整することを提案しています。 教師なし学習は、教師あり微調整モデルの事前トレーニング目標として機能するため、生成的事前トレーニングと呼ばれます。 1. 学習目標と概念 NLP タスクの半教師あり学習 (教師なし事前トレーニングとそれに続く教師あり微調整) は、次の 3 つの部分で構成されます。 a. 教師なし言語モデリング(事前トレーニング):教師なし学習では、標準言語モデルの目標が使用されます。 ここで、T は教師なしデータ {t_1,…,t_n} 内のラベル セット、k はコンテキスト ウィンドウのサイズ、θ は確率的勾配降下法を使用してトレーニングされたニューラル ネットワークのパラメーターです。 b. 教師あり微調整: このセクションでは、特徴またはタグ x_1、...、x_n が与えられた場合に、ラベル y を観測する可能性を最大化することを目的としています。 ここで、C はトレーニング例で構成されるラベル付きデータセットです。 著者らは、式(ii)で述べた目的関数を単純に最大化するのではなく、教師あり微調整のための補助学習目的関数を追加することで、より優れた汎化とより速い収束を実現した。修正された学習目的は以下のように表される。 ここで、L₁(C)は言語モデルを学習するための補助目標であり、λはこの二次学習目標に割り当てられた重みです。λは0.5に設定されます。 教師あり微調整は、変換モデルに線形層とソフトマックス層を追加して、下流のタスクのタスク ラベルを取得することによって実現されます。 c. タスク固有の入力変換:微調整中のモデルアーキテクチャの変更を最小限に抑えるため、特定の下流タスクへの入力は順序付けられたシーケンスに変換されます。トークンは次のように並べ替えられます。 - 入力シーケンスに開始マーカーと終了マーカーが追加されます。 - 入力を順番に送信できるように、例の異なる部分の間に区切り文字を追加しました。質問への回答や複数選択問題などのタスクでは、例ごとに複数のシーケンスが送信されました。例えば、コンテキスト、質問、回答のシーケンスで構成されるトレーニング例などです。 2. データセット GPT-1は、言語モデルの学習にBooksCorpusデータセットを使用しています。BooksCorpusには約7,000冊の未出版書籍が含まれており、未発見のデータに基づいて言語モデルを学習するのに役立ちます。このデータは、下流タスクのテストセットには含まれない可能性が高いです。さらに、このコーパスには大量の連続テキストが含まれており、モデルが幅広い依存関係を学習するのに役立ちます。 3. モデルアーキテクチャと実装の詳細 GPT-1は12層のデコーダーのみを備えたTransformerアーキテクチャを採用し、学習言語モデルに焦点を合わせます。このモデルのアーキテクチャは、元のTransformer研究で説明されたものとほぼ同一です。マスク処理は、言語モデルが現在の単語の右側にある後続の単語にアクセスできないようにすることで、言語モデルの目的を達成するのに役立ちます。 実装の詳細は次のとおりです。 a. 教師なしトレーニングの場合: • 40,000 個のマージされたバイトペアを含むマージされたバイトペアエンコーディング (BPE) の語彙が使用されました。 • このモデルは768次元の状態を用いてトークンを単語埋め込みとしてエンコードします。位置埋め込みもトレーニング中に学習されます。 • 各自己注意層に 12 個の注意を持つ 12 層モデルを使用します。 • 位置フィードフォワード層では3072次元の状態が使用されました。 • 学習率 2.5e-4 の Adam オプティマイザーを使用します。 • 正則化には、注意損失、残差損失、埋め込み損失が使用され、損失率は0.1です。また、偏りのない重み付けには、L2正則化の修正版も使用されます。 • 活性化関数としてGELUが使用されます。 • モデルは、サイズ64、シーケンス長512のミニバッチで100エポックトレーニングされました。モデルには合計117Mのパラメーターがあります。 b. 監督と微調整について • ほとんどの下流タスクにおける教師ありファインチューニングは3エポックのみで済みます。これは、モデルが事前学習中に既にかなりの量の言語知識を学習していることを示しています。したがって、最小限のファインチューニングで十分です。 • 教師なし事前トレーニングからのハイパーパラメータのほとんどは、微調整に使用されます。 4. まとめ GPT-1 は、12 のタスクのうち 9 つで最先端の教師ありモデルよりも優れたパフォーマンスを発揮しました。 このモデルのもう一つの重要な成果は、様々なタスクにおけるゼロショット性能です。事前学習により、このモデルは質問応答、パターン解決、感情分析といった様々なNLPタスクにおいてゼロショット性能を向上させています。 GPT-1は、言語モデルがモデルの汎化を促進する効果的な事前学習ターゲットであることを証明しています。このアーキテクチャは転移学習を容易にし、最小限の微調整で幅広いNLPタスクを実行できます。このモデルは生成的事前学習の威力を示し、より大規模なデータセットとより多くのパラメータを用いてこの潜在能力をより発揮できる他のモデルへの道を開きます。 2GPT-2 言語モデルは教師なしマルチタスク学習法(GPT-2)です。 GPT-2モデルの開発は、主に大規模なデータセットの使用と、モデルへのパラメータの追加により、より強力な言語モデルを学習することに重点を置いてきました。GPT-2モデルの主要な開発と概念を見てみましょう。 1. 学習目標と概念 以下は、NLP の文脈で説明される 2 つの重要な概念です。 • タスクコンディショニング:言語モデルの学習目標はP(出力|入力)と表記されます。しかし、GPT-2は同じ教師なしモデルを用いて複数のタスクを学習することを目的としています。そのため、学習目標はP(出力|入力, タスク)に変更する必要があります。この変更はタスクコンディショニングと呼ばれ、モデルは異なるタスクに対して同じ入力に対して異なる出力を生成することが期待されます。一部のモデルは、モデルに入力とタスクの両方が提供されるアーキテクチャレベルでタスクコンディショニングを実装します。言語モデルの場合、出力、入力、タスクはすべて自然言語のシーケンスです。したがって、言語モデルを実行するためのタスク条件は、モデルに例または自然言語の指示を提供することによって実行されます。タスクコンディショニングは、ゼロショットタスク変換の基礎を形成します。 • ゼロショット学習とゼロショートタスク遷移:GPT-2の興味深い機能の一つは、ゼロショットタスク遷移です。ゼロショット学習は、ゼロショットタスク遷移の特殊なケースであり、例が全く提供されず、モデルは与えられた指示に基づいてタスクを理解します。微調整中にシーケンスを並べ替えるGPT-1とは異なり、GPT-2の入力は、モデルがタスクの性質を理解して回答を提供することを期待する形式で与えられます。これは、サンプルのタスク遷移動作をシミュレートするために行われます。例えば、英語からフランス語への翻訳タスクの場合、モデルには英語の文の後にフランス語の単語とプロンプト(:)が与えられます。モデルはこれが翻訳タスクであることを理解し、対応する英語の文を提供する必要があります。 2. データセット 幅広く高品質なデータセットを作成するため、Redditプラットフォームからデータをスクレイピングし、高評価の投稿へのアウトバウンドリンクから抽出しました。その結果得られたデータセット「WebText」には、800万件以上のドキュメントから抽出された40GBのテキストデータが含まれています。このデータセットはGPT-2の学習に使用され、GPT-1モデルの学習に使用されたBook Corpusデータセットよりも大幅に大きいです。多くのテストセットにWikipediaの記事が含まれていたため、WebTextからすべてのWikipediaの記事は削除されました。 3. モデルアーキテクチャと実装の詳細 GPT-2は15億のパラメータを持ち、GPT-1(1億1700万のパラメータ)の10倍です。GPT-2とGPT-1の主な違いは次のとおりです。 • GPT-2 には 48 層があり、単語埋め込みに 1600 次元のベクトルを使用します。 • 50,257 個のタグを使用した、より豊富な語彙。 • 512 というより大きなバッチ サイズと、1024 個のタグを持つより大きなコンテキスト ウィンドウが使用されました。 • レイヤーの正規化は各サブブロックの入力に移動され、最後の自己注意ブロックの後に追加のレイヤーの正規化が追加されます。 • 初期化中に、残差層の重みは1/√Nでスケーリングされます。ここで、Nは残差層の数です。 • 4つの言語モデルを、117M(GPT-1と同じ)、345M、762M、および1.5B(GPT-2)のパラメータで学習しました。後続の各モデルのパープレキシティは、前のモデルよりも低くなりました。これは、同じデータセットにおける言語モデルのパープレキシティは、パラメータ数が増えるにつれて低下することを示しています。さらに、パラメータ数が最も多いモデルは、各下流タスクにおいて優れたパフォーマンスを示しました。 4. まとめ GPT-2は、読解、理解、要約、翻訳、質問応答といった下流タスクにおいて、複数のデータセットで評価されています。これらのタスクのいくつかと、それらにおけるGPT-2のパフォーマンスを詳しく見てみましょう。 • GPT-2 は、ゼロショット設定で 8 つの言語モデリング データセットのうち 7 つにおいて最先端のパフォーマンスを向上させました。 • 児童書データセットは、名詞、前置詞、固有表現などの単語クラスにおける言語モデルのパフォーマンスを評価します。GPT-2は、普通名詞と固有表現の認識において、最先端の精度を約7%向上させます。 • LAMBADAデータセットを用いて、モデルの長距離依存関係の識別と文末単語の予測における性能を評価しました。GPT-2は、パープレキシティを99.8から8.6に低減し、精度を大幅に向上させました。 • GPT-2 は、ゼロショット設定の読解タスクにおいて 4 つのベースライン モデルのうち 3 つよりも優れたパフォーマンスを発揮しました。 • フランス語から英語への翻訳タスクでは、GPT-2はゼロショット設定でほとんどの教師なしモデルよりも優れていますが、最先端の教師なしモデルよりも優れているわけではありません。 • GPT-2 はテキスト要約のパフォーマンスが低く、要約用にトレーニングされた従来のモデルと同等かそれ以下のパフォーマンスです。 • GPT-2 は、ゼロショットテストで 8 つの言語モデリング データセットのうち 7 つで最先端の結果を達成しました。 GPT-2は、より大きなデータセットとより多くのパラメータを用いた学習によって、言語モデルのタスク理解能力が向上し、ゼロショット設定において多くのタスクで最先端のパフォーマンスを上回ることを実証しています。モデルサイズの増加に伴い、パフォーマンスは対数線形に増加します。さらに、言語モデルのパープレキシティの低減は飽和せず、パラメータ数の増加とともに減少し続けます。実際、GPT-2はWebTextデータセットにアンダーフィットしており、学習時間をさらに延長することでパープレキシティがさらに低減する可能性があります。これは、モデルサイズがGPT-2の制限ではないことを示唆しています。より大きな言語モデルを構築することで、パープレキシティが低減し、言語モデルが自然言語をより深く理解できるようになるでしょう。 3GPT-3 言語モデルは、少数ショット学習器 (GPT-3) です。 最小限のデモンストレーションでタスクを理解し実行でき、微調整を必要としない非常に強力な言語モデルを構築するために、OpenAIは1750億のパラメータを持つGPT-3モデルを構築しました。このモデルは、Microsoftの強力なTuring NLG言語モデルの10倍、GPT-2の100倍のパラメータを備えています。膨大なパラメータと広範なデータセットにより、GPT-3はゼロショットおよび少数ショットの設定における下流のNLPタスクで優れたパフォーマンスを発揮しました。その大容量により、人間が書いたテキストと区別が困難な記事を作成する能力を備えています。また、数値の要約、SQLクエリとコードの作成、文章中の単語の解釈、ReactおよびJavaScriptコードの作成、タスクの自然言語による説明の提供など、これまで明示的に訓練されたことのない瞬時のタスクも実行できます。GPT-3の概念と開発、そしてモデルのより広範な影響と限界について見ていきましょう。 1. 学習目標と概念 • 文脈学習:大規模言語モデルは、学習に使用したテキストデータを用いてパターン認識などのスキルを開発します。文脈上の単語から次の単語の主な目的を予測する学習を行うと同時に、言語モデルはデータ内のパターンも識別し始め、言語モデリングタスクにおける損失を最小限に抑えます。この能力は、後にゼロショットタスク変換においてモデルを支援します。いくつかの例や実行すべき内容の説明が提示されると、言語モデルは例のパターンを類似データから学習した過去の知識と照合し、その知識を用いてタスクを実行します。これは大規模言語モデルの強力な機能であり、モデルパラメータの数が増えるにつれて増大します。 • 少数ショット、ワンショット、ゼロショット設定:前述の通り、少数ショット、ワンショット、ゼロショット設定はゼロショットタスク変換の特殊なケースです。少数ショット設定では、モデルはタスクの説明と、モデルのコンテキストウィンドウに収まる限り多くの例を提供します。ワンショット設定では、モデルは1つの例のみを提供し、ゼロショット設定では例は提供されません。モデルの少数ショット、ワンショット、ゼロショット機能は、その容量に応じて増加します。 2. データセット GPT-3は、それぞれ一定の重みが割り当てられた5つの異なるコーパスを混合して学習されました。高品質なデータセットはより頻繁にサンプリングされ、モデルはそれらを用いて複数エポックにわたって学習されました。使用された5つのデータセットは、Common Crawl、WebText2、Books1、Books2、Wikipediaです。 3. モデルと実装の詳細 • GPT-3のアーキテクチャはGPT-2と同じです。GPT-2との主な違いは次のとおりです。 • GPT-3 には 96 層があり、層ごとに 96 個の懸念事項があります。 • GPT-3の単語埋め込みサイズはGPT-2の1600から12888に増加しました。 • コンテキスト ウィンドウのサイズが GPT-2 の 1024 から GPT-3 の 2048 に増加しました。 • Adamオプティマイザーはβ_1=0.9、β_2=0.95、ε=10^(-8)で使用されます。 • 交互に密な注意パターンと局所的な縞模様の疎な注意パターンが使用されました。 4. まとめ GPT-3は、多数の言語モデルおよびNLPデータセットで評価されました。LAMBADAやPenn Tree Bankなどの言語モデルデータセットでは、GPT-3はFew-shotまたはZero-shot設定において最先端の性能を上回りました。他のデータセットでは、最先端の性能には及ばないものの、Zero-shot設定では最先端の性能を上回りました。GPT-3は、クローズドブック質問応答、パターン解析、翻訳などのNLPタスクでも非常に優れたパフォーマンスを発揮し、最先端モデルを上回る、あるいは微調整されたモデルと同等の性能を頻繁に達成しています。ほとんどのタスクにおいて、このモデルはFew-shot設定においてOne-shotおよびZero-shot設定よりも優れた性能を発揮します。 標準的なNLPタスクに加え、算術加算、単語解釈、ニュース記事生成、新語の学習と使用といった包括的なタスクでもモデルを評価しました。これらのタスクでは、パラメータの増加に伴いパフォーマンスが向上し、少数ショット設定ではシングルショット設定およびゼロショット設定を上回りました。 5. 制限と影響 GPT-3は高品質なテキストを生成できますが、長い文を作成する際に一貫性が失われ、テキストシーケンスを何度も繰り返すことがあります。さらに、GPT-3は、自然言語推論(ある文が別の文を暗示しているかどうかを判断する)、空欄補充問題、一部の読解タスクなどのタスクではパフォーマンスが低下します。GPTモデルの単方向性が限界となる可能性があり、この規模で双方向モデルをトレーニングすることでこれらの問題を克服できると示唆されています。もう1つの限界は、GPT-3の一般的な言語モデリングの目的です。これは、各トークンに均等に重み付けし、タスク指向または目標指向のトークン予測の概念を欠いています。これに対処するために、強化学習目的の使用、強化学習を使用したモデルの微調整、および他のモダリティの追加などの機能強化を採用できます。 GPT-3 のその他の制限としては、大規模なアーキテクチャによる推論が複雑でコストがかかることや、言語の解釈可能性が低いことが挙げられます。 これらの制限に加えて、GPT-3は、人間のようなテキスト生成能力をフィッシング、スパム、誤情報の拡散、その他の詐欺行為に悪用される潜在的なリスクも抱えています。さらに、GPT-3によって生成されたテキストには、学習言語のバイアスが反映されています。GPT-3によって生成された記事には、性別、民族、人種、宗教に関するバイアスが含まれている可能性があります。したがって、このようなモデルは慎重に使用し、使用前に生成されたテキストを監視することが非常に重要です。 4GPT-4 GPT-4は、人間の行動や速度パターンを模倣したテキスト生成の改善など、GPT-3と比べて飛躍的な性能向上を約束します。GPT-4は、言語翻訳、テキスト要約、その他のタスクをより汎用的かつ適応的に処理できます。GPT-4で学習されたソフトウェアは、人間のエラーが指示に干渉した場合でも、ユーザーの意図をより正確に推測できるようになります。 GPT-4はGPT-3よりわずかに大きいと推測されています。この新しいモデルは、「性能を向上させる唯一の方法は、サイズではなく機械学習パラメータに大きく依存することだ」という誤解を払拭しています。GPT-4は前世代のニューラルネットワークのほとんどよりもサイズが大きいものの、そのサイズとパフォーマンスの間には強い相関関係はありません。 最先端の言語ソフトウェアソリューションの中には、GPT-3の3倍を超える非常に高密度なモデルを実現しているものもあります。しかし、規模が大きいだけでは必ずしもパフォーマンスが向上するわけではありません。むしろ、より小規模なモデルこそが、デジタルインテリジェンスの学習において最も効率的な方法であると考えられます。より小規模なモデルは、パフォーマンスの向上だけでなく、計算コスト、二酸化炭素排出量、そして参入障壁の削減にも貢献します。 言語モデルの最大の欠点の一つは、トレーニングに利用できるリソースです。企業はしばしば精度を犠牲にしてコストを削減しようとしますが、その結果、AIモデルは著しく最適化されていない状態になります。通常、AIは一度しか学習させられないため、学習率、バッチサイズ、シーケンス長などの特徴量に最適なハイパーパラメータセットを獲得することができません。近年、ハイパーパラメータのチューニングはパフォーマンス向上の最も重要な要素の一つであることが証明されています。しかし、これは大規模モデルでは実現不可能です。小規模なシステムで新しいパラメータ化モデルをわずかなコストでトレーニングし、その後、実質的にコストをかけずにハイパーパラメータを大規模システムに移植することが可能です。 したがって、GPT-4はGPT-3よりも強力になるために、モデルサイズを大幅に大きくする必要はありません。その最適化は、モデルサイズ以外の変数、例えばデータ品質の向上などに基づいて行われます。適切なハイパーパラメータセット、最適なモデルサイズ、そして正確なパラメータ数を用いてGPT-4を微調整することで、あらゆるベンチマークにおいて驚異的なパフォーマンスを達成できます。 GPT-4は、より強力な機能とより効率的なリソース利用の提供に重点を置いています。大規模モデルに依存するのではなく、小規模モデルを最大限に活用するように最適化されています。十分な最適化により、小規模モデルは大規模モデルに追いつくか、あるいは凌駕することさえ可能です。さらに、小規模モデルの実装により、より費用対効果が高く環境に優しいソリューションの構築が可能になります。 語彙: 補助学習目標は、主な学習目標と一緒に学習される追加のトレーニング目標またはタスクであり、モデルをより一般化することでモデルのパフォーマンスを向上させます。 マスキングとは、文中の単語を削除したり、他の仮想トークンに置き換えたりすることで、トレーニング中にモデルがそれらの単語にアクセスできないようにすることを指します。 バイトペアエンコーディングは、データ圧縮技術の一種で、頻繁に出現する連続するバイトペアを、データに存在しないバイトに置き換えて圧縮します。元のデータを復元するために、置き換えられたバイトのマッピングを含むテーブルが使用されます。 ゼロショット学習(または動作)とは、過去の例を全く見なくてもタスクを実行できるモデルの能力を指します。ゼロショット学習では勾配の更新は行われません。つまり、モデルは過去の例を見ることなくタスクを理解できるはずです。 ゼロショットタスク変換、またはメタ学習とは、タスクを理解するためにモデルがほとんどまたは全く例にさらされない設定を指します。 混同は言語モデルの標準的な評価指標です。混同は、テストセットの逆確率をテストセット内の単語数で正規化した値です。混同レベルが低い言語モデルは、混同レベルが高い言語モデルよりも優れているとみなされます。 |