見出し画像

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)はモデル構築に必要な総演算量を示すものです。

ややこしくて今まで曖昧にしていましたが、今回整理できて少し理解が深まり嬉しく思います。

最後まで読んでいただき、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?