「人工知能のパラメーター数」の版間の差分

 
(同じ利用者による、間の3版が非表示)
24行目: 24行目:
  10億 * 32ビットfloat(4バイト) = 4GB
  10億 * 32ビットfloat(4バイト) = 4GB


このメモリ量を減らすのに16ビット(FP16/BF16)などに量子化する手法が流行っています。
このメモリ量を減らすのに16ビット(FP16/BF16)などに[[量子化]]する手法が主流です。32ビットを16ビット化すれば単純にメモリ消費量は半分程度になります。最近では1バイトの[[INT8]]や[[FP8]]、4ビットの[[ブロック浮動小数点数]]、2ビットの[[BitNet b1.58]]なども登場しています。なおメモリを節約できる量子化ですが、やりすぎると性能がピーキーになるという欠点もあります。
16ビット化すれば単純に半分程度になります。


=== 学習 ===
=== 学習 ===
32行目: 31行目:
  10億 * 32ビットfloat(4バイト) * 6 = 24GB
  10億 * 32ビットfloat(4バイト) * 6 = 24GB


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


[[category: 人工知能]]
[[category: 人工知能]]