新しいテクノロジーである大規模言語モデル(LLM)は、トークンまたはトークンのシーケンスを予測します。場合によっては、数段落分のトークンを予測します。トークンは、単語、サブワード(単語のサブセット)、単一の文字にすることができます。LLM は、次の理由により、N グラム言語モデルや回帰型ニューラル ネットワークよりもはるかに優れた予測を行います。
- LLM には、反復モデルよりもはるかに多くのパラメータが含まれています。
- LLM は、はるかに多くのコンテキストを収集します。
このセクションでは、LLM のビルドに最も成功し、広く使用されているアーキテクチャである Transformer について説明します。
Transformer とは
Transformer は、翻訳などのさまざまな言語モデル アプリケーション向けの最新のアーキテクチャです。
完全な Transformer は、エンコーダとデコーダで構成されます。
たとえば、翻訳ツールでは次のようになります。
- エンコーダは、入力テキスト(英語の文など)をなんらかの中間表現に処理します。
- デコーダは、その中間表現を出力テキスト(同等のフランス語の文など)に変換します。
セルフ アテンションとは?
Transformer はコンテキストを強化するために、自己注意力というコンセプトに大きく依存しています。実質的には、セルフ アテンションは入力の各トークンの代わりに次の質問をします。
「入力の他の各トークンがこのトークンの解釈にどの程度影響するか?」
「セルフ アテンション」の「自己」は入力シーケンスを指します。一部の注意機構は、入力トークンと出力シーケンス内のトークン(翻訳など)や他のシーケンス内のトークンとの関係に重み付けを行います。ただし、セルフ アテンションは、入力シーケンス内のトークン間の関係の重要度のみを重視します。
単純にするために、各トークンが単語であり、完全なコンテキストが 1 つの文のみであるとします。次の文について考えてみましょう。
The animal didn't cross the street because it was too tired.
前の文には 11 語が含まれています。11 個の単語はそれぞれ、他の 10 個の単語に注意を払い、それらの 10 個の単語が自分にとってどれほど重要かを考えています。たとえば、この文には代名詞 it が含まれています。代名詞はあいまいなことが多い。代名詞(it)は通常、最近の名詞または名詞句を指しますが、例文では、動物または通りのうち、最近の名詞のうちどれを指していますか?
セルフアテンション メカニズムは、近くにある各単語と代名詞 it の関連性を判断します。図 3 に結果を示します。線が青いほど、その単語が代名詞「it」にとって重要です。つまり、代名詞「それ」にとって「動物」は「通り」よりも重要です。
逆に、文の最後の単語が次のように変わったとします。
The animal didn't cross the street because it was too wide.
修正されたこの文章では、自己注意力が、代名詞 it に対して「ストリート」よりも関連性が高いと評価するかもしれません。
一部のセルフ アテンション メカニズムは双方向です。つまり、注目している単語の前と後のトークンの関連性スコアが計算されます。たとえば、図 3 では、it の両側の単語が検査されています。したがって、双方向セルフ アテンション メカニズムでは、アテンションの対象となる単語の両側の単語からコンテキストを収集できます。一方、単方向のセルフ アテンション メカニズムでは、注目されている単語の片側の単語からのみコンテキストを収集できます。双方向のセルフ アテンションは、シーケンス全体の表現を生成する場合に特に役立ちますが、トークンごとにシーケンスを生成するアプリでは単方向のセルフ アテンションが必要です。このため、エンコーダは双方向の自己注意を使用し、デコーダは一方向の自己注意を使用します。
マルチヘッド セルフ アテンションとは
通常、各セルフ アテンション レイヤは複数のセルフ アテンション ヘッドで構成されます。レイヤの出力は、さまざまなヘッドの出力の算術演算(重み付け平均やドット積など)です。
各セルフ アテンション レイヤはランダムな値に初期化されるため、各ヘッドは、アテンションの対象となる各単語と近接する単語の間に異なる関係を学習できます。たとえば、前のセクションで説明したセルフアテンション レイヤは、代名詞 it が参照する名詞を特定することに重点を置いています。ただし、他のセルフ アテンション レイヤは、各単語と他のすべての単語の文法上の関連性を学習したり、他のインタラクションを学習したりする場合があります。
Transformer が非常に大きいのはなぜですか?
Transformer には、数百億から数兆ものパラメータが含まれています。このコースでは、一般に、パラメータ数の少ないモデルをパラメータ数の多いモデルよりも構築することを推奨してきました。結局のところ、パラメータ数が少ないモデルは、パラメータ数が多いモデルよりも予測を行うリソースが少なくて済みます。ただし、パラメータが多い Transformer の方が、パラメータが少ない Transformer よりも一貫してパフォーマンスが高いことが研究により明らかになっています。
LLM はどのようにテキストを生成するのでしょうか。
研究者が LLM をトレーニングして単語の欠落を予測する方法を見てきましたが、おそらく感心しないかもしれません。結局のところ、1、2 語の予測は、さまざまなテキスト、メール、作成ソフトウェアに組み込まれている自動入力機能に他なりません。LLM がアービトラージに関する文章や段落、俳句を生成する仕組みについて疑問に思われるかもしれません。
実際、LLM は基本的に、数千のトークンを自動的に予測(補完)できる自動入力メカニズムです。たとえば、次の文に後にマスクされた文が続く場合を考えてみましょう。
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
LLM は、次のようなマスクされた文の確率を生成できます。
確率 | 単語 |
---|---|
3.1% | たとえば、座る、待つ、転がるなどのコマンドに反応します。 |
2.9% | たとえば、彼は座る、とどまる、寝転がるなどの操作を知っています。 |
十分に大きな LLM は、段落やエッセイ全体の確率を生成できます。LLM に対するユーザーからの質問は、「与えられた」文の後に架空のマスクが続きます。例:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
LLM は、さまざまな可能性のある回答の確率を生成します。
別の例として、大量の数学の「単語の問題」でトレーニングされた LLM は、高度な数学的推論を行っているように見えます。ただし、これらの LLM は基本的に、数式の問題の入力を自動的に補完するだけです。
LLM のメリット
LLM は、さまざまな対象ユーザー向けに、明確でわかりやすいテキストを生成できます。LLM は、明示的にトレーニングされたタスクについて予測を行うことができます。LLM は、明示的にトレーニングされていない入力に対しても予測できると主張する研究者もいれば、この主張を反論する研究者もいます。
LLM に関する問題
LLM のトレーニングには、次のような多くの問題が伴います。
- 膨大なトレーニング セットを収集する。
- 数か月、膨大な計算リソースと電力を消費する。
- 並列処理の課題を解決。
LLM を使用して予測を推測すると、次のような問題が発生します。
- LLM は幻覚を起こすため、予測に誤りが含まれることがよくあります。
- LLM は、膨大な量の計算リソースと電力を消費します。通常、大規模なデータセットで LLM をトレーニングすると、推論に必要なリソースの量が削減されますが、大規模なトレーニング セットではトレーニング リソースが増えます。
- 他の ML モデルと同様に、LLM にはさまざまなバイアスが存在する可能性があります。