コンピュータのための言語を発明している
私たちは実際にコンピュータに話しかけるための言語を発明しているのだ。
モネの絵を見るように、私たちはしばしば何年も経ってから神の視点で今日の発展を見て初めて全体像を理解することができる。
最近、CNNについて少し学んだが、RNNと同様に離散的な言語を処理するものであり、実際にはtransformerの中に多くのCNNの影が見られる。
Transformerの最も核心的な特徴は、attention mechanismによって、全体のテキスト内の文脈間の関係を捉え、計算できることである。これはRNNのように一つのトークンずつ処理するのではない。モデルは単純にテキストのembedding自体で訓練されるのではなく、attentionを通じて各トークンとそれ以前のすべてのトークンとの文脈関係を取得する。
興味深いことに、この文脈関係は直感的な二つのベクトルではなく、q、k、vの三つのベクトルによって表現される。kとqを掛け算して注意重みを得て、その重みを使って出力中のqの寄与を調整する。
設計上、言語の中の各単語が表す意味は、情報(v)と文脈関係における情報の二つの部分から成り立っていると言っているようだ。そして、文脈関係は指向と被指向の関係によって決まる。
例えば、以下の二つの文を考えてみよう:
廉頗大敗
廉頗大敗秦軍
「大敗」の意味は「秦軍」に依存し、「大敗」自体は廉頗と秦軍が交戦している関係を提供する。
q、k、vの設計の初めは、テキストが情報を表現する際の構造の何らかの表現であり、CNNにおいて画像の特徴をフィルターで抽象化するのと同様である。
Transformerの中の単一のattention headにおけるq、k、vは、テキストのために人為的に設計された構造である。これは、テキストのトークンを計算可能なベクトルに変換した後、非線形関係を加えるFFNの前に位置しており(もちろん、異なるレベルの特徴を捉えるmulti-attention headもある)、位置的にはCNNのconvolutionに関連するステップに完全に対応しているようだ。
ここで、三つの点について議論する価値がある:
1. 私たちはconvolutionと同様に、attentionのこのステップも完全に線形であり、本質的には行列の乗算によって実現されるファンシーなバージョンの加重平均であることを発見した。私の推測では、人為的に設計された特徴は、シンプルで明確であることを保証するために、大半が線形であるからだ。人間は直感的に非線形関係を理解するのが難しく、数に対する直感は数を数えることや幾何学から来ている。
2. embeddingのこのステップは、CNNが画像を処理する際には必要ない。LLMがこれほど大きな影響をもたらすことができるのは、ある意味で歴史の贈り物と言える。なぜなら、言語自体が非常に高い情報密度を持つ表現であり、私たちがembeddingを訓練して距離を用いて各単語の意味を捉えるとき、実際には数千年の言語、文明、知識の進化の上に立っているからだ。例えば、公式を書かなくても、「微積分」という三つの字は、背後にある数学的関係について多くの意味を持っている。このように膨大で高密度な情報こそが、transfer learningやemerging capabilitiesの基盤である。
3. 現在のところ、神経ネットワークについてはまだ触れていない。以前の記事で述べたように、神経ネットワークは本質的には情報のジュースを絞る機械である。しかし、原理的にはmanifold hypothesisが成立すると思う。二つのクラスラベル分類のタスクにおいて、私たちが最終的に行うことは、n次元空間の点をn-1次元の面で二つの側に分けることだけである。実際、大部分のデータは生成過程において高次元空間の特定の曲面上に集まっている。例えば、手書きの筆画空間は連続的であり、株価などの時系列は時間的に連続している。できるだけクリーンに切り分けるために、私たちは次元を減らしながら曲がった面を展開したいと考えている。神経ネットワークを線形変換と非線形変換の二つの部分に分けると、線形変換の役割はPCAに相当し、人為的に組み合わせたベクトルによって平面を形成し次元を減らすことになる。一方、非線形変換の部分は曲面を引き伸ばし、歪め、できるだけ平らにすることである。
「Attention is all you need」がtransformerの設計を完全に示して以来、アーキテクチャに革命的な更新はないようだ。むしろ、エンジニアリングの力、強力なGPU、大企業の能力、そしてMLシステムの努力によってモデルの性能が劇的に向上している。しかし、上記の分析のように、実際には深層学習、さらにはAIの本質は表現、つまり情報をコンピュータにどのように提示するかにある。数千年前の言語革命が人類に知識、社会、歴史をもたらし、文明を創造した。今、新しい文明は計算可能な言語を用いて、表現可能なすべての情報を示し、計算によってそれらを圧縮し、構造を通じてそれらを制御する方法を見つける必要がある。
もしかしたら、embeddingモデルを訓練するのと同様に、最終的な表現方法は大量の計算方法によって完全にフィットすることができるかもしれない。しかし、少なくとも今のところ、地球上のすべての原子の状態を収集して神経ネットワークに詰め込んでも、すべての物理法則を得ることはできない。私たちは、角速度と初期位置を用いて振り子の単振動を記述したり、ケプラーが面積保存を用いて惑星の軌道を記述したりするように、物理法則の発見自体が高次元データから少数の特徴を用いてほぼ線形の関係を見つけることだと考えられる。しかし、少なくとも今のところ、YouTubeのピクセルを神経ネットワークに詰め込むだけでは成功する方法には見えない。
この観点から見ると、Transformerは依然としてUniversal modelへの道のりなのだろうか?もしそうでないなら、どのような方法が必要になるのだろうか?それはdiffusion/energy basedになるのだろうか?