「人工知能のパラメーター数」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の3版が非表示) | |||
| 24行目: | 24行目: | ||
10億 * 32ビットfloat(4バイト) = 4GB | 10億 * 32ビットfloat(4バイト) = 4GB | ||
このメモリ量を減らすのに16ビット(FP16/ | このメモリ量を減らすのに16ビット(FP16/BF16)などに[[量子化]]する手法が主流です。32ビットを16ビット化すれば単純にメモリ消費量は半分程度になります。最近では1バイトの[[INT8]]や[[FP8]]、4ビットの[[ブロック浮動小数点数]]、2ビットの[[BitNet b1.58]]なども登場しています。なおメモリを節約できる量子化ですが、やりすぎると性能がピーキーになるという欠点もあります。 | ||
=== 学習 === | === 学習 === | ||
| 32行目: | 31行目: | ||
10億 * 32ビットfloat(4バイト) * 6 = 24GB | 10億 * 32ビットfloat(4バイト) * 6 = 24GB | ||
推論の4〜6倍にもなるのはオプティマイザ(AdamWなど)や勾配(Gradients)の保持に大量のメモリを消費するためです。学習では推論と違ってこちらは全体を量子化してガツンとメモリを節約するのは難しいですが、オプティマイザや勾配などの一部分だけを16ビット化したりする手法は考案されています。 | |||
[[category: 人工知能]] | [[category: 人工知能]] | ||