今話題のLLMs(Large Language Models):モデルってなんだろう?
AI/MLが一般の人を巻き込む形で広まったのは2023年くらいからだろう。2025年初頭の今では朝夕のニュース番組でLLMを含む生成AIの話題が出ない日はないくらいだ。
Large Language ModelのうちLargeは大規模、Languageは言語、Modelはモデル、逐語訳して大規模言語までは内容が明確だ。では モデル ってなんだろう、と問われて即答できるだろうか?
現在広く使われている使われているLLMはほぼ機械学習の一つ、深層学習(Deep Learning)を用いて作られている。
機械学習(特にDeep Learning)において モデル とは、基本的に以下の要素を含むものと考えらる。
モデルの実体
- ネットワーク構造(アーキテクチャ)
- 層の種類(畳み込み層、全結合層、Recurrent層など)
- 各層のニューロン(ノード)数
- 活性化関数の種類
- パラメータ(学習済みの結合重みとバイアス)
- 重み行列(Weight Matrices)
- 各層間のニューロン同士を結ぶ結合の強さを表す行列
- バイアス(Bias Vectors)
- 各ニューロンの出力を調整するスカラー値
- 学習アルゴリズム
- 勾配降下法(SGD, Adamなど)
- 損失関数
- 学習率などのハイパーパラメータ
- 推論ルール
- 訓練されたモデルが入力データに対してどのように出力を計算するか
モデルの実体としての行列集合
実際の学習済みモデルの「実体」は、学習によって最適化された 重み行列とバイアスベクトルの集合 になる。
たとえば、3層のニューラルネットワーク(入力層→隠れ層→出力層)がある場合:
- 入力層(x)→ 隠れ層(h)の間の結合: 行列 W1
- 隠れ層(h)→ 出力層(y)の間の結合: 行列 W2
- 各層のバイアス: ベクトル b1,b2
全結合層の計算(活性化関数 f を適用する場合):
h=f(W1x+b1) y=f(W2h+b2)
このように、学習済みのモデルとは、基本的に「重み行列(複数の行列)+バイアスベクトル」の集合だと考えられる。
追加学習(Fine-tuning)との関係
追加学習(Fine-tuning, Transfer Learning)とは、既存の重み行列を初期値として使い、新しいデータでさらに学習させる ことを意味する。
たとえば、ImageNetで学習済みのResNetなどのモデルを用いる場合:
- すでに学習済みの 重み行列 W が保存されている
- 新しいデータセットに対して、学習率を小さくして更新
- 特定の層だけを学習可能にし、その他の層は固定することもある
ここまでのまとめ
モデルの実体 は、ニューラルネットの重み行列の集合(+バイアスベクトル) と考えることができる。\
モデルの学習は、これらの行列を最適化するプロセス。\
追加学習(Fine-tuning)は、既存の行列の値を微調整すること。
LLMにおけるモデル
では本題のLLMのモデルについて述べる。LLMにおけるモデルも、基本的には従来のDeep Learningのモデルと同じ概念に基づいているが、いくつか拡張された重要な要素がある。LLMの場合は特にスケール、トレーニング手法、特殊なアーキテクチャ、データ管理が加わる。以下にそのポイントをまとめる。
1. 基本は同じ「重み行列の集合」
LLMも本質的には、Transformerアーキテクチャの巨大な重み行列の集合がモデルの実体である。
- 入力層から出力層までの多層Attention構造
- Self-Attention(自己注意機構)で単語間の関係を重み行列で表現
- FFN(Feed-Forward Network)部分も重み行列を使用
- 重み行列のスケールが極端に大きい
- GPT-4のようなモデルでは、数千億~数兆個のパラメータ(重み)がある。
- 行列のサイズが膨大なため、これが従来のモデルと大きく異なるポイント。
2. データの多様性とサイズ
LLMは膨大な量のデータセットで学習されており、このデータの多様性とスケールが特徴です。
- 事前学習(Pre-training):基本的に教師なし学習(言語モデリング)を行い、膨大なデータでモデルを最初に学習
- テキストデータ全般(書籍、Webページ、プログラムコードなど)
- ファインチューニング(Fine-tuning):特定タスクのために追加データで再学習(RLHFなども含む)
事前学習によって得られる**重み行列は「言語全体の知識」**を保持しており、これがLLMの基礎となる。
3. 新しいアーキテクチャ要素
LLMでは特にTransformerアーキテクチャがモデルの中心である。
Transformerモデルの基本構造:
- Multi-Head Attention(多頭注意機構)
- 文脈を広く捉えるための重要な機構
- 各Attentionは異なる重み行列を持ち、複数の視点から入力を捉える
- Layer Normalization, Positional Encoding
- 入力の位置情報やスケーリング処理が含まれる
LLMの工夫:
- 大規模なパラメータ共有(同じ重みを繰り返し利用して効率化)
- メモリ管理・並列計算の最適化(データ並列・モデル並列の技術を利用)
4. 新しい学習方法:RLHF(Reinforcement Learning from Human Feedback)
LLMの一部は従来の「損失関数最小化による学習」に加え、強化学習(Reinforcement Learning)が使われている。
- 報酬モデル(Human Feedback):人間がモデルの出力を評価し、より良い出力を選択する
- 自己改善型学習(ChatGPTの調整プロセスに該当)
5. モデルが「知識の倉庫」化
従来のモデルは、特定タスクのためのパターン認識や予測が中心だったが、LLMは広範な知識を持つ「知識ベース的モデル」としても機能する。
- 質問応答、翻訳、コード生成、対話生成など多タスクに対応
- 学習済みの重み行列が「知識の格納庫」として機能するため、事前学習で多様な情報をモデル内に蓄積できる
6. モデルの「生成的な役割」
従来の機械学習モデルは「分類・回帰」が主だったが、LLMではテキスト生成が中心的なタスクである。
- 入力テキストから次の単語(トークン)の予測を繰り返すことで、流暢なテキストを生成する
- トークン単位での生成(LLMはテキストを「単語」ではなく「トークン」という単位で扱う)
まとめ
LLMは前段で述べた従来の機械学習モデルに対して、以下のような概念が加わったものと考えられる:
機械学習モデル | LLM |
---|---|
重み行列が小規模 | 巨大な重み行列の集合 |
特定タスクに特化 | 多タスク対応 |
個別のアーキテクチャ | Transformerアーキテクチャ |
勾配降下法による学習 | 事前学習+RLHF(強化学習) |
小規模データ | 膨大なデータ(Web, 書籍, コード) |
単純な出力(分類など) | トークン生成によるテキスト生成 |
パターン認識重視 | 知識倉庫的な役割 |
LLMを理解する際、これらの視点があると非常にクリアになる、
特筆すべきはTransformerがLLMのモデルにおいて中心的役割を果たしていることで、この理解が大切であるということだ。Transformerについては稿を改めて記載する。