概要
この記事は、Large Language Model(LLM)がどのように動作するかを、AIの専門知識がない技術者向けに解説。 高校数学レベルの知識(ベクトル・行列)があれば理解可能。 主に推論フェーズ(学習済みAIの利用)に必要な数学を中心に説明。 LLM内部の「高次元空間」の使い方や意味、行列による射影について解説。 次回はニューラルネットワーク層の詳細へと続く。
LLMの「高次元空間」入門
- LLM の理解に必要な数学は、高校で習う ベクトル・行列 程度
- 本記事では 推論 (既存AIの利用)に必要な知識に限定し、 学習プロセス は次回以降で解説予定
ベクトルと高次元空間
- ソフトウェアエンジニアが使う「ベクトル」は 数値の配列 を指す
- 数学的には、ベクトルは n次元空間 での「距離と方向」または「点」を表現
- 2次元例:(2,−3)は「右に2、下に3」の点、3次元例:(5,1,−7)は「右に5、上に1、奥に7」の点
- 次元が増えても 概念は同じ、ただし視覚化は困難
- LLMでは、 ロジットベクトル が「次トークンの確率」を多次元空間で表現
Vocab Space(語彙空間)
- LLMのロジットは、 各トークンごとに1つの数値 を持つベクトル
- 例:GPT-2は 50,257個のトークン → ロジットベクトルは50,257次元
- 例:トークンID464は"The"、ロジットベクトルの464番目が"The"の出現確率
- このベクトル空間を vocab space (語彙空間)と呼ぶ
- ロジットベクトルは「 乱雑な空間」であり、同じ確率分布を複数のベクトルで表現可能
- softmax関数 で正規化することで、「 確率分布」となり、全ての値が0〜1の範囲かつ合計1
- 例:(1,2,3)と(−9,−8,−7)はsoftmax後に同じ分布(約0.09,0.24,0.66)になる
- (1,2,5)は同じ順位だが、3つ目のトークンの確率がより高い分布(約0.02,0.05,0.94)になる
- 正規化後の空間では、 one-hotベクトル (1つだけ1で他は0)も重要な役割
Embedding Space(埋め込み空間)
- 埋め込み空間 は「意味」を表現する高次元空間
- 例:「domestic cat」「lion」「tiger」は近く、「dog」「wolf」は別のクラスタ
- 用途に応じて、様々な意味空間が構築可能
- 動物学用(分類群ごと)、日常用途(ペット/野生動物ごと)など
- 品詞(動詞・名詞・形容詞)のクラスタリングも可能
- 埋め込み空間では、 ベクトルの長さ よりも「方向」が重視されることが多い
- 例:(1,2)と(8,16)は同じ方向なので、実質的に同じ意味とみなす場合も
行列による射影(プロジェクション)
- 行列 はベクトルを積み重ねたもの
- 例:(2,−3)と(5,1)を並べて2×2行列に
- 行列のサイズは「行×列」で表記(例:2×3行列)
- 行列の積は 幾何学的変換 (回転・射影)を実現
- 例:2次元回転行列[cosθ−sinθ; sinθcosθ]で点群をθ度回転
- 機械学習では 行ベクトルを縦に積む (row-major)形式が主流
- 計算時は X·R (点群×変換行列)の形で射影
- 3次元→2次元のような 次元削減 も行列で可能
- 例:n×3行列(3次元点群)×3×2行列→n×2行列(2次元射影)
- d1×d2行列 はd1次元空間→d2次元空間への射影
- 例:50,257×768行列で50,257次元→768次元への射影
- 射影は「 情報の喪失」を伴う場合がある
- 例:3次元→2次元射影で元の奥行き情報は復元不可能
まとめ
- LLM内部では、 ベクトル・行列 を使って多次元空間間の射影や意味表現を実現
- 「語彙空間」「埋め込み空間」など、用途に応じた高次元空間を使い分け
- 行列積は「空間間の変換」として直感的に理解できる
- 次回はこの仕組みを使った ニューラルネットワーク層 の動作にフォーカス予定