ホームページ >テクノロジー周辺機器 >AI >NLP に適切な言語モデルを選択する
翻訳者|Cui Hao
査読者|Sun Shujuan
ほとんどの LLM は同様のライフサイクルに従います。まず、「上流」でモデルが事前トレーニングされます。データ量と計算要件が大きいため、これは主に大手テクノロジー企業や大学の特権となっています。最近では、LLM 分野の開発を共同で進めるためのコラボレーション (BigScience ワークショップなど) も行われています。 Cohere や AI21 Labs など、資金豊富な少数のスタートアップ企業も、事前トレーニングされた LLM を提供しています。
リリース後、モデルはアプリケーションに重点を置いた開発者や企業によって「下流」に採用され、デプロイされます。この段階では、ほとんどのモデルでは、特定のドメインとタスクに適合させるために追加の微調整ステップが必要です。 GPT-3 などの他の言語は、予測 (ゼロまたは少数の予測) 中にさまざまな言語タスクを直接学習できるため、より便利です。
最後に、時間が扉をノックし、より多くのパラメーター、より効率的なハードウェアの使用、または人間の言語のモデリングにおけるより根本的な改善を備えた、より良いモデルがすぐに現れます。実質的なイノベーションにつながるモデルは、モデル ファミリ全体を生み出す可能性があります。たとえば、BERT は BERT-QA、DistilBERT、RoBERTa の中で存続しており、これらはすべてオリジナルのアーキテクチャに基づいています。
次の章では、このライフサイクルの最初の 2 つの段階、つまり事前トレーニングと展開のための微調整について説明します。
ほとんどのチームと NLP 実践者は、LLM の事前トレーニングには参加しませんが、その微調整と展開には参加します。ただし、モデルを適切に選択して使用するには、「内部で」何が起こっているのかを理解することが重要です。このセクションでは、LLM の基本成分を見ていきます。
各項目は選択に影響を与えるだけでなく、LLM の微調整と展開にも影響します。
LLM トレーニングに使用されるデータのほとんどは、文献、ユーザー生成コンテンツ、ニュース データなど、さまざまなスタイルをカバーするテキスト データです。さまざまな異なるテキスト タイプを確認した後、結果として得られるモデルは言語の詳細を認識するようになります。多くの場合、テキスト データに加えて、効果的なプログラムやコード スニペットを生成するようにモデルを教えるための入力としてコードが使用されます。
予想どおり、トレーニング データの品質はモデルのパフォーマンスに直接影響し、必要なモデルのサイズにも影響します。トレーニング データをより賢明な方法で準備すると、データ サイズを削減しながらモデルの品質を向上させることができます。一例は T0 モデルです。これは GPT-3 の 16 分の 1 ですが、さまざまなベンチマーク タスクで GPT-3 を上回ります。ここにトリックがあります。トレーニング データとしてテキストを使用するだけではなく、タスク式を直接使用して、学習信号をより焦点を絞ったものにします。図 3 は、いくつかのトレーニング例を示しています。
図 3: 明確に定義された広範囲の言語タスクでトレーニングされた T0
#トレーニング データに関する最後の注意: 言語モデルが基づいているとよく聞きます。監視付きトレーニングについて。このアプローチは魅力的ですが、技術的には間違っています。それどころか、適切にフォーマットされたテキストは、必要な学習シグナルをすでに提供しているため、面倒な手動のデータ注釈プロセスから私たちを救ってくれます。予測されるラベルは、文内の過去および/または未来の単語に対応します。その結果、アノテーションが自動的かつ大規模に行われ、現場での比較的迅速な進歩が可能になります。 2. 入力表現トレーニング データが組み立てられたら、それをモデルが適用できる形式にパッケージ化する必要があります。ニューラル ネットワークには代数構造 (ベクトルと行列) が与えられます。言語の最適な代数表現は、単純なフレーズから高度に区別されたコンテキスト情報を含むものまで、継続的な検索です。新しいステップが発生するたびに、自然言語の複雑さが増し、現在の表現の限界が明らかになります。 言語の基本単位は単語です。 NLP の初期には、これにより、順序に関係なくテキスト内のすべての単語を一緒に投げるバッグオブワード表現が生まれました。これら 2 つの例を見てください。 バッグオブワードの世界では、これらの文は同じ単語で構成されているため、まったく同じ表現になります。明らかに、これはその意味のほんの一部しか網羅していません。 シーケンス表現には語順に関する情報が含まれます。深層学習では、シーケンスの処理は当初、順序認識リカレント ニューラル ネットワーク (RNN) に実装されました。ただし、さらに一歩進んで、言語の基本構造は純粋に逐次的ではなく、階層的です。言い換えれば、私たちはリストについて話しているのではなく、ツリーについて話しているのです。実際、離れた単語は、隣接する単語よりも構文的および意味的なつながりが強くなることがあります。以下の例を参照してください。 ここで、彼女はあの女の子のことを指します。 RNN が文の終わりに達し、最終的に彼女に会うまでに、文の最初の記憶はすでに薄れている可能性があり、そのため関係を修復することはできません。これらの長距離依存関係を解決するために、より識別力のある文脈記憶を構築するための、より複雑な神経構造が提案されています。未来予測に関連した単語を記憶に留め、他の単語は忘れるというのが目的です。これは、Long Short-Term Memory (LSTM) ユニットと Gated Recurrent Units (GRU) の貢献です。ただし、これらのモデルは、予測される特定の場所に対して最適化されているのではなく、一般的な将来の状況に対して最適化されています。さらに、構造が複雑なため、従来の RNN よりもトレーニングに時間がかかります。
最後に、人々は再帰を放棄し、アテンション メカニズムを提案し、それを Transformer アーキテクチャに組み込みました。アテンションにより、モデルは予測中に異なる単語の間を行ったり来たりすることに焦点を当てることができます。各単語は、予測される特定の場所との関連性に応じて重み付けされます。上の文の場合、モデルが「彼女」の位置に到達すると、線形順序ではるかに離れているにもかかわらず、girl の重みは at よりも高くなります。
これまでのところ、注意のメカニズムは情報処理における人間の脳の生物学的動作に最も近いものです。研究によると、注意を払うことで、一連の複雑な構文現象を含む階層構文構造を学習できることがわかっています。また、並列コンピューティングにより、より高速かつ効率的なトレーニングが可能になります。
適切なトレーニング データ表現があれば、モデルは学習を開始できます。言語モデルの事前トレーニングには、シーケンスからシーケンスへの変換、自己回帰、自動エンコーディングという 3 つの一般的な目標があります。これらすべてを行うには、モデルが広範な言語知識を持っていることが必要です。
エンコーダ/デコーダ アーキテクチャと Transformer モデルによって解決される元のタスクは、シーケンスからシーケンスへの変換です。シーケンスは、異なる表現フレームワークのシーケンスに変換されます。古典的なシーケンス間のタスクは機械翻訳ですが、要約などの他のタスクもこの方法で定式化されることがよくあります。ターゲット シーケンスはテキストである必要はなく、画像などの他の非構造化データや、プログラミング言語などの構造化データも使用できることに注意してください。シーケンスツーシーケンス LLM の例としては、BART シリーズがあります。
2 番目のタスクは自動回帰で、これは元の言語モデリングの目標でもあります。自己回帰では、モデルは前のトークンに基づいて次の出力 (トークン) を予測することを学習します。学習シグナルは、企業の一方向の性質によって制限されます。モデルは、予測されたトークンの右側または左側からの情報のみを使用できます。単語は過去と未来の両方の位置に依存する可能性があるため、これは大きな制限です。例として、書かれた動詞が次の文に双方向でどのような影響を与えるかを考えてみましょう。
ここでは、論文の位置は書き込み可能なものに制限されており、学生の位置は人間、または少なくとも別の知的存在に制限されています。書き込み可能。
今日の見出しにある LLM の多くは、GPT シリーズ、PaLM、BLOOM など自己回帰的です。
3 番目のタスクである自動エンコードは、一方向の問題を解決します。自動エンコーディングは、古典的な単語の埋め込みを学習することに非常に似ています。まず、入力内の一定の割合のトークン (通常は 10 ~ 20%) を非表示にすることで、トレーニング データを破損します。次にモデルは、前後のマーカーを考慮して、周囲の環境に基づいて正しい入力を再構築することを学習します。オートエンコーダの典型的な例は BERT ファミリです。ここで、BERT は、Transformers からの Bidirectional Encoder Representation の略です。
言語モデルの基本コンポーネントはエンコーダーとデコーダーです。エンコーダは、生の入力を「隠れ」ベクトルとも呼ばれる高次元の代数表現に変換します。ちょっと待ってください -- 隠れていますか?そうですね、現時点では大きな秘密はありません。確かに、表現を見ることはできますが、数値の長いベクトルは人間にとって意味のあるものを何も伝えません。これを処理するには、モデルの数学的知性が必要です。デコーダは、隠された表現を別の言語、プログラミング コード、画像などの理解可能な形式で再現します。
図 4: エンコーダ-デコーダ アーキテクチャの基本パターン
エンコーダ-デコーダ アーキテクチャは、もともとリカレント ニューラル ネットワークのために導入されました。アテンションベースの Transformer モデルの導入以来、従来の再帰は人気を失いましたが、エンコーダとデコーダの考え方は残りました。ほとんどの自然言語理解 (NLU) タスクはエンコーダーに依存しますが、自然言語生成 (NLG) タスクはデコーダーを必要とし、シーケンスからシーケンスへの変換には両方のコンポーネントが必要です。
ここでは、Transformer のアーキテクチャとアテンション メカニズムの詳細については説明しません。これらの詳細をマスターしたい人は、それを理解するのに多くの時間を費やすことを覚悟してください。
言語モデリングは強力な上流タスクです -- 言語モデルが成功したら、おめでとうございます --これスマートなモデルです。代わりに、NLP は感情分析、質問応答、情報抽出など、よりターゲットを絞った下流タスクに主に使用されます。これは、より具体的な課題に対処するために転移学習が適用され、既存の言語知識が再利用されるときです。微調整中、モデルの一部は「フリーズ」され、残りの部分は特定のドメインまたはタスクからのデータを使用してさらにトレーニングされます。
明示的な微調整により、LLM の展開がさらに複雑になります。また、モデルの爆発的な増加につながる可能性もあり、各ビジネス タスクには独自の微調整されたモデルが必要となり、モデルの多様性が維持不可能になります。したがって、微調整ステップ (GPT-3 など) を排除するために、学習ステップをほとんどまたはまったく使用しないという取り組みが行われてきました。この学習は予測プロセス中に発生します。モデルには、将来のインスタンスの予測をガイドするための「ヒント」(タスクの説明と、場合によってはいくつかのトレーニング例)が提供されます。
実装ははるかに高速ですが、学習数がゼロまたは少数であるという利便性の要素は、予測品質の低下によって相殺されます。さらに、これらのモデルの多くはクラウド API 経由でアクセスする必要があります。開発の初期段階では、これは歓迎される機会かもしれませんが、より進んだ段階では、さらに別の望ましくない外部依存関係に変わる可能性があります。
人工知能市場で新しい言語モデルが継続的に供給されていることに注目して、特定の下流タスクに適切なモデルを選択し、常に最新の状態に追いつきます。最先端のテクノロジー 同期は難しいです。
研究論文では、特定の下流タスクおよびデータセットに基づいて各モデルのベンチマークを行うことがよくあります。 SuperGLUE や BIG ベンチなどの標準化されたタスク スイートにより、多数の NLP タスクの統合ベンチマークが可能になり、比較の基礎が提供されます。ただし、これらのテストは高度に管理された環境で準備されることを忘れないでください。現在のところ、言語モデルの一般化機能はかなり制限されているため、現実のデータセットに転送すると、モデルのパフォーマンスに大きな影響を与える可能性があります。適切なモデルの評価と選択には、実稼働データにできる限り近いデータでの実験の実施が含まれる必要があります。
経験則として、事前トレーニング ターゲットは重要なヒントを提供します。自己回帰モデルは会話型 AI、質問応答、テキスト要約などのテキスト生成タスクで優れたパフォーマンスを発揮しますが、自動エンコーダーは「理解」に優れています。感情分析やさまざまな情報抽出タスクなどに使用される構造化言語。理論的には、ゼロポイント学習に使用されるモデルは、適切なヒントを受け取っている限り、さまざまなタスクを実行できますが、その精度は通常、微調整されたモデルよりも低くなります。
物事をより具体的にするために、以下の図は、一般的な NLP タスクが NLP 文献で顕著な言語モデルにどのように関連しているかを示しています。これらの関連性は、埋め込み類似性や距離加重共起などのさまざまな類似性および集計尺度に基づいて計算されます。 BART/テキスト要約や LaMDA/会話型 AI など、スコアの高いモデルとタスクのペアは、履歴データに基づいて良好な一致を示しています。
図 5: 言語モデルと下流タスク間の関連性の強さ
この記事では、 LLM の基本概念と、イノベーションが起こっている主な側面について説明します。以下の表は、最も一般的な LLM の主な機能の概要を示しています。
表 1: 最も人気のある大規模言語モデルの機能の概要
選択と LLM に関する一般的なガイドラインをまとめてみましょう。
1. 潜在的なモデルを評価するときは、AI の旅のどの段階にいるのかを明確にしてください。
2.下流のタスクに合わせて、AI チームは次の基準に基づいてモデルの候補リストを作成する必要があります。
学術文献における下流タスクとベンチマーク結果に焦点を当てる
トレーニング前の目標と下流タスクの一貫性: NLGU の自動エンコードと NLG リターンの自動エンコードを検討します。
このモデルとタスクの組み合わせに関する以前に報告された経験。
3. 最終候補リストに挙げられたモデルをテストして、実際のタスクとデータ セットを理解し、パフォーマンスの初期感触をつかみます。
4. ほとんどの場合、特殊な微調整を行うことで品質を向上させることができます。ただし、社内に微調整のための技術的能力や予算がない場合、または多数のタスクをカバーする必要がある場合は、少数またはゼロショットの学習を検討してください。
5.LLM のイノベーションとトレンドは短命です。言語モデルを扱うときは、言語モデルのライフ サイクルと LLM ドメインの全体的なアクティビティに注意し、ゲームをステップアップする機会に注意してください。
最後に、LLM の制限事項に注意してください。彼らは言語を生成する人間に似た驚くべき能力を持っていますが、彼らの全体的な認知能力は私たち人間のそれには及びません。これらのモデルの世界知識と推論能力は、言語の表面にある情報に厳密に限定されています。また、事実を適時に把握できず、瞬きすることなく古い情報を提供する可能性があります。最新のナレッジ、または未加工のナレッジの生成に依存するアプリケーションを構築している場合は、LLM を追加のマルチモーダル、構造化された、または動的なナレッジ ソースと組み合わせることを検討してください。
元のリンク: https://www.topbots.com/choosing-the-right- language-model/
Cui Hao、51CTO コミュニティ編集者、ソフトウェア開発とアーキテクチャで 18 年の経験、分散アーキテクチャで 10 年の経験を持つシニア アーキテクトです。
以上がNLP に適切な言語モデルを選択するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。