Transformerは、2017年にVaswaniらによって提案された、自然言語処理(NLP)のためのディープラーニングモデルアーキテクチャである。 主に機械翻訳、テキスト生成などのシーケンス間タスクの処理に使用される。
簡単に言えば、テキスト生成のためのTransformerモデルは、「次の単語を予測する」という原理で動作する。
ユーザーによるテキスト(プロンプト)が与えられると、モデルは次の単語が何になる可能性が高いかを予測する。 Transformersの中核となる革新性とパワーは、自己注意メカニズムを使用することで、シーケンス全体を処理し、以前のアーキテクチャ(RNN)よりも効率的に長距離の依存関係を捉えることができる。
また、GitHubのhuggingface/transformersは、HuggingFaceのTransformerの実装のリポジトリであり、Transformerの実装と多数の事前学習済みモデルを含んでいる。
現在のLLMは、基本的にTransformerアーキテクチャをベースにしており、最適化技術や学習方法が改良されている。
変圧器の構造
各テキスト生成トランスフォーマーは、3つの主要コンポーネントで構成されている:
エンベディングレイヤー(埋め込み) ::
- テキスト入力は、トークンと呼ばれる小さな単位に分割される。トークンには単語やサブワードがある。
- これらの語彙要素はエンベッディングと呼ばれる数値ベクトルに変換される。
- これらの埋め込みベクトルは、単語の意味的な意味を捉える。
変圧器ブロック ::
これは、入力データを処理し変換するモデルの基本的な構成要素である。 各ブロックは次のように構成される:
- 注目のメカニズム ::
- トランス・ブロックのコア部品
- 語彙要素が互いに通信できるようにする
- 文脈情報と単語間の関係を捉える
- 多層パーセプトロン(MLP)層 ::
- 各語彙要素を独立して処理するフィード・フォワード・ネットワーク
- 注意層の目的は、語彙要素間の情報をルーティングすることである。
- MLPの目的は、各語彙要素の表現を最適化することである。
出力確率 ::
- 最終的な線形レイヤーとソフトマックスレイヤー
- 処理された埋め込みを確率に変換する
- モデルがシーケンスの次の語彙要素を予測できるようにする。
トランスフォーマーの利点:
- へいこう RNNとは異なり、Transformerはデータを逐次処理する必要がないため、GPUを並列計算に有効活用し、学習速度を向上させることができる。
- 長距離依存 セルフ・アテンション・メカニズムにより、Transformerはシーケンスの長距離依存性を効率的に捉えることができる。
- 熟練 Transformerは、より大きなモデル(BERT、GPTなど)に簡単に拡張でき、さまざまな自然言語処理タスクで優れた性能を発揮します。
変圧器の欠点:
- 高い計算複雑性 自己アテンション機構の計算量はO(n^2)であり、入力シーケンスの長さが長い場合、より多くの計算資源を消費する。
- 高いデータ需要 変換器の性能を十分に引き出すためには、通常、学習に大量のデータを必要とする。
- 内在する配列情報の欠如 例えば、RNNのタイムステップのような)ビルトインのシーケンス処理メカニズムがないため、シーケンス情報を導入するための追加のメカニズム(例えば、位置エンコーディング)が必要となる。
資料
この2つの文献のうち、最初の文献は変圧器に関する古典的な論文『Attention Is All You Need』である。 変圧器を最初に提案したのはこの論文である。
もうひとつは、トランスの内部構造を目で見て確認できるビジュアルな説明である。