Zubnet AI學習Wiki › FLOPs
基礎

FLOPs

別名:浮點運算、FLOP/s、算力

浮點運算 — AI 中計算工作量的標準衡量單位。訓練一個模型需要一定數量的 FLOPs(總操作數)。硬體以 FLOP/s(每秒操作數)評定。一個 H100 GPU 在 FP16 下可以執行約 2,000 TFLOP/s(每秒 2 千兆次操作)。GPT-4 的訓練估計約為 10^25 FLOPs — 一個大到難以理解的數字。

為什麼重要

FLOPs 是 AI 算力的貨幣。縮放定律以 FLOPs 表達。訓練預算以 FLOPs 衡量。GPU 比較使用 FLOP/s。理解 FLOPs 有助於你估算訓練成本、比較硬體,以及理解為什麼 AI 進步與算力擴展如此緊密相連。當人們說「擴展算力」時,他們的意思是花費更多 FLOPs。

深度解析

Transformer 訓練 FLOPs 的有用近似:C ≈ 6 · N · D,其中 N 是參數數量,D 是處理的 token 數量。6 來自前向傳播(2x — 乘加計為 2 次操作)加上反向傳播(大約是前向的 2 倍)。訓練一個 7B 模型處理 1T token:6 × 7×10^9 × 10^12 = 4.2×10^22 FLOPs。在 H100 上 50% GPU 利用率(有效約 1000 TFLOP/s),大約需要 500 GPU 小時。

FLOPs vs. FLOP/s vs. GPU 小時

FLOPs(不帶 /s)是總工作量。FLOP/s 是速率。GPU 小時是時間 × 硬體。它們的關係:GPU 小時 = FLOPs / (FLOP/s × 利用率)。在實務中,LLM 訓練的 GPU 利用率為 30–60%(受通信、記憶體操作和管道氣泡限制)。這意味著 H100 理論上的 2000 TFLOP/s 轉化為 600–1200 TFLOP/s 的實際有用工作。成本隨之而來:以每 GPU 小時 2 美元計算,訓練那個 7B 模型大約花費 1,000 美元。

推論 FLOPs

每個 token 的推論 FLOPs ≈ 2N(一次前向傳播)。一個 70B 模型:約 1400 億 FLOPs 每個 token。在有效 1000 TFLOP/s 下,那是每個 token 0.14ms — 理論上每秒 7000 個 token。實際上,推論通常是記憶體頻寬受限的(以 3TB/s 讀取 140GB 的權重每個 token 需要 47ms),而非算力受限。這就是記憶體牆:GPU 能計算得比讀取模型權重更快。

相關概念

← 所有術語
← Flash Attention Flow Matching(流匹配) →