スタブ トランス モデルによる NLP ライズ | T5、BERT、GPT の包括的な分析 - Unite.AI
私達と接続

Artificial Intelligence

トランス モデルによる NLP ライズ | T5、BERT、GPT の包括的な分析

mm

公開済み

 on

NLP に関するガイド

自然言語処理 (NLP) は、主にトランスフォーマー アーキテクチャにより、近年最も影響力のあるブレークスルーを経験しました。これらのブレークスルーは、人間の言語を理解して生成する機械の能力を強化しただけでなく、検索エンジンから会話型 AI に至るまで、数多くのアプリケーションの状況を再定義しました。

変圧器の重要性を十分に理解するには、まずこの革新的なアーキテクチャの基礎を築いた前任者と構成要素を振り返る必要があります。

初期の NLP テクニック: トランスフォーマー以前の基礎

Word 埋め込み: One-Hot から Word2Vec へ

従来の NLP アプローチでは、単語の表現は多くの場合文字通りであり、意味論的または構文的な理解を欠いていました。 ワンホット エンコーディングは、この制限の主な例です。

ワンホット エンコーディングは、カテゴリ変数をバイナリ ベクトル表現に変換するプロセスで、1 つのビットだけが「ホット」 (0 に設定) で、他のビットはすべて「コールド」 (0 に設定) になります。 NLP のコンテキストでは、語彙内の各単語はワンホット ベクトルで表されます。各ベクトルは語彙のサイズであり、各単語は、その単語に対応するインデックスですべて 1 と XNUMX つの XNUMX を持つベクトルで表されます。語彙リスト。

ワンホットエンコーディングの例

[「王」、「女王」、「男性」、「女性」、「子供」] という XNUMX つの単語のみを含む小さな語彙があると仮定します。 各単語のワンホット エンコーディング ベクトルは次のようになります。

  • 「王様」 -> [1, 0, 0, 0, 0]
  • 「女王」 -> [0, 1, 0, 0, 0]
  • 「男」 -> [0, 0, 1, 0, 0]
  • 「女性」 -> [0, 0, 0, 1, 0]
  • 「子」 -> [0, 0, 0, 0, 1]

数学的表現

と表すと 私たちの語彙のサイズとして、そして 語彙内の i 番目の単語のワンホット ベクトル表現として、次の数学的表現となります。 だろう:

ここで、i 番目の位置は 1 で、他のすべての位置は 0 です。

ワンホット エンコーディングの主な欠点は、各単語が他の単語と関係なく、独立したエンティティとして扱われることです。 その結果、単語に関する意味情報や構文情報がまったく捕捉されない、まばらな高次元ベクトルが生成されます。

単語埋め込み、特に Word2Vec の導入は、NLP において極めて重要な瞬間でした。 2013 年に Tomas Mikolov 率いる Google のチームによって開発された Word2Vec は、高密度のベクトル空間で単語を表現し、大規模なテキスト コーパス内のコンテキストに基づいて構文的および意味的な単語の関係をキャプチャします。

ワンホット エンコーディングとは異なり、Word2Vec は通常数百次元の高密度ベクトルを生成します。 「キング」と「クイーン」など、類似した文脈で出現する単語は、ベクトル空間内で互いに近いベクトル表現を持ちます。

説明のために、Word2Vec モデルをトレーニングし、仮想の 3 次元空間で単語を表すと仮定します。 埋め込み (通常は 3D 以上ですが、ここではわかりやすくするために縮小しています) は次のようになります。

  • 「キング」 -> [0.2、0.1、0.9]
  • 「クイーン」 -> [0.21、0.13、0.85]
  • 「男」 -> [0.4, 0.3, 0.2]
  • 「女性」 -> [0.41, 0.33, 0.27]
  • 「子」 -> [0.5、0.5、0.1]

これらの数字は架空のものですが、類似した単語が類似したベクトルを持つことを示しています。

数学的表現

単語の Word2Vec 埋め込みを次のように表すと、 、そして私たちの埋め込み空間は 寸法、その後 は次のように表すことができます。

意味論的な関係

Word2Vec は、類推などの複雑な関係もキャプチャできます。 たとえば、Word2Vec 埋め込みによってキャプチャされた有名な関係は次のとおりです。

ベクトル(「王」) – ベクトル(「男性」) + ベクトル(「女性」)≈ベクトル(「女王」)

これが可能になるのは、Word2Vec がトレーニング中に単語ベクトルを調整し、コーパス内で共通のコンテキストを共有する単語がベクトル空間内で密接に配置されるようにするためです。

Word2Vec は、Continuous Bag-of-Words (CBOW) と Skip-Gram という XNUMX つの主要なアーキテクチャを使用して単語の分散表現を生成します。 CBOW は周囲の文脈単語からターゲット単語を予測しますが、Skip-Gram はその逆で、ターゲット単語から文脈単語を予測します。 これにより、機械は単語の使用法や意味をより微妙な方法で理解できるようになりました。

シーケンス モデリング: RNN と LSTM

この分野が進むにつれて、機械翻訳、テキストの要約、センチメント分析などのタスクにとって重要なテキストのシーケンスを理解することに焦点が移ってきました。リカレント ニューラル ネットワーク (RNN) は、メモリの形式を維持することでシーケンシャル データを処理できるため、これらのアプリケーションの基礎となりました。

ただし、RNN には制限がないわけではありません。 彼らは、長いシーケンスにわたって情報が失われる勾配消失問題による長期的な依存関係に苦労し、遠く離れたイベント間の相関関係を学習することが困難でした。

長短期記憶ネットワーク (LSTM)、によって導入されました。 ゼップ・ホッホライターとユルゲン・シュミットフーバー、1997年では、より洗練されたアーキテクチャでこの問題に対処しました。 LSTM には、情報の流れを制御するゲート (入力ゲート、忘却ゲート、出力ゲート) があります。 これらのゲートは、どの情報が保存、更新、または破棄されるかを決定し、ネットワークが長期的な依存関係を保持できるようにし、さまざまな NLP タスクのパフォーマンスを大幅に向上させます。

Transformer アーキテクチャ

Vaswani らによる画期的な論文「Attending is All You Need」における変圧器モデルの導入により、NLP の状況は劇的に変化しました。 トランスフォーマー アーキテクチャは、RNN と LSTM の逐次処理から離れ、代わりに「セルフ アテンション」と呼ばれるメカニズムを利用して、入力データのさまざまな部分の影響を比較検討します。

トランスフォーマーの中心的な考え方は、入力データ全体を順番にではなく一度に処理できるということです。 これにより、より多くの並列化が可能になり、その結果、トレーニング速度が大幅に向上します。 セルフ アテンション メカニズムにより、モデルはテキストを処理する際にテキストのさまざまな部分に焦点を当てることができます。これは、テキスト内の位置に関係なく、コンテキストや単語間の関係を理解するために非常に重要です。

Transformers のエンコーダーとデコーダー:

オリジナルの Transformer モデルでは、論文「」で説明されているように、注意はあなたが必要とするすべてですVaswani et al. によると、アーキテクチャはエンコーダとデコーダの XNUMX つの主要な部分に分かれています。 どちらの部分も、同じ一般的な構造を持つレイヤーで構成されていますが、異なる目的を果たします。

エンコーダ:

  • 職種: エンコーダーの役割は、入力データを処理し、要素間の関係 (文内の単語など) をキャプチャする表現を作成することです。 トランスフォーマーのこの部分は新しいコンテンツを生成しません。 入力をデコーダが使用できる状態に変換するだけです。
  • Functionality : 各エンコーダ層にはセルフアテンション メカニズムとフィードフォワード ニューラル ネットワークがあります。 セルフ アテンション メカニズムにより、エンコーダの各位置がエンコーダの前の層のすべての位置に注意を向けることができるため、各単語の周囲のコンテキストを学習できます。
  • コンテキスト埋め込み: エンコーダーの出力は、高次元空間内の入力シーケンスを表す一連のベクトルです。 これらのベクトルは、個々の単語だけでなく、文内の文脈もエンコードするため、文脈埋め込みと呼ばれることがよくあります。

デコーダ:

  • 職種: デコーダーの役割は、エンコーダーから受け取った入力とこれまでに生成した内容に基づいて、出力データを一度に XNUMX つずつ順番に生成することです。 これは、生成順序が重要なテキスト生成などのタスク向けに設計されています。
  • Functionality : デコーダ層にもセルフ アテンション メカニズムが含まれていますが、位置が後続の位置にアテンションされるのを防ぐためにマスクされています。 これにより、特定の位置の予測がその前の位置の既知の出力にのみ依存することが保証されます。 さらに、デコーダ層には、エンコーダの出力に注目し、入力からのコンテキストを生成プロセスに統合する XNUMX 番目のアテンション メカニズムが含まれています。
  • シーケンシャル生成機能: これは、デコーダがすでに生成したものに基づいて、一度に XNUMX 要素ずつシーケンスを生成する能力を指します。 たとえば、テキストを生成するとき、デコーダは、エンコーダによって提供されるコンテキストと、すでに生成した単語のシーケンスに基づいて、次の単語を予測します。

エンコーダーとデコーダー内のこれらの各サブレイヤーは、複雑な NLP タスクを処理するモデルの機能にとって重要です。 特に、マルチヘッド アテンション メカニズムにより、モデルはシーケンスのさまざまな部分に選択的に焦点を当てることができ、コンテキストをより深く理解できるようになります。

トランスを活用した人気モデル

変圧器モデルの初期の成功に続いて、そのアーキテクチャに基づいて構築された新しいモデルが爆発的に増加しました。各モデルには、さまざまなタスク向けに独自の革新と最適化が施されています。

BERT(トランスフォーマーからの双方向エンコーダー表現): 2018 年に Google によって導入された BERT は、コンテキスト情報を言語表現に統合する方法に革命をもたらしました。 マスクされた言語モデルと次の文の予測を使用して大規模なテキスト コーパスを事前トレーニングすることにより、BERT は豊富な双方向コンテキストをキャプチャし、幅広い NLP タスクで最先端の結果を達成しました。

ベルト

ベルト

T5 (テキスト間転送トランスフォーマー): に紹介される 2020年のGoogle, T5 は、統一されたテキストベースの形式を使用して、すべての NLP タスクをテキスト間問題として再構成します。 このアプローチにより、翻訳、要約、質問応答などのさまざまなタスクにモデルを適用するプロセスが簡素化されます。

t5 アーキテクチャ

T5 アーキテクチャ

GPT (生成事前トレーニング済みトランスフォーマー): によって開発された OpenAI、GPT モデルのラインは GPT-1 で始まり、4 年までに GPT-2023 に達しました。これらのモデルは、膨大な量のテキスト データに対する教師なし学習を使用して事前トレーニングされ、さまざまなタスクに合わせて微調整されています。一貫性があり、文脈に関連したテキストを生成する能力により、学術および商用 AI アプリケーションの両方で大きな影響力を持っています。

GPT

GPT アーキテクチャ

ここでは、T5、BERT、GPT モデルをさまざまな側面からさらに詳しく比較します。

1. トークン化と語彙

  • ベルト: 約 30,000 トークンの語彙サイズで WordPiece トークン化を使用します。
  • GPT: 語彙サイズが大きいバイト ペア エンコーディング (BPE) を採用します (例: GPT-3 の語彙サイズは 175,000)。
  • T5: テキストを生として扱い、事前にセグメント化された単語を必要としない SentencePiece トークン化を利用します。

2. トレーニング前の目的

  • ベルト: マスク言語モデリング (MLM) と次文予測 (NSP)。
  • GPT: 因果言語モデリング (CLM)。各トークンがシーケンス内の次のトークンを予測します。
  • T5: ランダムなテキスト範囲がセンチネル トークンに置き換えられ、モデルが元のテキストを再構築することを学習するノイズ除去目標を使用します。

3. 入力表現

  • ベルト: トークン、セグメント、および位置埋め込みを組み合わせて入力を表します。
  • GPT: トークンと位置埋め込みが結合されます (文ペアのタスク用に設計されていないため、セグメント埋め込みはありません)。
  • T5: アテンション操作中に相対位置エンコーディングが追加されたトークン埋め込みのみ。

4. アテンションメカニズム

  • ベルト: 絶対位置エンコーディングを使用し、各トークンが左右のすべてのトークンに対応できるようにします (双方向の注意)。
  • GPT: 絶対位置エンコーディングも使用しますが、注意が前のトークンのみに制限されます (一方向の注意)。
  • T5: 位置埋め込みの代わりに相対位置バイアスを使用するトランスフォーマーのバリアントを実装します。

5. モデルのアーキテクチャ

  • ベルト: 複数のトランスブロック層を備えたエンコーダ専用アーキテクチャ。
  • GPT: デコーダのみのアーキテクチャ。これも複数の層を備えていますが、生成タスク用に設計されています。
  • T5: エンコーダとデコーダの両方がトランス層で構成されるエンコーダ/デコーダ アーキテクチャ。

6. アプローチの微調整

  • ベルト: 必要に応じて追加の出力層を使用して、事前トレーニングされたモデルの最終的な隠れ状態をダウンストリーム タスクに適応させます。
  • GPT: トランスフォーマーの上に線形レイヤーを追加し、同じ因果的言語モデリング目標を使用して下流タスクを微調整します。
  • T5: すべてのタスクをテキスト対テキスト形式に変換します。この形式では、入力シーケンスからターゲット シーケンスを生成するようにモデルが微調整されます。

7. トレーニングデータとスケール

  • ベルト: BooksCorpus と英語版 Wikipedia でトレーニングを受けました。
  • GPT: GPT-2 と GPT-3 はインターネットから抽出された多様なデータセットでトレーニングされており、GPT-3 は Common Crawl と呼ばれるさらに大きなコーパスでトレーニングされています。
  • T5: Common Crawl の大規模かつクリーンなバージョンである「Colossal Clean Crawlled Corpus」でトレーニングされています。

8. コンテキストと双方向性の処理

  • ベルト: 両方向のコンテキストを同時に理解できるように設計されています。
  • GPT: 順方向 (左から右) でコンテキストを理解するように訓練されています。
  • T5: エンコーダでは双方向コンテキストをモデル化し、デコーダでは単方向コンテキストをモデル化でき、シーケンス間のタスクに適しています。

9. 下流タスクへの適応性

  • ベルト: タスク固有のヘッド レイヤと各ダウンストリーム タスクの微調整が必​​要です。
  • GPT: 本質的に生成的であり、その構造への最小限の変更でタスクの実行を促すことができます。
  • T5: すべてのタスクを「テキストからテキストへ」の問題として扱い、本質的に柔軟性があり、新しいタスクに適応できるようにします。

10. 解釈可能性と説明可能性

  • ベルト: 双方向の性質により、豊富なコンテキストの埋め込みが提供されますが、解釈が難しくなる場合があります。
  • GPT: 一方向コンテキストの方が理解しやすいかもしれませんが、双方向コンテキストの深みが欠けています。
  • T5: エンコーダ/デコーダ フレームワークは処理ステップを明確に分離しますが、その生成的な性質により分析が複雑になる可能性があります。

NLP に対するトランスフォーマーの影響

トランスフォーマーは、モデルが一連のデータを並行して処理できるようにすることで、NLP の分野に革命をもたらしました。これにより、大規模なニューラル ネットワークのトレーニングの速度と効率が劇的に向上しました。 彼らはセルフ アテンション メカニズムを導入し、シーケンス内の距離に関係なく、モデルが入力データの各部分の重要性を評価できるようにしました。 これにより、翻訳、質問応答、テキストの要約など、さまざまな NLP タスクにおいて前例のない改善がもたらされました。

研究はトランスベースのモデルが達成できる限界を押し広げ続けています。 GPT-4 とその同世代のものは、規模が大きいだけでなく、アーキテクチャとトレーニング方法の進歩により、より効率的かつ高機能になっています。モデルが最小限の例でタスクを実行する少数ショット学習などの手法や、より効果的な転移学習の手法が、現在の研究の最前線にあります。

トランスフォーマーに基づく言語モデルなどの言語モデルは、バイアスが含まれる可能性のあるデータから学習します。 研究者や専門家は、これらの偏見を特定し、理解し、軽減するために積極的に取り組んでいます。 手法は、厳選されたトレーニング データセットから、公平性と中立性を目的としたトレーニング後の調整まで多岐にわたります。

私は過去 50 年間、機械学習と深層学習の魅力的な世界に没頭してきました。 私の情熱と専門知識により、特に AI/ML に重点を置いた XNUMX を超える多様なソフトウェア エンジニアリング プロジェクトに貢献してきました。 私の継続的な好奇心は、私がさらに探求したいと思っている分野である自然言語処理にも引き寄せられました。