エディンバラ大学が20ページの無料論文を公開:ChatGPTの背後にある数学を、最もシンプルな方法で解説
- 数十年統計モデリングに携わってきた学者が大規模モデルを理解しようとしたが、attention、Query、Keyといった言葉に阻まれた。彼の結論は「数学自体は難しくない。難しいのは専門用語ばかり」というものです。
- そこで彼は20ページの無料論文を書き、ChatGPT内部の数学を統計学の標準的な用語で解説し直した。前提知識は大学1年レベルの3つだけ。
- 最も神秘的に語られがちなアテンションも、彼の筆にかかれば中学生でもわかる操作になります。本当に難しいのは別の場所にある。
数学の専門家もAI論文を読めない。彼は「すべて専門用語のせいだ」と言う
エディンバラ大学ビジネススクールの信用研究センター(CRC)が20ページの無料論文を公開しました。タイトルは『大規模言語モデルのシンプルな数学』。これを読めば、ChatGPTやClaudeの内部で何が計算されているのかがわかります。何百ページもある深層学習の教科書は必要ありません。必要な前提知識は、行列の掛け算ができること、条件付き確率を知っていること、統計モデルのパラメータはデータから推定されるものだと理解していること、この3つだけです。
執筆者は Joseph L. Breeden 氏です。数十年にわたり非線形システムのモデリング、統計学、言語学の研究に携わり、自身で分析会社を経営しています。彼は大規模モデルを読むのはそれほど難しくないだろうと思っていましたが、言葉でつまずきました。
「token は『query』ではない。言語学者は『key』とは言わない。『head』とは一体何なのか? これらの言葉がコンピュータサイエンス由来だとは想像できるが、『専門用語を使わない』と謳う解説書でさえ、最初から query、key、value と出てくる。ならば、一からやり直そう。」
Joseph L. Breeden 著、『The Simple Mathematics of Large Language Models』
attention、Query、Key、Value、head。これらの言葉は、データベース、認知科学、電気工学から流用されたものです。しかし、この流用は適切とは言えず、その背後にある実に平凡な数学を覆い隠してしまっています。そこで彼は、これらの言葉をすべて統計学に古くからある名前に置き換え、それぞれについて「元の言葉のどこが悪いのか」を説明しました。この言い換えの作業が論文全体の第二の軸であり、記事の最後に対照表としてまとめます。
大規模モデルがやることは一つだけ:次の単語を当てる
言語モデルとは、テキストを与えられると「次に来そうな単語の確率」を返す仕組みです。「The cat sat on the」と入力すれば、mat(敷物)、floor(床)、chair(椅子)には高い確率が、democracy(民主主義)には極めて低い確率が割り当てられます。
文章を書くとき、モデルはこの動作を何百回も繰り返します。確率を計算して単語を選び、それを前文に加えて、また次の単語を計算する——このループを、以下のデモで順に体験できます。
なぜ単語列の確率を計算すれば十分なのでしょうか。 確率論にはチェーン・ルール(連鎖律)と呼ばれる恒等式があります(これは仮定ではなく恒等式です)。ある文章が現れる確率は、「最初の単語の確率 × 最初の単語が与えられたときの2番目の単語の確率 × 最初の2語が与えられたときの3番目の単語の確率……」というように、条件付き確率の掛け算に分解できます。つまり、「前文が与えられたとき、次の単語は何か」を計算できれば、言語全体をモデル化したことになります。大規模モデルがやっていることは、まさにこれだけです。
何が難しいのか:文脈の組み合わせ数は宇宙の原子の数より多い
難しいのはこの式ではなく、「前文」の種類がどれほどあるか、です。語彙が5万トークンだとすると、10語の文脈の組み合わせは「5万の10乗」通りになります。これは観測可能な宇宙に存在する原子の総数よりも多い数です。全パターンを表にして調べるのは不可能です。前文ごとに確率表を保存しておくことはできないからです。
だからこそ、一つの例を学べば他の例にも応用が効く関数が必要なのです。「猫が敷物の上に座っている」を見たなら、「犬がカーペットの上に伏せている」も処理できるようにならなければなりません。論文の残りの部分は、この関数がどのような形をしているのかを説明しています。
機械は文字を読めない:まず単語を点に変換し、意味の近いものを近くに置く
最も簡単な方法は、各トークンに番号を振ることです。1番の単語、2番の単語……数学的には、1つの要素だけが1で、残りがすべて0の長いベクトルとして書きます。しかし、これではすべての単語が無関係だと宣言しているようなものです。「猫」と「犬」の距離が、「猫」と「しかし」の距離と同じになってしまいます。これは明らかに間違いです。猫と犬はどちらも動物であり、ペットであり、名詞です。
別の方法:各単語を高次元空間(現実には通常1000〜10000次元)の点として表します。意味や文法的機能が近い単語は近くに、無関係な単語は遠くに置くのです。これらの座標は、訓練プロセスが自動的に決定します。人間が手で埋めるものは何もありません。この表現方法は一般的に embedding(埋め込み)と呼ばれます。離散的な単語の集合を、連続的な空間に埋め込むわけです。統計学の古い概念と照らし合わせると、主成分分析(PCA)と同じ種類の作業です。つまり、多数の属性をより少ない次元に圧縮するもので、圧縮された次元が直感的な意味を持つこともあれば、持たないこともあります。
この考え方には言語学の根拠があります。1957年、言語学者の J.R. Firth は「単語は、その仲間によって知られる」(You shall know a word by the company it keeps)という、後に頻繁に引用される言葉を残しました。似た文脈に現れる単語は、意味も近い傾向があります。モデルが単語ベクトルを学ぶときも、まさにこの規則に頼っています。つまり、多くの文で互いに置き換えられる単語は、最終的に似たベクトルを獲得するのです。2013年の word2vec はこのアプローチが有効であることを示し、king − man + woman ≈ queen という有名な例を残しました。
しかし、一つの単語に複数の意味がある場合、一つの点では表せない
点を描いたら、すぐに新しい問題が発生します。英語の bank を見てみましょう。
つまり、実際に計算すべきは文脈によって形を変える点です。同じ bank でも、お金の文では「お金」に近づき、散歩の文では「川」に近づく。周囲の単語がそれを形作るのです。各単語に固定の点を割り当てる方式では、ここで限界が来ます。transformer アーキテクチャ全体が存在する理由は、この「形作る」作業を実現するためです。
アテンションは難しく聞こえるが、実は加重平均を計算しているだけ
ここが全文の核心です。著者がアテンションを非神秘化する言葉はただ一つです。それは数学的には加重平均です。唯一の巧妙な点は、重みがモデルによってデータから学習され、人間が決めたものは何もないということです。
学期の総合点を計算するとき:平常点30%、期末試験70%。複数の数を1つに合成するのは同じですが、各数が「発言する」重みが異なります。大規模モデルが単語の新しい表現を計算するときも、同じことをしています。周囲のすべての単語のベクトルを加重平均するだけです。ただし、「誰が何割の重みを持つか」は、モデル自身が学習します。
「The cat sat on the mat」を例に、sat の文脈込みの新しい表現を計算してみましょう。cat は主語(誰が座っているか)なので、重みは大きいはず。mat は場所なので、中程度の重み。the は機能語なので、重みは小さいはず。これらの重みを使って、各単語の内容を加重平均すると、「文脈を知った sat」が得られます。
ここで著者は2つの用語を変更しました。彼は業界用語の attention score を影響力分数、attention weight を影響力权重と呼びます。その理由は、後者の方がこの数値が計算で何をしているかを明確に示しているのに対し、前者は擬人化された比喩に過ぎないからです。
分量の計算方法:ドット積
2つのベクトルの方向が揃っているほど、そのドット積は大きくなります。方向が逆なら、ドット積は負の数になります。ドット積が選ばれる理由は2つあります。関連性の指標の中で最も単純で計算が速いこと、そして微分可能であることです。微分可能でなければ、勾配降下法で学習できません。
2人で1台の車を押す場面を想像してください。同じ方向に力を込めれば、力は最大限に合わさります。1人が東向き、もう1人が北向きなら、一部分だけが合わさります。向かい合って押せば、互いに打ち消し合います。ドット積が測っているのは、2つの力がどれだけ協調しているかです。
なぜ単語ベクトルのドット積を直接使わず、わざわざ3つの行列を挟むのか
業界用語では、これら3つの行列は Query、Key、Value と呼ばれます。著者はこのデータベースの比喩を拒否し、中立的な記号 WA、WB、WC を使用します。その理由は、位置 i は何かを「照会(クエリ)」しているわけではなく、ここにデータベースは存在せず、「検索」されるものもないからです。
単語ベクトルを線形変換してからドット積を取るのは、2つの具体的な問題を解決するためです。
cat が sat に与える影響と、sat が cat に与える影響は同じではありません。しかし、ドット積は本質的に対称です(a·b は常に b·a と等しい)。両辺を異なる行列で変換してからドット積を取ることで、非対称性を表現できます。
「重みを与えるべきか」を決める特徴と、「実際に渡される内容」は同じ特徴ではありません。一方の行列が前者を、もう一方の行列が後者を担当することで、モデルはこの違いを学習できるようになります。
2番目のポイントは、元の例を使うと最も理解しやすいと思います。再び sat の表現を計算します。
その理由は構文にあります。cat はこの動詞の主語であり、主語の位置にある名詞です。
それは意味内容です。この主語は動物であり、体が小さく、飼いならされている。
「私はこの動詞と関係がある」という情報と「私は猫である」という情報は、元々別物なのです。これらを2つの異なる行列に分離することで、モデルはそれぞれを別々に学習できます。では、この3つの行列の中身は最初は何でしょうか。すべて乱数であり、何も抽出できません。数兆トークンに及ぶ訓練で繰り返し調整され、徐々に有用な特徴抽出器へと変わっていくのです。これらの構造は「見つけ出される」ものであって、「規定されている」ものではありません。
スコアから分量へ:softmax の本当の名前
ドット積から得られるスコアは正負の値を持つため、そのまま重みとして使うことはできません。まず√k(kはベクトルの次元数。数値が大きくなりすぎるのを防ぐため)で割り、次に指数正規化を行います。実数の列を、非負で合計がちょうど1になる重みの集合に変換します。
ニューラルネットワークはこのステップを softmax と呼びます。しかし、統計学者はこれを古くから知っています。これは多項ロジスティック回帰における「log-odds を確率に変換する」逆変換です。softmax という名前は計算上の性質を説明しているだけで(argmax の滑らかなバージョン)、統計学的に何であるかには全く触れていません。
数学が得意な読者のために、補足を2つあります。1つ目、影響力分数全体は数学的には双線形形式です。これを2つの小さな行列の積に分解するのは低ランクパラメータ化と呼ばれ、パラメータが少なくなり、過学習の防止にも役立ちます。2つ目、これらの行列は一意に決まりません。すべてに同じ直交行列を掛けても、予測結果は1ビットも変わりません。したがって、ある行列を分解して「何を学習したか」を読み解こうとするのは無意味です。これは因子分析で因子が回転の自由度を除いて決まらないのと同じ、古くからある問題です。
「マルチヘッド」は神秘的ではない:数十セットを同時に学習、役割分担は自然発生する
1セットの WA/WB/WC では、1種類の影響パターンしか学習できません。しかし、単語間の関係は1種類ではありません。主語と動詞は構文関係、類義語間は意味関係、代名詞が前の名詞を指すのは照応関係、隣接する単語は文法的なつながりを持つことがよくあります。
方法:H セットの行列を並列に配置し、それぞれが独自に学習します。最後に、各セットの出力を連結し、元の次元に射影し直します。実際には、H は通常12から96です。
業界用語では、各セットを attention head(アテンションヘッド)と呼びます。この言葉が、著者の論文全体で最も重い批判を招いています。head(頭)は、ハードディスクの読み書きヘッドのように、それぞれが特定のデータを読み取る役割を持つ、設計された部品であることを示唆します。しかし、実際は正反対です。
第7セットが代名詞の照応を担当し、第12セットが主述の一致を担当するという指示はどこにもありません。H セットの行列は構造が完全に同一で、すべてランダムに初期化され、同じ目標(次の単語の予測)で訓練されます。役割分担は訓練プロセスの中で自然に発生します。2つのセットがまったく同じことを学ぶのは容量の無駄なので、差別化を促す暗黙の圧力が存在するのです。
このことは統計学にも対応物があります。因子分析でも各因子は分化します。その理由も同じで、別々の分散要因を分頭に説明する方が効率的であり、誰も役割を割り当てたわけではありません。そこで著者は、これらの並列的なものを「関係グループ」(relations)と呼ぶことを提案しています。当初のアーキテクチャの着想が言語学から来たことを認めつつ、学習されたパターンが言語学の分類と部分的にしか対応していないことも認めています。
数十層を積み重ね、順序を記憶する。これでこの機械は完成する
1回の加重平均では、各単語が近くの情報を吸収するだけです。しかし、中には非常に遠くに及ぶ依存関係もあります。例えば、この文です。
「高温超伝導体を発見した科学者は、ノーベル ____ 賞を受賞した。」
空欄に入るのはおそらく「物理学」ですが、それを判断するには、「ノーベル賞」を、長い従属節を挟んだ「超伝導体」と「科学者」まで遡って結びつける必要があります。解決策は、加重平均という操作を何層も積み重ねることです。1つの層の出力が次の層の入力になります。現代の大規模モデルは32〜128層を積み重ねており、各層は独自の完全なパラメータセットを持ち、層間で共有されるものは何もありません。これがパラメータ数爆発の原因です。12288次元、96層、各層96の関係グループを持つモデルでは、これらの行列だけで数百億の数値になります。
各層に付属する3つの部品。それぞれが1つの問題を解決する
非線形変換は「無意味な積み重ね」を防ぎます。最も一般的な方法は ReLU で、その動作はただ一つ、負の数をすべて0にすることです。これがないと、多層の線形変換は1つの層に潰れてしまいます(線形の合成は線形だからです)。何層積んでも、積まないのと同じです。
残差接続は、訓練の際に勾配が伝播しない問題を解決します。各層は表現全体を再計算するのではなく、増分修正のみを行います。出力 = 入力 + 修正量。訓練時、予測誤差を最終層から最初の層へ逆伝播させる(このアルゴリズムは誤差逆伝播法と呼ばれます)際、導関数の積が指数関数的に減少し、初期の層は最終的に信号を受け取れなくなります。これが「勾配消失」です。加算構造により、導関数には常に恒等チャネルが含まれ、信号が戻る経路が確保されます。
正規化は数値の爆発・消失を防ぎます。各ステップの後に、ベクトルを平均0、分散1に戻します。これにより、数値が数十層の間に大きくなりすぎたり、小さくなりすぎたりするのを防ぎます。
もう一つ欠けているもの:この機械は本来、順序を認識しない
これまでに見落としていた落とし穴があります。加重平均という操作は、本質的に文脈を単語の「列」ではなく「袋」として扱います。文中の単語を並べ替えても、計算される影響力分数は変わりません。しかし、「犬が人を噛む」と「人が犬を噛む」は明らかに意味が異なります。
したがって、位置を明示的に入力する必要があります。初期の方法は、各単語ベクトルに「位置ベクトル」を直接加算し、それが何番目の単語かを示すものでした。欠点は外挿です。訓練時に10000番目の位置を見たことがなければ、その位置のベクトルは訓練されていないことになり、長いテキストでは機能しません。
一方、言語学的な直感では、本当に重要なのは相対的な位置です。動詞とその主語が2語離れているという事実は、それらが5番目と3番目にあるのか、500番目と498番目にあるのかとは無関係です。現在主流の RoPE(回転位置符号化)はこの考え方に従っています。ベクトルを加算する代わりに、位置に応じてベクトルを回転させます。ドット積を取ると、2つの角度は自動的に差し引かれ、結果は2つの単語の距離のみに依存します。もう一つの方法である ALiBi はさらに簡単です。距離が離れるほど、影響力分数を直接線形に減点し、単語ベクトル自体は1文字も変更しません。
訓練で行うことは一つ:間違えたら調整し、徐々に正確にする
構造が完成しました。では、数百億の数値はどうやって決めるのでしょうか? まず出口を見てみましょう。最後の層が出力する表現と、語彙内の各単語の出力ベクトルとのドット積を計算し、それを先ほどの softmax に通すと、次の単語の確率分布が得られます。著者はここでさりげなく指摘します。このステップは、最終的な表現を特徴とし、5万クラスを持つ多項ロジスティック回帰です。
訓練目標は最尤推定、統計学の標準的なレシピです。パラメータを調整して、モデルが訓練コーパス内で実際に出現した文に与える確率を可能な限り高くします。対数を取って掛け算を足し算に変えると、これは交差エントロピーの最小化と等価になります。
これは「モデルが現実に驚かされる度合い」を測るものです。天気予報士が「明日は90%雨」と言って、実際に雨が降れば、ほとんど驚きません。「1%雨」と言って降ったら、それは大失敗です。訓練が行うのは、この失敗の度合いを一歩一歩最小化していくことです。
どうやって調整するのか? 勾配降下法です。モデル全体は、単語ベクトルから出力確率に至るまで、微分可能な関数の合成です。微積分の連鎖律を使えば、任意のパラメータに対する目的関数の勾配を計算でき、残りはソフトウェアが自動的に行います。実際の訓練では確率的勾配降下法が使われます。毎回、データの小さなバッチだけを抽出して勾配を推定します。この推定にはノイズが含まれますが、偏りはなく、それでも収束します。
著者は、訓練を「ひと鍋で煮込む」ように想像しないように注意を促しています。それは誤解です。実際の最先端モデルの訓練は複数の段階に分かれており、各段階は注意深く設計されています。
学習率は最初にウォームアップしてから減衰させ、訓練データはしばしば簡単なものから複雑なものへと並べられます(このテクニックはカリキュラム学習と呼ばれます)。この段階で、言語自体の規則を学びます。
教師あり微調整で使いやすくし、その後、人間のフィードバックからの強化学習(RLHF)で出力を人間の好みに合わせます。
彼が挙げる類推は人間の教育です。子供は段階的に学校に通い、基礎を固めてから難易度を上げます。一度にすべての知識に浸かる人間はいません。大規模モデルの訓練も、最終的に同じ考え方に到達しました。
数千億〜数兆
訓練データのトークン数:本、記事、ウェブページ、コード
数千枚
専用プロセッサを数週間〜数ヶ月稼働
数百万ドル
1回の訓練コストの規模
こうして生まれたものは、どんな人間が生涯に読むよりも多くのテキストを読んでいます。書かれた後、誰にも読まれずに終わったテキストも含めると、全人類が蓄積して読んできた量よりも多く読んでいる可能性があります。
モデルは多くを学ぶが、生まれつきできない4つのことがある
訓練済みモデルを解剖すると、誰も書き込んでいない構造が自然に出現しているのがわかります。ある関係グループは構文を注視し、あるものは代名詞を追跡してそれが指す人を見つけます。浅い層は局所的な文法や品詞を処理することが多く、深い層は意味、文章構造、そして長いテキストにわたる関係へと向かいます。規模が十分に大きくなると、能力は質的に変化します。GPT-3 の1750億パラメータの世代から、一貫性のある文章作成、推論のように見える応答、事実知識、翻訳、要約、コード生成が現れました。
著者はこれを「創発」という大きな分類に位置づけています。熱力学は統計力学から創発し、流体力学は分子間相互作用から創発し、鳥の群れの複雑な動きは、個々の鳥が従ういくつかの単純な規則から生まれます。巨視的な現象が微視的なメカニズムから生じ、しかも下位の規則を見つめているだけでは予測できません。「次の単語を予測する」という単純な目標が、規模を最大限に引き上げると、誰も明示的に書き込んでいない能力を生み出す。なぜそうなるのかは、依然として未解決の科学的問題です。
もう半分は同時に語らなければなりません。このメカニズムが生まれつきできないことが4つあります。
テキストからしか学ばず、感覚的な経験が一切ないため、自分の発言が正しいかどうかを現実と照合する方法がありません。
モデルが最適化するのは尤度であり、真実ではありません。訓練データに膨大な量の小説やナンセンスが含まれていることを考えると、モデルが「真」という概念を持っているか自体が疑わしいです。
強力なパターンマッチャーであり、形式的な演繹は行いません。訓練データに頻出する推論パターンは再現できますが、変数名を変えたり、馴染みのある問題を馴染みのない物語に埋め込んだり、無関係な詳細を追加したりすると、成績は崩れる可能性があります。論理を理解している人なら、このような表面的な変更に騙されることはありません。
ウィンドウサイズは設計時に固定されており、通常は数千から数万トークンです。ウィンドウの外にある文字は、モデルにとって存在しません。
著者が提示する対応策は、大規模モデルをディスパッチャーとして使うことです。人間の意図を明確に定義された問題に翻訳し、専用のソルバー(定理証明器、記号数学システム、データベース)に引き渡し、結果を人間の言葉に翻訳し直します。このようなハイブリッドアーキテクチャは登場しつつありますが、その成熟度はモノリシックなアプローチには及びません。
最後に:専門用語の翻訳表と、この20ページの論文
論文全体で行われた言い換え作業を、1つの表にまとめます。左側は他の場所で目にする言葉、中央は数学上の本名、最後の列は元の言葉の何が悪いかです。
| 目にする専門用語 | 数学上の本名 | 元の言葉の何が悪いか |
|---|---|---|
| attention score | 影響力分数 | 擬人的な比喩であり、計算上の役割を覆い隠している |
| attention weight | 影響力权重 | 加重平均における重みそのものであり、それ以上でも以下でもない |
| Query / Key / Value | 3つの学習された射影行列 | データベース検索から借用。しかし、ここにデータベースはなく、誰もクエリを実行せず、検索されるものもない |
| attention head | 関係グループ | 「頭」は役割分担が設計された部品を示唆するが、それらは構造が同一でランダムに開始し、分担は訓練中に自然に分化する |
| softmax | 多項ロジット逆変換 | 計算上の性質のみを説明し、統計学的に何であるかを述べていない。統計学者はこれを昔から知っている |
全文の結論を数行にまとめると、大規模モデルは「文脈が与えられたとき、次の単語が何か」という条件付き確率分布です。中核メカニズムは学習された加重平均です。影響は射影後のドット積で測定されます。多くの層を積み重ね、各層に多くの並列な関係グループを配置することで、複数レベルの複雑な関係を学習できます。使用される数学は3つだけです。線形代数(行列乗算、ドット積)、確率(条件付き分布、指数正規化)、最適化(勾配降下法)。本当に素晴らしいのは、その組み合わせと規模です。これらの平凡な部品がこのように組み立てられ、この規模に拡大されたとき、概念を形成し、複雑な関係を認識しているように見える能力が生まれました。
ChatGPT の数学を理解するのは難しくない、難しいのはあの威圧的な専門用語だ
統計の老練家が attention、Query、Key といった専門用語を統計学の標準的な表現に翻訳し直した。この一枚で、その翻訳プロセス全体を図解する
↓ 一枚で読了 · 動く図が1つあります
数学の専門家もこの専門用語の壁に阻まれた
Breeden 氏は数十年にわたり統計モデリングと信用リスク予測に携わってきました。大規模モデルの数学はそれほど難しくないだろうと思っていましたが、言葉でつまずきました。token(モデルがテキストを処理する最小単位)は query ではなく、言語学者は key とは言わず、head とは一体何なのか。彼は、これらの言葉がデータベース、心理学、電気工学から無理やり借用された比喩であり、その借用が不正確なだけでなく、背後にある本来は平凡な数学を覆い隠していると判断しました。そこで彼は、メカニズム全体を統計学の標準的な用語に置き換えて説明し直しました。これがこの20ページの無料論文です。
- Query、Key、Value、attention head
- データベースやハードウェアから借用した比喩。数学的に何を意味するのか誰も教えてくれない
- 3つの射影行列、加重平均、並列に学習される関係グループ
- 行列の掛け算と条件付き確率がわかれば理解できる
大規模モデルがやることは一つ:次の単語が誰かを当てる
テキストを与えられたモデルが計算するのは、次の単語の確率です。「The cat sat on the___」なら、mat の確率が高く、democracy の確率はほぼゼロ。確率のチェーン・ルール(これは確率論の恒等式です)を使うと、文全体の確率は一連の条件付き確率の掛け算に分解でき、モデルのすべてのタスクはそれを計算することになります。難しいのは組み合わせの多さです。語彙が5万トークンあれば、10語の文脈の組み合わせは「5万の10乗」通りになり、観測可能な宇宙の原子の数よりも多くなります。全パターンの表を調べるのは不可能で、一つの例から他の例へ応用できる関数を学習するしかありません。
最も神格化された attention も、実は加重平均
単語はまず数学で扱える点に変換され、高次元空間に配置されます。意味が近い単語は近くに置かれ、座標は訓練によって学習されます。しかし、一つの単語に複数の意味があることがよくあります。bank は「お金を預ける」と「川辺」では別物で、固定された点では対応できません。実際に計算すべきは、文脈に応じて移動する点です。これは論文全体で最も重要な脱神秘化です。その移動を担うメカニズムが attention と呼ばれるもので、数学的には加重平均です。学期の総合点を計算するのと同じで、平常点30%、期末70%のように、複数の数を異なる割合で合成します。ここでは、その重みがデータから学習されます。
どう組み立てるか:数十の並列処理、そして数十層の積み重ね
1セットの行列では1種類の関係パターンしか学習できません。しかし、単語間の関係は構文、意味、照応、近接と様々です。そこで、H セットの行列を並列に配置し、それぞれが独自に学習します。この仕組みは業界用語で「アテンションヘッド」と呼ばれますが、この言葉こそ論文全体で最も批判されているものです。それぞれのセットに設計された役割があることを示唆しますが、実際には H セットはすべてランダムに開始し、同じ目標で訓練され、役割分担は自然に発生します。1回の加重平均は近くの単語を見るだけで、長距離の依存関係は層を重ねることで学習します。
モデルは多くを学ぶが、生まれつきできない4つのことがある
訓練後のモデルには、誰も書き込んでいない構造が自然に出現しているのがわかります。ある関係グループは構文を追い、あるものは照応を追います。規模が十分に大きくなると能力は質的に変化し、一貫性のある文章作成から翻訳、要約、コード生成までが現れます。なぜそうなるのかは、未解決の科学的問題です。しかし、このメカニズムには4つの越えられない線が引かれています。これは論文原文に列挙されたものです。
✔ 規模が GPT-3 レベルに達すると、一貫性のある生成、翻訳、推論のように見える応答が出現
✘ 接地していない:テキストのみを学習し、現実と照合できない
✘ もっともらしく嘘をつく:最適化の目標は確率であり、真実ではない
✘ 厳密な推論をしない:変数名を変えたり、馴染みのない文脈に置いたりすると、パターンマッチングは失敗する可能性がある
✘ 文脈に境界がある:ウィンドウの外の文字は、モデルは原理的に見ることができない
論文が示す解決策:単独で戦わせず、ディスパッチャーとして使い、問題を翻訳して定理証明器や記号数学システムに解かせ、結果を翻訳し直す
この論文全体がやっていることは、専門用語を人間の言葉に戻すことだけです。
- attention → 加重平均、重みは学習される。それ以上でも以下でもない
- Query / Key / Value → 3つの射影行列。データベースはなく、誰も何かを「照会」しない
- attention head → 関係グループ。構造は同一でランダムに開始し、分担は訓練が自然に分化させる
- softmax → 統計学の旧知。多項ロジスティック回帰における「log-odds を確率に変換する」逆変換
どういう意味
押し寄せる
democracy は違う
よりも多い
応用の効く何かを
「座る」の意味を計算してみる
見てみよう
役割分担なのか
訓練で生まれる
照応グループ
結局どうなんだ
- × 接地せず、現実と照合できない
- × もっともらしく嘘をつく
- × 本当の推論はしない
- × 窓の外は見えない
学界の総意ではない