論文の読み方 大規模言語モデルの調査 1

まとめ

機械言語インテリジェンス、特に大規模な事前トレーニング済み言語モデル (PLM) の開発について説明します。このレビューでは、統計言語モデル、ニューラル言語モデルから事前学習済み言語モデル (PLM) までの言語モデルの進化について詳しく説明します。著者らは、特定のパラメータ サイズを超える大規模 LLM のモデル拡張が新しい機能の出現につながることを強調しています。この現象は、複雑なタスクを解決し、人間との優れた会話能力を発揮できる、ChatGPT などの強力な AI チャットボットの作成につながりました。このレビューでは、LLM の事前トレーニング、適応、活用、能力評価など、LLM のパフォーマンスを評価し、理解する必要性を強調しています。この論文では、LLM の開発には学術研究だけでなく、大規模データ処理や分散並列コンピューティングの実践経験も含まれることを説明します。このレビューは、LLM に関する文献の包括的なレビューを提供し、研究者とエンジニアの両方にとって有用なリソースです。

導入

言語は人間にとって最も重要なコミュニケーション手段ですが、機械は人間の言語を自然に理解して使用することはできません。言語モデリングは、機械言語インテリジェンスを向上させるための主要なアプローチの 1 つであり、将来の (または欠落した) トークンの確率を予測することを目的としています。LM 研究は 4 つの発展段階を経てきました。人間のように読み取り、書き込み、通信を行うマシンを実現することは、長年の研究課題でした。

  • 統計的言語モデル (SLM) は、マルコフ仮定に基づく単語予測モデルであり、次の単語を予測することでタスクのパフォーマンスを向上させ、情報検索 (IR) で広く使用されています。N グラム言語モデルは、バイグラム言語モデルやトライグラム言語モデルなど、コンテキストの長さ n が固定されている特別な種類の SLM です。ただし、高次言語モデルの推定にはデータの疎性の問題があり、これにより遷移確率を正確に推定することが困難になるため、バックオフ推定やグッドチューリング推定などの特別に設計された平滑化戦略が必要になります。
  • ニューラル言語モデル (NLM) は、ニューラル ネットワークを通じて一連の単語の確率を表すモデルです。NLM の開発は、単語の分散表現の概念の導入、単語や文の効果的な特徴を学習するというアイデアを拡張した一般的なニューラル ネットワーク手法の開発、およびその構築など、多くのマイルストーンとなる研究を経てきました。単純化された浅いニューラル ネットワークの分散単語表現を学習するためのネットワーク word2vec。これらの研究は、表現学習における言語モデルの応用の先駆けとなり、自然言語処理の分野に重要な影響を与えました。
  • 事前トレーニング済み言語モデル (PLM) は、NLP タスクにおける重要なツールであり、セルフ アテンション メカニズムに基づいた高度に並列化された Transformer アーキテクチャである ELMo や BERT などの初期の試みが提案されました。これらの事前トレーニング済みのコンテキストを認識した単語表現は、汎用のセマンティック機能として非常に効果的であり、NLP タスクのパフォーマンス バーを大幅に向上させることができます。その後の作業では、さまざまなアーキテクチャが導入され、事前トレーニング戦略が改善されました。通常、PLM はさまざまなダウンストリーム タスクに合わせて微調整する必要があります。
  • 大規模言語モデル (PLM) をスケーリングすると、モデルの容量とパフォーマンスが向上することが多く、研究コミュニティはこれらの大規模 PLM を指す「大規模言語モデル (LLM)」という用語を作りました。スケーリングは主にモデル サイズに基づいて行われますが、大規模な PLM は小規模な PLM とは異なる動作を示し、複雑なタスクを解決する際に驚くべき機能を示します。ChatGPT2 は、人間との素晴らしい会話を可能にする LLM の優れたアプリケーションです。

このペーパーでは、自然言語生成モデル (LLM) の開発と使用のための技術と方法に焦点を当てて、自然言語生成モデル (LLM) の最新の進歩を紹介し、事前トレーニング、適応、利用、および能力評価の 4 つの側面における最新の進歩の概要を示します。 。LLM には、小規模 PLM との主な違いが 3 つあります。1 つは、驚くべき新機能を示すこと、人間が AI アルゴリズムを開発および使用する方法を変えること、トレーニングにおける大規模なデータ処理や分散並列トレーニングなどのエンジニアリング上の問題が含まれることです。LLM の進歩と影響にもかかわらず、その基礎となる原理はまだ十分に調査されていません。さらに、モデルの事前トレーニングには莫大なコストがかかり、多くの詳細が一般公開されていないため、研究コミュニティがモデルに対応する有能な LLM をトレーニングすることは困難です。記事は、LLMの研究開発には機会と課題の両方の特徴があり、注目に値すると指摘している。最後に、この記事ではこの調査の主な結果を要約し、今後の作業に残された問題について説明します。

レビュー

このセクションでは、重要な用語、機能、テクニックなど、LLM の背景を紹介します。

大規模言語モデルとは、大量のテキスト データでトレーニングされた数千億のパラメータを持つ言語モデルを指し、Transformer アーキテクチャと事前トレーニング ターゲットを使用して、自然言語の理解と言語生成能力を向上させます。高品質のテキスト。モデル サイズの増加は大まかにスケーリング則に従いますが、一部の機能はモデル サイズが特定のレベルを超えた場合にのみ観察されます。

LLM には緊急機能があり、その緊急機能は大規模モデルには表示されますが、小規模モデルには表示されません。出現する能力は、等価性が一定レベルに達すると、ランダムレベルよりも大幅に性能が高くなります。LLM の創発モードは、物理学における相転移現象と密接に関連しています。LLM には 3 つの典型的な創発能力があり、これらは複数のタスクを解決する一般的な能力に適用できます。

  1. GPT-3 は、追加のトレーニングや勾配更新を行わずに、入力テキストの単語シーケンスを完成させることでコンテキスト内で学習し、テスト インスタンスに期待される出力を生成できます。
  2. 命令チューニングを通じて、明示的な例を使用せずにタスク命令を理解することで新しいタスクを実行できるようになり、一般化が向上します。
  3. 思考連鎖推論戦略を使用すると、中間推論ステップを含むヒント メカニズムを使用して複雑なタスクを解決できます。この能力は、コードのトレーニングを通じて獲得できます。

LLM のキーテクノロジーLLM は、高い学習能力を備えた機械学習モデルです。長い開発期間を経て、そのキーテクノロジーは継続的に改善され、LLM の能力が向上しました。いくつかの成功した重要テクノロジーには、次のものがあります。 LLM と効率。

この論文では、主にスケーラビリティ、励起能力、アラインメント調整、外部ツールの使用などを含む言語モデルの最適化方法について説明します。スケーラビリティはモデルの容量を向上させるための重要な要素であり、この方法ではモデル サイズ、データ サイズ、総計算量の 3 つの側面で最適なスケジューリングを考慮する必要があります。動機付けには、モデルの問題解決能力を開発するために、適切なタスクの指示や状況固有の戦略を考案することが含まれます。アライメント調整は、モデルが人間の価値観と一致していることを確認し、人間にとって有毒で偏った有害なコンテンツがモデルによって生成されるのを防ぐための方法です。最後に、外部ツールを使用すると、テキストの生成と最新情報へのアクセスの点でモデルの欠点を補うことができます。これらの方法を通じて、より信頼性が高く効果的な言語モデルを構築できます。

さらに、ハードウェアのアップグレードなど、他の多くの要因も LLM の成功に貢献します。それまでの間、LLM を開発するための技術的なアプローチと重要な発見に限定して議論します。

LLMS リソース

技術的な問題や計算リソースの要件を考慮すると、LLM の開発または複製は簡単ではありません。実現可能なアプローチは、既存の LLM の経験と公開リソースを増分開発または研究に使用することです。これには、オープン ソース モデルのチェックポイントと API、利用可能なコーパス、LLM 用の便利なライブラリが含まれます。このセクションでは、これらのリソースを要約します。

公開されているモデル チェックポイントまたは API

モデルの事前トレーニングには膨大なコストが必要となるため、十分にトレーニングされたモデルのチェックポイント設定が重要になります。パラメーターのスケールは LLM を使用するための重要な要素であるため、これらの公開モデルを 2 つのスケール レベル (つまり、数十億のパラメーターまたは数百億のパラメーター) に分類し、ユーザーがリソースの予算に応じて適切なリソースを選択できるようにします。また、推論の場合、モデルをローカルで実行せずにパブリック API を直接使用してタスクを実行できます。このセクションでは、LLM の一般的なチェックポイントと API の使用法を簡単にまとめます。

数十億のパラメータを持つモデル

ほとんどのオープンソース モデルのパラメータ サイズは 10B ~ 20B ですが、LLaMA の最大バージョンには 65B のパラメータが含まれています。他のモデルには、mT5、T0、GPT-NeoX-20B、CodeGen、UL2、Flan-T5、mT0、pangua などがあります。これらのモデルのうち、Flan-T5 (バージョン 11B) は命令チューニングの研究に適しており、CodeGen (バージョン 11B) はコード生成に適しています。多言語タスクの場合は、mT0 (バージョン 13B) を検討できます。Pangu-α は中国のダウンストリーム タスクで優れたパフォーマンスを発揮します。最大バージョンには 200B のパラメータがありますが、LLaMA には数千の GPU または TPU が必要です。たとえば、GPT-NeoX-20B は 12 台の Supermicro サーバーを使用しますが、LLaMA は 2048 台の A100-80G GPU を使用します。必要なコンピューティング リソースを見積もるには FLOPS を使用することをお勧めします。

数千億のパラメータを持つモデル

数千億のパラメータを持つ一部のモデルについては、OPT[79]、OPT-iml[83]、BLOOM[66]、BLOOMZ[82] など、一部のみが公開されています。このうち、OPT (バージョン 175B) はオープンソースの共有に使用されており、大規模な再現可能な研究に使用できます。これらのモデルは、トレーニングのために数千の GPU または TPU を必要とします。Galatica、GLM、および OPT-IML は命令を使用してチューニングされており、命令チューニングの効果を研究するのに適した候補となる可能性があります。BLOOM と BLOOMZ は、言語を超えた一般化研究の基本モデルとして使用できます。

LLM パブリック API

API はモデルをローカルで実行する必要がないため、ユーザーに便利な使用方法を提供します。その中で、GPT シリーズ モデルの API は広く使用されており、ada、babbage、curie、davinci、text-ada-001、text-babbage-001、text-curie-001 の 7 つの主要なインターフェイスが含まれます。これらのインターフェイスは、OpenAI のホスト サーバーでさらに調整できます。Babbage、Curie、Da Vinci は GPT-3 モデルの異なるバージョンに対応しており、Codex 関連の API や GPT-3.5 シリーズなどの拡張バージョンもあります。GPT-4 シリーズの API が最近リリースされましたが、具体的な選択はアプリケーションのシナリオと応答要件によって異なります。詳細はプロジェクトWebサイトをご覧ください。
ここに画像の説明を挿入

共通コーパス

LLM は多数のパラメータで構成され、広範囲の内容をカバーする必要があるため、より多くのトレーニング データが必要です。このニーズを満たすために、ますます多くのトレーニング データセットが研究用にリリースされています。これらのコーパスは、コンテンツ タイプに基づいて、書籍、CommonCrawl、Reddit リンク、Wikipedia、コード、その他の 6 つのグループに分類されます。

BookCorpus と Project Gutenberg は小規模および大規模な書籍コーパスとして一般的に使用されており、後者には 70,000 冊を超えるさまざまな文学書籍が含まれています。GPT-3 で使用されるより大きな Books1 と Books2 はまだ一般公開されていません。これらのデータセットは、機械翻訳、自然言語生成、その他の言語処理タスクのトレーニングに広く使用されています。

コモンクロール

オープンソースの Web クローリング データベース CommonCrawl は、最大規模のデータベースの 1 つであり、ギガバイトのデータ量を含みますが、Web データ内のノイズや低品質の情報のため、前処理が必要です。既存の作業で一般的に使用されるフィルター データセットは、C4、CCStories、CC-News、RealNews の 4 つです。その中で、C4 には 5 つのバリアントが含まれており、さまざまなモデルのトレーニングに使用されています。CommonCrawl データのサブセットである CC-Stories は利用できなくなりましたが、複製されたバージョンは存在します。さらに、CommonCrawl から抽出された 2 つのニュース コーパス REALNEWS と CC-News も事前学習データとしてよく使用されます。

レディットのリンク

Reddit は、ユーザーがリンクやテキスト投稿を共有し、他のユーザーがこれらの投稿の品質について投票できるソーシャル メディア プラットフォームです。一部の高品質な投稿は、WebText や PushShift.io などの高度なデータセットの作成に使用できます。WebText は Reddit プラットフォームからの高評価の投稿のコーパスですが、リソースは公開されていません。代替手段として、オープン ソース ツール OpenWebText を利用することもできます。一方、PushShift.io は、初期処理や調査のためにユーザーが簡単に検索できるリアルタイム更新のデータセットと完全な履歴データを提供します。

ウィキペディア

ウィキペディアは、幅広いトピックや分野をカバーし、解説的な文体で構成された高品質のオンライン百科事典です。英語でフィルタリングされたバージョンは、GPT-3、LaMDA、LLaMA などの LLM でよく使用されます。同時に、Wikipedia には複数の言語バージョンも用意されており、さまざまな言語環境で使用できます。

コード

この作業は主にインターネットからオープン ソースのライセンス コードを取得し、主なソースには GitHub と StackOverflow が含まれます。Google は、さまざまなプログラミング言語のオープン ソース ライセンス コード スニペットを含む BigQuery データセットをリリースしました。CodeGen は BIGQUERY のサブセットを使用して多言語バージョンをトレーニングします。 。

他の

Pile は、800 GB を超えるデータを含む大規模で多様なオープンソースのテキスト データセットで、22 の高品質のサブセットで構成されています。Pile データセットは、さまざまなパラメーター スケールのモデルに広く使用されています。ROOTS は 59 の異なる言語をカバーしており、合計 1.61 TB のテキストが BLOOM のトレーニングに使用されます。

LLM は、事前トレーニングに単一のコーパスではなく複数のデータ ソースを使用するようになりました。現在の研究では、混合処理に複数の既製のデータセットを使用していますが、事前トレーニング データを強化するために関連するソースからデータを抽出する必要もあります。中でも GPT-3、PaLM、LLaMA が代表的な LLM であり、その事前学習コーパスには CommonCrawl、WebText2、Wikipedia、ソーシャル メディア会話、Github などの複数のソースが含まれています。このうち、GPT-3 は 175B の混合データセットでトレーニングされていますが、PaLM と LLaMA のトレーニング前のデータセット サイズは、それぞれ 540B と 1.0T ~ 1.4T トークンです。
ここに画像の説明を挿入
ここに画像の説明を挿入

図書館リソース

言語モデル開発に使用できるいくつかのライブラリについて説明します。これらの中で最も人気のあるのは、Hugging Face によって管理されている Transformers です。これは、Transformer 構造を使用し、事前トレーニングされたモデルとデータ処理ツールを提供します。Microsoft の DeepSpeed と NVIDIA の Megatron-LM はどちらも、分散トレーニングおよび最適化技術をサポートしています。Google Brain の JAX はハードウェア アクセラレーションのサポートを提供し、EleutherAI の Colossal-AI は JAX に基づいて ColossalChat モデルを開発します。OpenBMB の BMTrain はシンプルさと使いやすさに重点を置いており、FastMoE は専門家混合モデルのトレーニングをサポートしています。これらのライブラリに加えて、既存の深層学習フレームワーク (PyTorch、TensorFlow など) も並列アルゴリズムのサポートを提供します。

おすすめ

転載: blog.csdn.net/u010095372/article/details/129956298