AI 計算能力コンバーター
変換FLOPS/TOPS などの AI 計算単位を変換します。FLOPS と TOPS は異なる演算を測るため直接変換できません。
すべての単位(同一ファミリー)
このページの内容
AI 計算能力コンバーターとは?#
AI ハードウェアは、見かけは互換的に見えて実際にはそうではない「1 秒あたりの演算数」の 2 つの系統で売られます。FLOPS 系(FLOPS、kFLOPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS)は浮動小数点演算を 1 秒あたりに数えたもので、科学技術計算、学習スループット、グラフィクスの伝統的な指標です。OPS 系(OPS、kOPS、MOPS、GOPS、TOPS、POPS)は*整数または「混合」*演算を 1 秒あたりに数えたもので、チップベンダーが INT8 推論アクセラレータの指標として引用する数字です。「100 TOPS」の NPU と「100 TFLOPS」の GPU は同じ物差しでは比較できません。TOPS の「1 演」と FLOPS の「1 演」が異なるものを測るからです。
本ページは各系統内の変換を正確に行い(各単位はその系統の基準のきれいな 1000 の累乗倍)、系統をまたぐ変換は、比でっち上げではなく明示的に拒否します。この拒否こそがこのツールの存在意義です。TFLOPS を TOPS に「変換する」単一の数値は作り話であり、ベンダー同士すら 1 回の乗算累算を 1 演算と数えるか 2 演算と数えるかで合意していないからです。
使い方#
- 変換したい値を入力します。
- グループ化されたドロップダウンで変換元を選びます。単位は 2 つの optgroup(FLOPS と OPS)の下にリストされ、系統の境界がピッカー上で見えます。
- 同じように変換先を選びます。
- 結果を読みます。両単位が同じ系統なら数値が得られます。系統をまたいだ場合は、でっち上げの数値ではなく、明示的な系統間超過通知が出ます。
- すべての単位を展開すると、入力を同じ系統のすべての単位に一挙に変換した結果が、6 桁の有効数字で表示されます。もう一方の系統の単位は変換不可能なため省かれます。
主な機能#
- 2 つの系統を混同しない。 FLOPS と OPS は別々の optgroup として表示され、暗黙に混ざることはありません。系統内の計算は正確です(
値 × 変換元係数 ÷ 変換先係数)。系統をまたぐ場合はツールが「ノー」と言います。 - 正直な系統間拒否。 TFLOPS → TOPS のリクエストは、もっともらしくて意味のない数値ではなく、明示的な系統間エラーを返します。これが「変換器」と「推測」の違いです。
- ZFLOPS までの完全な FLOPS 範囲。 単一演算の FLOPS から k、M、G、T、P、E、Z(10²¹)まで、組み込み MCU から仮想的なエクサスケール超のシステムまでをカバーします。
- POPS までの完全な OPS 範囲。 OPS から k、M、G、T、P まで — ベンダーのスペックシートが INT8 推論の主張に実際に使う範囲です。
- 6 桁の有効数字への丸め。 結果はバイナリ浮動小数点ノイズを抑えるためイプシロン補正付きで丸められ、1 TFLOPS が 999.9999999 ではなくちょうど 1000 GFLOPS と読めます。
- 全単位テーブル。 1 つの入力から、同じ系統の全単位を一望できます。スペックシートが TOPS を引用し、同じスループットを GOPS や MOPS でも見たい場合に便利です。
実例#
ある GPU のスペックシートが FP16 スループット 1 TFLOPS を謳っているとします。これを GFLOPS で表すには、値 1、変換元 TFLOPS、変換先 GFLOPS にします。
1 TFLOPS = 1000 GFLOPS
すべての単位を展開すると、同じ値が FLOPS 系全体を埋めます。
FLOPS: 1,000,000,000,000
kFLOPS: 1,000,000,000
MFLOPS: 1,000,000
GFLOPS: 1,000
TFLOPS: 1
PFLOPS: 0.001
EFLOPS: 1e-6
ZFLOPS: 1e-9
次に、これを TOPS 表記の NPU と比較しようとしてみます。変換元 TFLOPS、変換先 TOPS にします。結果は数値ではなく、系統間通知です。物理的に意味のある変換は存在しません。TFLOPS は浮動小数点演算を(独自の精度セマンティクスとともに)測り、TOPS は整数/混合演算を(典型的には INT8 で)測り、1 回の MAC を 1 演算と数えるベンダーもあれば 2 演算と数えるベンダーもあるためです。正直な答えは「追加情報なしには比較できない」であり、ツールはまさにそれを返します。
よくある質問#
なぜ TFLOPS を TOPS に変換できないのですか?#
異なるものを数えるからです。TFLOPS は 1 秒あたりの浮動小数点演算、TOPS は 1 秒あたりの整数(通常 INT8)演算であり、2 つの演算タイプには固定比がありません。チップのデータパスと、乗算累算を 1 演算と数えるか 2 演算と数えるかで変わります。単一の変換係数はすべて推測です。FLOPS 内、または OPS 内で変換し、両者の間では変換しないでください。
FLOPS 系は実際に何を測るのですか?#
1 秒あたりの浮動小数点演算を、スペックシートが定義する精度(FP64、FP32、FP16、INT8-as-float…)で測ります。決定的に、「1 TFLOPS FP16」と「1 TFLOPS FP32」は同じ仕事量ではありません。チップの TFLOPS 格付けはどの精度を引用するかで変わります。数値の横に必ず精度を読んでください。単位だけでは不十分です。
kFLOPS、MFLOPS、GFLOPS はすべて 1000 の累乗ですか?#
はい。系統内の 1 ステップはすべて ×1000 です。1 kFLOPS = 1000 FLOPS、1 MFLOPS = 1000 kFLOPS、1 GFLOPS = 1000 MFLOPS、以降 ZFLOPS(10²¹)まで同様です。KiB と KB のようなバイナリ/10 進の曖昧さはここにはありません。計算単位は普遍的に 10 進です。
全単位テーブルがもう一方の系統を省くのはなぜですか?#
それらの単位があなたの値に変換不可能だからです。FLOPS 値を入力したなら、テーブルはすべての FLOPS 単位を示します。OPS 単位は、でっち上げの数値を示すのではなく省かれます。OPS の相当値を見るには、(実際に OPS を引用するスペックシートから)値を OPS 数値として再入力すると、テーブルは代わりに OPS 列を埋めます。