人工知能のパラメーター数

2026年5月15日 (金) 05:37時点におけるAdministrator (トーク | 投稿記録)による版 (→‎学習)

人工知能のパラメーター数とは、その人工知能プログラム中で使用している(メモリに保持している)行列ベクトルの総数です。

import torch

# 例えば、1000個の入力から500個の出力へ変換する層のパラメータ

# 重み: (出力数, 入力数) の行列
weights = torch.randn(500, 1000) 

# バイアス: (出力数) のベクトル
bias = torch.randn(500)

# パラメータ数 = 500 * 1000 + 500 = 500,500

数字がデカければ賢いという単純なものではありませんが、パラメータが多いほどモデルの表現力が増し、より複雑な文脈やニュアンスを理解・表現でき、高性能になる傾向があります。

2025年ごろからパラメーターを盛り盛りする競争が発生し、そのために必要なメモリが争奪戦になっています。なお、SSDの価格も上がっていますが、こちらはただの便乗値上げです。

必要となる推定メモリ量

推論

ざっくり推論は「10億パラメーター(1B)あたり4GB」です。

10億 * 32ビットfloat(4バイト) = 4GB

このメモリ量を減らすのに16ビット(FP16/BF16)などに量子化する手法が流行っています。 16ビット化すれば単純に半分程度になります。

学習

一方でフル学習は推論の4〜6倍の「10億パラメータ(1B)あたり16〜24GB」です。

10億 * 32ビットfloat(4バイト) * 4 = 16GB
10億 * 32ビットfloat(4バイト) * 6 = 24GB

オプティマイザ(AdamWなど)や勾配(Gradients)の保持に大量のメモリを消費するためです。推論と違ってこちらは全体を量子化してガツンとメモリを節約するのは難しいですが、オプティマイザや勾配だけを16ビット化したりする手法は考案されています。