7月11日、Giles Thomasが「Building intuition about LLM parameter counts」と題した記事を公開した。GPT-2アーキテクチャを題材に、LLMのパラメータ数がモデル内の各コンポーネントにどのように分布しているかを定量的・視覚的に解説した内容で、「アテンション層にパラメータが集中している」という根強い思い込みを数字で覆す。
「アテンションがほとんど」は思い込みだった
LLMの内部構造を学ぶとき、どうしてもアテンション機構に目が向く。確かにアテンションは最も理解しにくい部分であり、解説記事の多くもそこに紙幅を割く。しかしその結果として、「パラメータのほとんどはアテンション層にある」という誤った直感が生まれやすい。
Giles Thomasは自身でJAXによるGPT-2実装を進める中で(該当記事)、この誤解に気づいた。
まず驚いたのは、Transformerブロックもアテンションも持たない「トークン埋め込みと出力ヘッドだけの骨格モデル」が、すでに7700万パラメータを持っていたことだ。GPT-2 smallの設定である埋め込み次元768・語彙数50,257のもと、入力埋め込み行列(50,257×768)と出力行列がそれぞれ約3860万パラメータを持ち、合計で7700万強となる。これはTransformerの本体をまったく含まない、純粋な埋め込み層だけの数字だ。
そして12層のTransformerブロックを加えた完成形であるGPT-2 smallの総パラメータ数は1億6300万。骨格モデルの7700万に、各層のアテンション・FFN・LayerNormの合計約8600万が積み上がった形になる。結果として、入力埋め込みと出力ヘッドだけで全体の**約47%**を占めていた。
FFNはアテンションの約2倍のパラメータを持つ
もう一つの発見がフィードフォワードネットワーク(FFN)だ。FFNはTransformerの各層に含まれるシンプルな2層の全結合ネットワークで、中間次元は埋め込み次元の4倍(GPT-2 smallでは3072)に拡張される。この拡張幅がパラメータ数を押し上げ、FFNのパラメータ数はアテンション層の約2倍にのぼる。アテンション機構の複雑さに注目するあまり、FFNの「重さ」は見過ごされがちだ。
つまりTransformerブロック内部に限定しても、多数派はFFNであり、アテンションではない。「アテンションが主役」という印象は、パラメータ数の観点からは正確でない。
インタラクティブなビジュアライザで確かめる
記事の目玉は、GPT-2各サイズのパラメータ内訳をリアルタイムで確認できるインタラクティブビジュアライザ(こちら)だ。埋め込み、アテンション、FFN、出力ヘッドの比率を視覚的に確認でき、以下の設定も切り替えられる。
- GPT-2の各サイズ(small / medium / large / XL)
- カスタム設定(同アーキテクチャで独自の次元数やレイヤー数を指定)
- Weight tyingの有無:入力埋め込み行列と出力ヘッドの重み行列を共有するテクニック。両者は形状が同一(語彙数×埋め込み次元)であるため、同一の重みを使い回すことで約3860万パラメータを削減できる。GPT-2の公式実装でも採用されており、Weight tyingを有効にするとモデルの総パラメータ数が大きく変化する様子をビジュアライザで直接確認できる
- QKVバイアスの有無
以下はGPT-2 small(weight tyingなし)での表示例だ。

語彙数が増えるほど、埋め込みがモデルを支配する
ビジュアライザで特に試す価値があるのが、語彙数を大きくしたときの挙動だ。近年のモデルは語彙数が数十万に達するものもある。語彙数を増やしていくと、Transformerの本体(アテンション+FFN)が相対的に小さくなり、「ほぼ埋め込みと出力ヘッドだけ」で構成される"tiny"モデルが簡単に出来上がる。
小規模モデルほどこの傾向が強く、パラメータ効率を議論する際には埋め込み層の占有率を無視できない。LLMのスケーリング則やパラメータ効率に関心のあるエンジニアにとって、直感を補正する材料になる記事だ。
詳細はBuilding intuition about LLM parameter countsを参照していただきたい。