パラメータ数【number of parameters】
概要
ニューラルネットワークとは
ニューラルネットワークは、動物の脳の神経回路の構造と働きを模式化したモデルである。刺激に反応する神経細胞(ニューロン)を模した「ノード」(ユニットとも呼ばれる)を層状に配置した構造で、入力層、1層以上の隠れ層(中間層)、出力層で構成される。
各ノードは前の層のノード出力を受け取り、それぞれに異なる「重み」と呼ばれるパラメータを乗じて加算する。これに自らが内部に持つ「バイアス」と呼ばれるパラメータを加算して、最後に活性化関数で変換した値を次の層のノードへ出力する。最上位の入力層は外部からデータを受け取り、最下位の出力層は外部へデータを出力する。
パラメータ数とは
あるモデルが学習データに基づいて最適化するパラメータは、ノード間の繋がりが持つ「重み」と、ノードごとに保持している「バイアス」、それ以外のモデル固有の係数があり、その数の合計がそのモデルのパラメータ数となる。各層のパラメータ数を合計することでネットワーク全体のパラメータ数を求めることができる。
すべてのノードが前の層のすべてのノードと繋がっている全結合層の場合、前の層のノード数とその層のノード数の積(重みの数)に、その層のノードの数(バイアスの数)を加えたものがパラメータ数である。画像などの局所的な特徴を捉える畳み込み層の場合は、フィルタの大きさ、チャネル数、フィルタ数の積に、バイアスの数を加えた値となる。
パラメータ数と性能・負荷
基本的にはパラメータ数が大きければ大きいほどネットワークの表現力は高まり、様々なデータの特徴を学んで複雑な問題を解けるようになる。一方、パラメータが多いほど学習データを与えたときのパラメータ更新にかかる計算量やメモリ容量、所要時間は増大する。
2010年代に深層ニューラルネットワーク(DNN)の研究・開発が進展し、パラメータ数や学習データ数を増やせば増やすほど性能が向上する「スケーリング則」が見出された。2020年代にはパラメータ数を増大させる方向で開発者間の競争が激化し、大規模言語モデル(LLM)などの汎用的なモデルのパラメータ数は急激に増大している。
パラメータ数はモデルの特性を表す基本事項であるため、「llama-3-8B」といったようにモデル名やバージョン番号と共に表記されることが多い。近年では極めて大きな数となるため、英語の数詞を略した「M」(Million:100万)、「B」(Billion:10億)、「T」(Trillion:1兆)といったアルファベットを用いて表記する。例えば、「300M」なら100万×300で3億、「10B」なら10億×10で100億を意味する。
