LLM: 大規模言語モデルとは何でしょうか。

新しいテクノロジーである大規模言語モデルLLMは、トークンまたはトークンのシーケンスを予測します。場合によっては、数段落分のトークンを予測します。トークンは、単語、サブワード(単語のサブセット)、単一の文字にすることができます。LLM は、次の理由から、N グラム言語モデルや再帰型ニューラル ネットワークよりもはるかに優れた予測を行います。

  • LLM には、再帰モデルよりもはるかに多くのパラメータが含まれています。
  • LLM ははるかに多くのコンテキストを収集します。

このセクションでは、LLM の構築に最も成功し、広く使用されているアーキテクチャである Transformer について説明します。

Transformer とは

Transformer は、翻訳などのさまざまな言語モデル アプリケーション向けの最先端のアーキテクチャです。

図 1. 入力は「I am a good dog.」です。Transformer ベースの翻訳者は、その入力を出力 Je suis un bon chien に変換します。これは、フランス語に翻訳された同じ文です。
図 1. 英語からフランス語に翻訳する Transformer ベースのアプリケーション。

 

完全な Transformer は、エンコーダとデコーダで構成されます。

  • エンコーダは、入力テキストを中間表現に変換します。エンコーダは巨大なニューラル ネットです。
  • デコーダは、その中間表現を有用なテキストに変換します。デコーダも巨大なニューラル ネットです。

たとえば、翻訳ツールでは次のように表示されます。

  • エンコーダは、入力テキスト(英語の文など)を中間表現に変換します。
  • デコーダは、その中間表現を出力テキスト(同等のフランス語の文など)に変換します。
図 2. Transformer ベースの翻訳者は、英語の文の中間表現を生成するエンコーダから始まります。デコーダは、その中間表現をフランス語の出力文に変換します。
図 2.完全な Transformer には、エンコーダとデコーダの両方が含まれます。

 

セルフアテンションとは

Transformer はコンテキストを強化するために、自己注意力というコンセプトに大きく依存しています。実質的には、入力の各トークンの代わりに、セルフ アテンションが次の質問をします。

「入力の他の各トークンがこのトークンの解釈にどの程度影響するか?」

「自己注意」の「自己」は入力シーケンスを指します。一部の注意機構は、入力トークンと出力シーケンス内のトークン(翻訳など)や他のシーケンス内のトークンとの関係に重み付けを行います。ただし、セルフ アテンションは、入力シーケンス内のトークン間の関係の重要度のみを重視します。

単純にするために、各トークンが単語であり、完全なコンテキストが 1 つの文のみであるとします。次の文について考えてみましょう。

The animal didn't cross the street because it was too tired.

上記の文には 11 個の単語が含まれています。11 個の単語はそれぞれ、他の 10 個の単語に注意を払い、それらの 10 個の単語が自分にとってどれほど重要かを考えています。たとえば、この文には代名詞 it が含まれています。代名詞はしばしばあいまいです。代名詞「it」は通常、最近の名詞または名詞句を指しますが、この例文では「it」はどの最近の名詞を指していますか?動物ですか?通りですか?

セルフアテンション メカニズムは、近くにある単語と代名詞 it の関連性を判断します。図 3 に結果を示します。線が青いほど、代名詞「it」にとってその単語の重要度が高くなります。つまり、代名詞「それ」にとって「動物」は「通り」よりも重要です。

図 3. 文「動物は疲れすぎて道を渡らなかった」の 11 個の単語のそれぞれが代名詞「it」と関連する度合い。代名詞「it」に最も関連性が高い単語は「animal」です。
図 3. 代名詞 it のセルフアテンション。 Transformer: A Novel Neural Network Architecture for Language Understanding より

 

逆に、文の最後の単語が次のように変更されたとします。

The animal didn't cross the street because it was too wide.

この修正された文では、自己注意により、代名詞「それ」に対して「動物」よりも「通り」の方が関連性が高いと評価されます。

一部のセルフ アテンション メカニズムは双方向です。つまり、注目している単語ののトークンの関連性スコアが計算されます。たとえば、図 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 にはさまざまなバイアスが存在する可能性があります。

演習: 理解度を確認する

Transformer が 10 億個のドキュメントでトレーニングされているとします。このドキュメントには、elephant という単語が 1 つ以上含まれているドキュメントが数千個含まれています。次の記述のうち、おそらく正しいものはどれですか。
象の食生活で重要な役割を果たすアカシアは、という単語とともに、徐々に高いセルフアテンション スコアを獲得します。
はい。これにより、Transformer は象の食事に関する質問に答えることができます。
Transformer は、単語「elephant」を、単語「elephant」を含むさまざまな慣用表現に関連付けます。
はい。システムは、elephant という単語と象に関する慣用句の他の単語の間に高いセルフ アテンション スコアを付け始めます。
Transformer は、トレーニング データで「象」という単語が皮肉や皮肉として使用されている場合は無視するように徐々に学習します。
十分に広範なトレーニング セットでトレーニングされた十分に大きな Transformer は、皮肉、ユーモア、皮肉を認識するのが非常に得意になります。したがって、Transformer は皮肉や皮肉を無視するのではなく、そこから学習します。