第4部 LLMのしくみを理解する
第13章Transformerアーキテクチャ
現在のLLMの土台になっているのが、Transformerという構造です。この章では、数式には立ち入らず、 Transformerがどんな課題を解決し、どのような考え方で文章を処理するのかを、全体像としてつかみます。 中心となるアテンションについては、次の章でさらに詳しく扱います。まずは全体の骨格から押さえていきます。
13.1Transformer登場以前の課題
Transformer以前の方法は、文章を前から順に一語ずつ処理するため、長い文章での関係の把握や、学習の効率に課題がありました。
Transformerが登場する前、文章を扱うAIは、言葉を前から順に一つずつ読み込んでいく方式が主流でした。 人が文章を左から読むのと同じように、一語読んではその情報を次へ持ち越し、また次の一語を読む、という 進め方です。この方式には二つの弱点がありました。
一つは、文章が長くなると、前のほうに出てきた言葉の情報が薄れてしまい、離れた語どうしの関係を捉えにくい ことです。長い文の最初に出た主語を、文末まで覚えておくのが難しくなる、というイメージです。もう一つは、 順番に処理する必要があるため、大量の文章を効率よく学習しにくいことです。前の語の処理が終わらないと 次に進めないため、計算をまとめて進めることができませんでした。これらの課題が、より大きなモデルへの 発展を妨げていました。
13.2全体の構造をつかむ
Transformerは、アテンションという仕組みを中心に、同じ処理のかたまり(層)を何段も積み重ねた構造をしています。各段を通るたびに、各トークンは文脈を反映した表現へと更新されます。
Transformerの全体像は、同じような処理を行うかたまりを、何段も積み重ねた構造として捉えられます。 入力されたトークンの列は、まず前章で見た埋め込みによってベクトルに変換されます。そのベクトルの列が、 アテンションを含む処理のかたまりを次々と通り抜けていきます。各段を通るたびに、各トークンは周囲の トークンの情報を取り込み、文脈を反映した表現へと更新されていきます。最初は単語そのものの意味だった ものが、段を経るごとに「この文脈でのこの語」という、より豊かな意味を帯びていくのです。
13.3トークンを一度にまとめて見る
Transformerは、文章を前から順に読むのではなく、すべてのトークンを一度に見渡します。これにより、離れた語どうしの関係も捉えやすく、大量の学習も効率よく行えるようになりました。
Transformerの大きな特徴は、文章を前から一語ずつたどるのではなく、すべてのトークンを一度にまとめて 見渡す点にあります。各トークンは、文章の中のどの位置にある語とも直接関係を測れるため、離れた場所に ある語どうしのつながりも捉えやすくなります。前から順に読む方式で薄れてしまっていた、遠くの語の情報を、 直接参照できるようになったわけです。
また、順番に処理する必要が減ったことで、大量の文章をまとめて効率よく学習できるようになりました。 一語ずつ順番待ちをするのではなく、多くの計算をいっぺんに進められるため、大規模なモデルの学習が 現実的になったのです。この効率のよさが、第7章で見た大規模化を支える土台になりました。性能と効率の 両方を同時に改善した点が、Transformerの画期的なところです。
身近なたとえ
長い文章の意味を取るとき、一文字ずつ順に追うよりも、全体をざっと見渡してから、関係のある言葉を 結びつけて理解するほうが速く正確です。Transformerは、この「全体を見渡す」やり方を計算の中で 実現していると考えると、イメージしやすくなります。
13.4位置情報の与え方
すべてを一度に見る方式では語順が失われるため、Transformerは各トークンに位置の情報を別途加えて、順番を保ちます。
すべてのトークンを一度に見渡す方式には、一つ補わなければならない点があります。前から順に読まない分、 そのままでは「どの語が何番目か」という語順の情報が失われてしまうのです。「犬が猫を追う」と「猫が犬を 追う」は、使われている語は同じでも、順番によって意味がまるで変わります。言葉の意味は語順によって 大きく変わりますから、順番の情報は欠かせません。
そこでTransformerでは、各トークンのベクトルに、その位置を表す情報を別途加えます。「これは1番目の語」 「これは2番目の語」といった目印を、数値の形で足しておくイメージです。これにより、全体を一度に見渡し つつ、語順も保てるようになっています。ここまでで、Transformerの全体像はつかめました。文章をトークンに 区切り、ベクトルにし、位置情報を加え、アテンションを含む層を何段も通す。この流れの中心にあるのが アテンションです。次の章では、そのアテンションが具体的に何をしているのかを掘り下げます。
この章の要点
- Transformer以前は文章を順に処理したため、長文での関係把握と学習効率に課題がありました。
- Transformerは、アテンションを含む層を何段も積み重ねた構造をしています。
- すべてのトークンを一度に見渡すことで、離れた語の関係を捉えやすく、大量の学習も効率化されました。
- 語順が失われないよう、各トークンに位置の情報を加えています。