計算量Compute
モデルを一度動かすのに要る計算の総量
- 計算量は、モデルを一度動かすのに必要な掛け算と足し算の合計回数です。
- かかる時間ではなくやるべき仕事の量です。同じ仕事でも設備を増やして分担すれば時間は減ります。
- 学習はデータを数え切れないほど繰り返し見るので、答えを一回もらう作業とは比べものにならないほど大きな計算量が必要です。
- モデルが大きくなり入力が長くなるほど増えます。とくに入力の長さは増える速さが急です。
- 計算量は電気代や機材のレンタル料に直結します。置き場所が足りない問題とは別の壁です。
目次
1たとえで理解する
宅配便物流センターの一日を思い浮かべてください。今日届いた荷物が1万個、荷物一つが出ていくまでスキャン・仕分け・積み込みの手作業が五回ずつ必要だとします。そうすると今日やるべき仕事は5万回です。この5万回が計算量です。
この数字は倉庫が広くても狭くても、働く人が多くても少なくても変わりません。ベルトコンベヤーを二倍にすれば、同じ5万回を半日で終わらせるだけです。荷物が二倍届いたり、手作業が一段階増えたりして初めて仕事の総量が増えます。
だから物流センターの所長が見る数字は二つです。今日やるべき仕事が何回か、そしてその仕事を何時間で終えられるか。前の数字が計算量です。
2くわしく
仕事の量は掛け算の回数で数えます
モデルの中で起きていることは、ほとんどが数を掛けて足す作業です。層を一つ通るたびに、入ってきた数の束とその層が持つ数の束を組み合わせて掛けて足す作業が数百万回起こります。すべての層を通り終えると、その回数が積み重なって答え一回を出すのに必要な総量になります。
だから計算量は秒や分といった時間の単位では数えません。荷物の個数のように仕事そのものの大きさで数えます。時間はこの大きさを機材の処理速度で割った結果にすぎません。同じモデルがあるコンピューターでは1秒、別のコンピューターでは30秒かかっても計算量は同じである理由です。
作るときと使うときでは桁が違います
モデルを使う仕事は、倉庫から荷物を一つ取り出して送り出す仕事に近いです。質問一つに答え一つ、数秒で終わります。モデルを作る仕事は、倉庫全体を何度も整理し直す大工事です。答えを出してみて、どれくらい間違っていたかを測り、さかのぼって直していく過程をデータ全体に対して数え切れないほど繰り返すからです。
さかのぼって直す過程は答えを出す過程より二倍ほど手間がかかります。ここにデータを何度も見る回数まで掛け合わさると、差は何百万倍にも広がります。大きなモデル一回の学習にコンピューターが数千台、数週間もかかり切りになるという話はここから来ています。
何が計算量を増やすのか
一つ目はモデルの大きさです。学習で調整される数字が二倍になれば、掛け算の回数もおおむね二倍になります。二つ目はデータの量です。目を通す文章が二倍なら、学習に必要な仕事も二倍になります。
三つ目は入力の長さです。これは少し違う増え方をします。文の中のすべての一片が互いを見比べる計算が入っているので、長さが二倍になるとその部分の仕事は四倍近く跳ね上がります。短い質問を十個入れるより長い文書一つをまるごと入れるほうがずっと高くつく理由です。答えを長く受け取ることも同じで、一片ごとに計算が一回余分に回るので、その分だけ増えます。物流センターでたとえるなら、荷物一つあたりの手作業の回数そのものが増えていくようなものです。
同じ仕事をもっと安く終わらせる方法
仕事の総量を減らす方向と、処理速度を上げる方向があります。総量を減らすには、小さなモデルを使うか、大きなモデルの知識を小さなモデルに移すか、数をもっと粗い単位に変えて一回の掛け算を軽くします。同じ質問が繰り返されるなら、以前計算した結果を保存しておいて使い回す方法もあります。
速度を上げる方向は機材を複数台に分ける方向です。ただし無限に分けられるわけではありません。前の層の結果が出ないと後ろの層は計算できないので、人をいくら増やしても順番を飛ばすことはできません。分担した結果をやり取りするのにも時間がかかるので、ある地点を超えると機材を足してもあまり速くなりません。物流センターでレーンを増やしすぎると、荷物を受け渡す通路のほうが混み合ってしまうのと似ています。
3もう少し正確に
計算量はふつう浮動小数点演算の回数(FLOPs, Floating Point Operations)で数えます。大きな言語モデルを学習するのにかかる総量は、おおよそパラメータ数と学習に使ったトークン数を掛けた値に比例すると言われています。答えを一回出すときはそれよりずっと小さく、パラメータ数の二倍前後で見積もります。
たとえがずれる点もあります。宅配便の荷物は互いに関係なく別々に処理できますが、ニューラルネットワークの計算は前の結果が後ろの計算の材料になるので順番を守る必要があります。だから機材を二倍に増やしても時間がぴったり半分にはなりません。
もう一つ、実際に答えが遅く出る理由が掛け算の回数ではないことも多いです。計算する数字をメモリから取り出す時間のほうが長くかかり、計算装置が数字を待って遊んでいる状況がよくあります。計算量は費用を測るよい物差しですが、速さをそのまま予測してくれるわけではありません。
4やってみる
5よくある誤解
計算量がそのままかかる時間だと思われがちですが、実際には機材の性能と何台に分けて処理するかによって、同じ計算量でも時間は大きく変わります。
よいグラフィックカードを買えば大きなモデルが動くと思われがちですが、実際には計算が速くても数字を載せておく場所が足りなければそもそも始められません。
答えを受け取る側は安いから気にしなくてよいと思われがちですが、実際には一回は安くても数億回積み重なると学習にかかった費用をゆうに超えます。
7ひとこと要約
つまり計算量はモデルを動かすのに必要な計算の総量で、この量が料金と待つ時間を決めます。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02