FLOPS、FLOPs、TOPSってなに?
お疲れ様です。
日々、ChatGPTなどのLLMとの対話を通じてAIについて学んでいます。
AI関連の記事や論文を読んでいると、FLOPS、FLOPs、TOPSといった似た用語が出てくるので、整理してみました。
まず、FLOPS(大文字のS)は「Floating-point Operations Per Second」の略で、一秒あたりの浮動小数点演算能力を指します。
NvidiaのGPUのスペック表でよく見かけるのが、このFLOPSです。
ちなみに扱う浮動小数点が長いほど、処理能力は下がります。たとえば、FP32よりFP64の方が、一秒間に処理できる演算能力は低下します。
次に、FLOPs(小文字のs)は「Floating-point Operations」の略で、LLMモデルの学習に必要な総浮動小数点演算量を示します。
LLM開発者は、先行研究のFLOPsを基に、どれだけの計算リソースが必要かを見積もるのに使うようです。
最後にTOPSですが、これは「Tera Operations Per Second」の略で、学習済みのモデルが推論するために、一秒間に何回演算できるかを示す指標です。
Microsoftが次世代PCとして発表したCopilot+PCでも、NPUの性能として40TOPS以上が求められていることからも分かるように、推論性能の指標のようです。
FLOPSとTOPSの違いは混同されやすいですが、一般的にモデルの学習時はFLOPSで評価し、学習後の推論時にはTOPSで評価します。
理由として、学習時は高精度な浮動小数点演算が必要ですが、推論時はINT8やINT4といった低精度の演算でも十分な場合が多いためです。
まとめると、FLOPS(大文字のS)は学習時の計算能力、TOPSは推論時の計算能力を評価する指標であり、FLOPs(小文字のs)はモデル構築に必要な総演算量を示すものです。
ややこしくて今まで曖昧にしていましたが、今回整理できて少し理解が深まり嬉しく思います。
最後まで読んでいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?