Các giả định hệ thống
Một phép tính nháp chỉ đáng tin cậy đúng bằng độ tin cậy của các đầu vào, mà những đầu vào ấy lại rất dễ bị bỏ sót: tốc độ đỉnh của một bộ tăng tốc, số tham số của một mô hình, giá điện, hay chi phí năng lượng cho mỗi phép toán. Phụ lục này gom các giá trị chuẩn và quy ước đơn vị vào một bảng tham chiếu duy nhất, để mọi ước tính định lượng trong sách đều có thể được kiểm tra, cập nhật bằng số liệu mới, hoặc đối chiếu giữa các chương. Nó cũng chốt lại các quy ước đơn vị mà các ước tính này dựa vào. Nhờ vậy, các chương có thể lập luận dựa trên con số mà không cần nhắc lại nguồn gốc của từng số.
Cách sử dụng phụ lục này
Khi một chương nói H100 đạt một ridge point nhất định, hoặc việc huấn luyện một mô hình 7B cần một mức bộ nhớ cụ thể, thì các băng thông, dung lượng và kích thước mô hình cơ sở sẽ được liệt kê tại đây. Khi cần ước tính cục bộ, bạn có thể lấy các mục Giá trị và Đơn vị tương ứng. Các bảng được nhóm theo chủ đề: bộ tăng tốc, mô hình tham chiếu, năng lượng trên mỗi lần truy cập, băng thông liên kết, kinh tế, các điểm neo ở quy mô sản xuất, và quy ước đơn vị. Các giả định lấy từ thông số đỉnh trong datasheet của nhà cung cấp, các nghiên cứu đã công bố hoặc báo cáo ngành, số liệu minh họa về thị trường hoặc lưới điện, và các quy ước của sách; section 1.1 liệt kê nguồn gốc đó ở một nơi.
Các phép tính dưới đây cho thấy giả định nào chi phối từng ước tính, nên khi thông số phần cứng hay giá thay đổi, ta có thể cập nhật mà không phải đổi phương pháp.
Các hằng số trong phụ lục này hỗ trợ các phép tính nhanh và có thể tái lập. Ba ví dụ dưới đây áp dụng chúng cho hiệu suất, dung lượng và chi phí.
Napkin Math 1.1: Phân loại chế độ roofline
Các biến số: Với H100 ở hiệu suất đỉnh FP16/BF16, chúng ta sẽ sử dụng hiệu suất tính toán đỉnh là 989 TFLOP/s và băng thông bộ nhớ là 3.35 TB/s.
Phép tính: Để tìm điểm đỉnh roofline, ta chia FLOP/s đỉnh cho băng thông bộ nhớ: 989 TFLOP/s/3.35 TB/s \(\approx\) 295.2 FLOP/byte. Một phép nhân ma trận tổng quát (GEMM) lớn với \(n=\) 4,096 sẽ có cường độ \(n/3 \approx\) 1,365.3 FLOP/byte.
Kết quả: Các phép toán nằm trên 295.2 FLOP/byte bị giới hạn bởi tính toán (compute bound); các phép toán nằm dưới ngưỡng đó bị giới hạn bởi bộ nhớ (memory bound). Ví dụ GEMM là compute bound, còn giải mã tự hồi quy từng token với cường độ \(\approx 1\) FLOP/byte thì bị giới hạn nặng bởi bộ nhớ.
Thông tin chuyên sâu về hệ thống: Cùng một bộ tăng tốc có thể dư dả về tính toán nhưng lại bị bó về bộ nhớ. Cường độ số học quyết định khối lượng công việc (workload) thực sự tiêu thụ tài nguyên nào.
Thông lượng chỉ là một ràng buộc. Huấn luyện cũng cần đủ dung lượng cho trọng số, gradient và trạng thái optimizer.
Napkin Math 1.2: Ước tính bộ nhớ trạng thái huấn luyện
Các biến số: Adam độ chính xác hỗn hợp lưu trữ trọng số BF16, gradient, trọng số master FP32, momentum và phương sai. Dung lượng bộ nhớ dành cho trạng thái mô hình là 16 byte cho mỗi tham số.
Phép tính: Đối với 7B tham số, trạng thái mô hình là 7 \(\times 10^9 \times\) 16 byte = 112 GB.
Kết quả: Một bộ tăng tốc H100 có 80 GB bộ nhớ băng thông cao (HBM), nên chỉ riêng trạng thái mô hình đã vượt quá dung lượng của một bộ tăng tốc, chưa kể các activation.
Thông tin chuyên sâu về hệ thống: Trạng thái optimizer, chứ không chỉ các trọng số, mới đặt ra mức tối thiểu cho bộ nhớ huấn luyện. Lập kế hoạch dung lượng mà bắt đầu từ số byte tham số sẽ đánh giá thấp yêu cầu thực tế.
Việc đưa mô hình vào bộ nhớ chỉ xác lập tính khả thi, chứ không phải chi phí vận hành. Công suất và thời gian thực thi (elapsed time) cung cấp các đại lượng còn lại để ước tính chi phí điện năng ban đầu.
Napkin Math 1.3: Ước tính chi phí điện năng của bộ tăng tốc
Các biến số: Sử dụng 1,024 bộ tăng tốc A100, 400 W mỗi bộ tăng tốc, ~25 days thời gian chạy thực tế (wall-clock), và $0.12/kWh giá điện.
Phép tính: Quá trình chạy này cần khoảng \(3.14 \times 10^{23}\) FLOPs. Ước tính chi phí điện năng tương đương A100 là ~25 days thời gian thực \(\times\) 1,024 A100 \(\times\) 24 giờ/ngày \(\times\) 0.4 kW \(\times\) $0.12/kWh = ~$29,491.2.
Kết quả: Chi phí điện năng chỉ riêng bộ tăng tốc là khoảng ~$29,491.2. Ước tính này chỉ dựa trên công suất thiết kế nhiệt (TDP) của bộ tăng tốc, không bao gồm CPU máy chủ, mạng, lưu trữ, làm mát hay chi phí vận hành chung của cơ sở. Lần chạy GPT-3 gốc sử dụng cơ sở hạ tầng thời V100; đây là một kịch bản tương đương A100 do biên tập viên đặt ra, không phải cấu hình được báo cáo hay thời lượng suy ra chỉ từ FLOP/s đỉnh.
Thông tin chuyên sâu về hệ thống: Năng lượng có thể đo được từ công suất và thời gian, nhưng để tính đủ chi phí, còn phải tính cả việc sử dụng vốn, mạng, lưu trữ, nhân sự và những lần chạy bị lỗi hoặc phải chạy lại.
Thông số kỹ thuật bộ tăng tốc
Đây là các giả định về bộ tăng tốc được sử dụng trong các ví dụ về roofline, bộ nhớ huấn luyện, năng lượng và chi phí của sách: thông lượng đỉnh, băng thông bộ nhớ, dung lượng bộ nhớ và TDP cho từng thế hệ được nêu trong các chương. Các giá trị này là mức đỉnh từ bảng dữ liệu của nhà cung cấp—giới hạn trên để tính toán nhanh, không phải mức sử dụng bền vững—và được lấy từ tài liệu sản phẩm của NVIDIA, các bài báo kiến trúc IEEE Micro (NVIDIA Corporation 2017, 2020b, 2020a, 2021, 2018, 2024; Choquette et al. 2021; Choquette 2023), tài liệu AMD MI300X (AMD 2023), các ấn phẩm về Bộ xử lý Tensor (TPU) của Google (Jouppi et al. 2023), và trang thông số kỹ thuật TPU v6e hiện tại của Google Cloud (Google Cloud 2026). Các hàng dung lượng giữ nguyên tên gọi GB thập phân chính thức. Các bảng trình bày từ table 2 (Volta) và table 3 (Turing) đến các thế hệ hiện tại và hướng tới.
Ma trận thông số kỹ thuật bộ tăng tốc chính
Ma trận bộ tăng tốc chính trong table 1 tổng hợp các thông số kỹ thuật của các bộ tăng tốc AI chủ chốt như GPU, TPU, Wafer-Scale và các bộ tăng tốc chuyên biệt theo miền.
| Kiến trúc/Chip | Node (nm) | TDP (W) | Hiệu năng tính toán đỉnh TFLOPs/TOPS | Dung lượng & Băng thông bộ nhớ | SRAM trên chip | \(I_{\text{ridge}}\) (FLOP/B) |
|---|---|---|---|---|---|---|
| NVIDIA V100 (SXM2 32 GB) | 12nm (TSMC) | 300 | FP64: 7.8, FP32: 15.7, FP16: 125 (TC), INT8: 125 (TC) | 32 GB HBM2 @ 0.90 TB/s | 16 MB | 138.9 |
| NVIDIA A100 (80 GB SXM4) | 7nm N7 (TSMC) | 400 | FP64: 9.7/19.5, FP32: 19.5, TF32: 156, FP16/BF16: 312, INT8: 624 | 80 GB HBM2e @ 2.04 TB/s | 40 MB | 153.0 |
| NVIDIA H100 (80 GB SXM5) | 4nm 4N (TSMC) | 700 | FP64: 34/67, FP32: 67, TF32: 494, FP16/BF16: 989, FP8: 1,978, INT8: 1,978 | 80 GB HBM3 @ 3.35 TB/s | 50 MB | 295.2 |
| NVIDIA H200 (141 GB SXM5) | 4nm 4N (TSMC) | 700 | FP64: 34/67, FP32: 67, TF32: 494, FP16/BF16: 989, FP8: 1,978, INT8: 1,978 | 141 GB HBM3e @ 4.80 TB/s | 50 MB | 206.0 |
| NVIDIA B200 (192 GB SXM) | 4nm 4NP (TSMC) | 1000 | FP64: 45/90, FP32: 90, TF32: 1,250, FP16/BF16: 2,250, FP8: 4,500, INT8: 4,500 | 192 GB HBM3e @ 8.00 TB/s | 128 MB | 281.3 |
| NVIDIA L40S (48 GB PCIe) | 4nm 4N (TSMC) | 350 | FP64: 1.4, FP32: 91.6, TF32: 183, FP16/BF16: 366, FP8: 733, INT8: 733 | 48 GB GDDR6 @ 0.86 TB/s | 96 MB | 423.6 |
| Google TPU v1 | 28nm (TSMC) | 75 | INT8: 92 TOPS (FP formats N/A) | 8 GB DDR3 @ 0.034 TB/s | 28 MB | N/A (2,705.9 INT8) |
| Google TPU v2 | 16nm (TSMC) | 280 (board) | BF16/FP16: 45 TFLOPs | 16 GB HBM @ 0.60 TB/s | 32 MB | 75.0 |
| Google TPU v3 | 16nm (TSMC) | 450 (board) | BF16/FP16: 123 TFLOPs | 32 GB HBM2 @ 0.90 TB/s | 32 MB | 136.7 |
| Google TPU v4 | 7nm N7 (TSMC) | 170 | BF16/FP16: 275, FP32: 275, INT8: 275 | 32 GB HBM2 @ 1.20 TB/s | 48 MB | 229.2 |
| Google TPU v5e | 7nm N7 (TSMC) | 140 | BF16/FP16: 197, FP8: 394, INT8: 394 | 16 GB HBM2e @ 0.82 TB/s | 32 MB | 240.5 |
| Google TPU v5p | 4nm 4N (TSMC) | 450 | BF16/FP16: 459, FP8: 918, INT8: 918 | 95 GB HBM3 @ 2.76 TB/s | 96 MB | 166.3 |
| Google TPU v6e (Trillium) | 4nm 4N (TSMC) | 400 | BF16/FP16: 926, FP8: 1,852, INT8: 1,852 | 32 GB HBM3 @ 1.64 TB/s | 64 MB | 564.6 |
| Cerebras WSE-3 | 5nm N5 (TSMC) | 23,000 | FP16/BF16: 125,000, FP8: 250,000, INT8: 250,000 | 44,000 GB SRAM @ 21,000 TB/s | 44,000 MB | 5.95 |
| AMD Instinct MI300X | 5nm+6nm 3D | 750 | FP64: 163.4, FP32: 163.4, TF32: 653.7, FP16/BF16: 1,307.4, FP8: 2,614.9 | 192 GB HBM3 @ 5.30 TB/s | 256 MB | 246.7 |
| Intel Habana Gaudi 2 | 7nm N7 (TSMC) | 600 | FP32: 38.5, TF32: 154, FP16/BF16: 307, FP8: 614, INT8: 614 | 96 GB HBM2e @ 2.45 TB/s | 48 MB | 125.3 |
| Intel Habana Gaudi 3 | 5nm N5 (TSMC) | 900 | FP32: 115, TF32: 460, FP16/BF16: 1,835, FP8: 3,670, INT8: 3,670 | 128 GB HBM3e @ 3.70 TB/s | 96 MB | 495.9 |
NVIDIA V100
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (V100) | 125 | TFLOP/s |
| Thông lượng FP32 cao nhất (V100) | 15.7 | TFLOP/s |
| Băng thông HBM (V100) | 900 | GB/s |
| Dung lượng HBM (V100) | 32 | GB |
| TDP (V100) | 300 | W |
NVIDIA T4
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (T4) | 65 | TFLOP/s |
| Thông lượng INT8 cao nhất (T4) | 130 | TOPS |
| Băng thông bộ nhớ (T4) | 320 | GB/s |
| TDP (T4) | 70 | W |
NVIDIA A100
Các thông số kỹ thuật của thế hệ Ampere (table 4) được dùng làm cơ sở cho hầu hết các ví dụ huấn luyện trong sách.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (A100) | 312 | TFLOP/s |
| Thông lượng FP32 cao nhất (A100) | 19.5 | TFLOP/s |
| Thông lượng INT8 cao nhất (A100) | 624 | TOPS |
| Thông lượng TF32 cao nhất (A100) | 156 | TFLOP/s |
| Băng thông HBM (A100) | 2039 | GB/s |
| Dung lượng HBM (A100) | 80 | GB |
| TDP (A100) | 400 | W |
NVIDIA H100
Đối với các ước tính cho thế hệ Hopper, các giá trị tham chiếu có tính đến FP8 Tensor Cores và Transformer Engine (table 5).
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (H100) | 989 | TFLOP/s |
| Thông lượng CUDA FP32 cao nhất (H100) | 67 | TFLOP/s |
| Thông lượng tensor FP8 cao nhất (H100) | 1979 | TFLOP/s |
| Thông lượng INT8 cao nhất (H100) | 1979 | TOPS |
| Thông lượng TF32 cao nhất (H100) | 494 | TFLOP/s |
| Băng thông HBM (H100) | 3.35 | TB/s |
| Dung lượng HBM (H100) | 80 | GB |
| TDP (H100) | 700 | W |
NVIDIA B200
Các ví dụ về lập kế hoạch dung lượng cho tương lai dựa trên các thông số kỹ thuật của thế hệ Blackwell (table 6).
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (B200) | 2250 | TFLOP/s |
| Thông lượng tensor FP8 cao nhất (B200) | 4500 | TFLOP/s |
| Thông lượng FP4 cao nhất (B200) | 9000 | TFLOP/s |
| Băng thông HBM (B200) | 8 | TB/s |
| Dung lượng HBM (B200) | 180 | GB |
| TDP (B200) | 1000 | W |
AMD Instinct MI300X
Để so sánh với các phần cứng cùng lớp H100 được sử dụng ở nơi khác, các thông số kỹ thuật về dung lượng, băng thông, thông lượng và công suất của MI300X cung cấp một điểm chuẩn chung giữa các nhà cung cấp (table 7).
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng tensor FP16 cao nhất (MI300X) | 1307 | TFLOP/s |
| Băng thông HBM (MI300X) | 5.3 | TB/s |
| Dung lượng HBM (MI300X) | 192 | GB |
| TDP (MI300X) | 750 | W |
Google TPU v4 và v6e
Khi so sánh hiệu quả kinh tế của huấn luyện giữa các dòng bộ tăng tốc, các số liệu của TPU cung cấp một lựa chọn thay thế dựa trên mạch tích hợp chuyên dụng (ASIC) (table 8).
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng BF16 cao nhất (TPU v4) | 275 | TFLOP/s |
| Băng thông bộ nhớ (TPU v4) | 1200 | GB/s |
| Thông lượng BF16 cao nhất (TPU v6e) | 918 | TFLOP/s |
| Băng thông bộ nhớ (TPU v6e) | 1638 | GB/s |
CPU và bộ xử lý di động/edge
Các ví dụ ML trên edge và di động dựa trên một điểm chuẩn hiệu suất khác (table 9). Điều này đối lập rõ với thông lượng tại trung tâm dữ liệu, qua đó minh họa vì sao mục tiêu triển khai định hình mọi quyết định thiết kế.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Thông lượng FP32 cao nhất (CPU tham chiếu) | 1 | TFLOP/s |
| Băng thông DRAM (máy chủ tham chiếu) | 50 | GB/s |
| Thông lượng NPU tham chiếu (iPhone 15 Pro) | 35 | TOPS |
| Băng thông bộ nhớ (iPhone 15 Pro) | 51.2 | GB/s |
| TDP (thiết bị di động, tham chiếu) | 5 | W |
| Công suất (bộ phát hiện đối tượng edge, tham chiếu) | 2 | W |
| Dung lượng pin (điện thoại, tham chiếu) | 15 | Wh |
Thông số kỹ thuật mô hình
Đây là các giả định mô hình tham chiếu đứng sau các ví dụ về chi phí huấn luyện, dung lượng bộ nhớ và khối lượng công việc (workload) suy luận: số lượng tham số, ngân sách FLOP cho mỗi lần suy luận, và các mốc quy mô huấn luyện đã công bố. Kích thước mô hình được đối chiếu theo các bài báo gốc, báo cáo mô hình và tài liệu chính thức (Devlin et al. 2019; Radford et al. 2019; Brown et al. 2020; Dubey et al. 2024; He et al. 2016; Sandler et al. 2018; Ultralytics 2023). Ngân sách FLOP cho suy luận là các giá trị do sách này quy định: dùng độ dài chuỗi 128 cho BERT-Base, ảnh 224 \(\times\) 224 cho ResNet-50 và MobileNetV2, và ảnh 640 \(\times\) 640 cho YOLOv8-Nano; các mô hình thị giác tính hai FLOP cho mỗi phép nhân-cộng. Tổng FLOP huấn luyện GPT-3 theo (Brown et al. 2020); thiết lập 25 ngày với 1,024 A100 là quyết định biên tập. Số lượng tham số và số ngày GPU để huấn luyện GPT-4 là các ước tính công khai từ bên thứ ba về mô hình hỗn hợp chuyên gia (MoE) (Patel and Wong 2023), vì báo cáo kỹ thuật GPT-4 không công bố kích thước kiến trúc. Khi một chương ước tính thời gian huấn luyện ở quy mô GPT-3, nó sẽ dùng table 10.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| FLOPs suy luận (BERT-Base) | 2.2e+10 | flop |
| Tham số (BERT-Base) | 1.1e+08 | param |
| Tham số (Llama 3 8B) | 8.03e+09 | param |
| Kích thước ẩn (GPT-2) | 1600 | - |
| Lớp (GPT-2) | 48 | - |
| Tham số (GPT-2) | 1.5e+09 | param |
| Tham số (GPT-3) | 1.75e+11 | param |
| Thời lượng kịch bản (quy mô GPT-3) | 25 | d |
| FLOPs huấn luyện tham chiếu (GPT-3) | 3.14e+23 | flop |
| Tham số (GPT-4, ước tính MoE công khai) | 1.76e+12 | param |
| GPU-ngày huấn luyện tham chiếu (GPT-4) | 2.5e+06 | GPU-days |
| FLOPs suy luận (ResNet-50) | 8.2e+09 | flop |
| Tham số (ResNet-50) | 2.56e+07 | param |
| FLOPs suy luận (MobileNetV2) | 6e+08 | flop |
| Tham số (MobileNetV2) | 3.50487e+06 | param |
| FLOPs suy luận (YOLOv8-Nano) | 8.7e+09 | flop |
Quy ước về bộ nhớ khi huấn luyện
Ước tính nhanh bộ nhớ huấn luyện giả định mô hình lưu trữ Adam dùng độ chính xác hỗn hợp như trong phần napkin-math và một số chương huấn luyện: trọng số BF16, gradient BF16, và trọng số chủ FP32 kèm các bộ đệm mô-men bậc một và bậc hai của Adam (tổng cộng 16 byte cho mỗi tham số). Đây là một quy ước của sách, không phải hằng số phần cứng đo được. Đường dữ liệu BF16 tuân theo thực hành BFLOAT16 độ chính xác hỗn hợp đã được thiết lập (Kalamkar et al. 2019); mẫu FP32-master dựa trên các công trình FP16 trước đây (Micikevicius et al. 2017; NVIDIA 2017), và các bộ đệm mô-men bậc một và bậc hai của Adam theo (Kingma and Ba 2015). Table 11 liệt kê bề rộng byte của từng thành phần; nhân số byte trên mỗi tham số (Adam độ chính xác hỗn hợp) với số tham số sẽ cho dung lượng bộ nhớ trạng thái huấn luyện (không tính activation).
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Độ rộng trọng số/gradient (BF16) | 2 | bytes |
| Độ rộng trọng số Master (FP32) | 4 | bytes |
| Trạng thái Master + Adam trên mỗi tham số (FP32) | 12 | bytes |
| Bytes trên mỗi tham số (Adam độ chính xác hỗn hợp) | 16 | bytes |
Các giả định về phần cứng và mô hình ấn định cái gì chạy ở đâu; còn các giả định về năng lượng quyết định liệu thiết kế có khả thi về nhiệt và kinh tế ở cấp độ thao tác và truy cập bộ nhớ hay không.
Hằng số năng lượng
Các ước tính số học 45 nm và DRAM 32-bit của Horowitz (Horowitz 2014), cùng với các mốc minh họa trong sách về truy cập thanh ghi và SRAM, suy luận MobileNetV2 và truyền 5G, là nền tảng cho các so sánh hiệu quả trong sách, dù chúng không độc lập với công nghệ chế tạo. Table 12 liệt kê hệ phân cấp năng lượng truy cập từ thanh ghi đến DRAM. Hệ phân cấp đó cho thấy vì sao tái sử dụng dữ liệu là yếu tố chi phối thiết kế kernel.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Năng lượng truy cập Register | 0.1 | pJ |
| Năng lượng truy cập L1 SRAM | 0.5 | pJ |
| Năng lượng truy cập L2 SRAM | 2 | pJ |
| Năng lượng truy cập DRAM (32-bit) | 640 | pJ |
| Năng lượng truy cập DRAM (mỗi byte) | 160 | pJ/byte |
| Năng lượng nhân FP16 (45 nm) | 1.1 | pJ/multiply |
| Năng lượng nhân FP32 (45 nm) | 3.7 | pJ/multiply |
| Năng lượng nhân INT8 (45 nm) | 0.2 | pJ/multiply |
| Năng lượng suy luận MobileNetV2 (tham chiếu) | 0.1 | mJ |
| Năng lượng truyền 5G mỗi MB | 100 | mJ/MB |
Thứ bậc năng lượng theo độ chính xác và phép toán số học
Thứ bậc năng lượng của các phép toán số học trong table 13 so sánh năng lượng trên mỗi phép toán (\(E_{\text{op}}\) tính bằng pJ/op) cho phép cộng và phép nhân, xét các mức độ chính xác gồm dấu phẩy động, tensor và số nguyên, trên các nút quy trình silicon 7nm, 5nm và 3nm hiện đại.
| Độ chính xác/Định dạng dữ liệu | Node 7nm (\(E_{\text{op}}\) pJ) | Node 5nm (\(E_{\text{op}}\) pJ) | Node 3nm (\(E_{\text{op}}\) pJ) | Tỷ lệ năng lượng so với FP32 (3nm) |
|---|---|---|---|---|
| FP64 (Số thực 64-bit) | Cộng: 0.90/Nhân: 2.50 | Cộng: 0.58/Nhân: 1.62 | Cộng: 0.38/Nhân: 1.05 | 2.23\(\times\) |
| FP32 (Số thực 32-bit) | Cộng: 0.40/Nhân: 1.10 | Cộng: 0.26/Nhân: 0.72 | Cộng: 0.17/Nhân: 0.47 | 1.00\(\times\) (Tham chiếu) |
| TF32 (TensorFloat 19-bit) | Cộng: 0.28/Nhân: 0.65 | Cộng: 0.18/Nhân: 0.42 | Cộng: 0.12/Nhân: 0.27 | 0.57\(\times\) |
| FP16 (Số thực IEEE 16-bit) | Cộng: 0.20/Nhân: 0.45 | Cộng: 0.13/Nhân: 0.29 | Cộng: 0.08/Nhân: 0.19 | 0.40\(\times\) |
| BF16 (Bfloat16 16-bit) | Cộng: 0.18/Nhân: 0.40 | Cộng: 0.12/Nhân: 0.26 | Cộng: 0.08/Nhân: 0.17 | 0.36\(\times\) |
| FP8 (E4M3/E5M2) | Cộng: 0.09/Nhân: 0.20 | Cộng: 0.06/Nhân: 0.13 | Cộng: 0.04/Nhân: 0.08 | 0.17\(\times\) |
| INT32 (Số nguyên 32-bit) | Cộng: 0.10/Nhân: 0.80 | Cộng: 0.06/Nhân: 0.52 | Cộng: 0.04/Nhân: 0.34 | 0.72\(\times\) |
| INT8 (Số nguyên 8-bit) | Cộng: 0.03/Nhân: 0.20 | Cộng: 0.02/Nhân: 0.13 | Cộng: 0.013/Nhân: 0.085 | 0.18\(\times\) |
| INT4 (Số nguyên 4-bit) | Cộng: 0.010/Nhân: 0.060 | Cộng: 0.006/Nhân: 0.039 | Cộng: 0.004/Nhân: 0.025 | 0.053\(\times\) |
Chi phí năng lượng được tính ở cấp chip, nhưng các hệ thống ML thực tế còn phải chuyển dữ liệu qua các liên kết—giữa các bộ tăng tốc, giữa các tủ rack và qua các mạng diện rộng. Phần tiếp theo liệt kê các giả định về băng thông được dùng khi các chương ước tính chi phí truyền thông.
Băng thông liên kết và mạng
Các giả định về băng thông này được áp dụng khi các chương phân tích về đồng bộ hóa gradient, bong bóng pipeline, checkpoint I/O, hoặc độ trễ xuyên các trung tâm dữ liệu. Tốc độ NVLink và PCIe dựa trên tài liệu sản phẩm của các bộ tăng tốc (NVIDIA Corporation 2017, 2020a; Choquette 2023); đặc tả kiến trúc InfiniBand là cơ sở cho họ giao thức này (InfiniBand Trade Association 2000), trong khi các dòng sản phẩm tốc độ cao hiện tại và lộ trình Ethernet là cơ sở cho các ví dụ về tốc độ liên kết hiện đại (NVIDIA 2026; Ethernet Alliance 2025); giới hạn bởi tốc độ ánh sáng trong sợi quang là một hằng số vật lý. Table 14 liệt kê tốc độ của NVLink, InfiniBand, PCIe, Non-Volatile Memory Express (NVMe) và Ethernet cùng với tốc độ lan truyền của ánh sáng trong sợi quang.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Băng thông NVLink (V100) | 300 | GB/s |
| Băng thông NVLink (A100) | 600 | GB/s |
| Băng thông NVLink (H100) | 900 | GB/s |
| Tốc độ liên kết InfiniBand HDR | 200 | Gb/s |
| Tốc độ liên kết InfiniBand NDR | 400 | Gb/s |
| Tốc độ liên kết InfiniBand XDR | 800 | Gb/s |
| Tốc độ PCIe Gen4 x16 | 32 | GB/s |
| Tốc độ PCIe Gen5 x16 | 64 | GB/s |
| Băng thông đọc tuần tự NVMe | 7 | GB/s |
| Tốc độ liên kết 10 GbE | 10 | Gb/s |
| Tốc độ liên kết 100 GbE | 100 | Gb/s |
| Tốc độ ánh sáng trong cáp quang | 200000 | km/s |
Bảng thông số kỹ thuật vật lý của kết nối và cấu trúc mạng
Bảng thông số kỹ thuật vật lý trong table 15 trình bày chi tiết về băng thông, độ trễ, cơ chế đóng khung, hỗ trợ truy cập bộ nhớ trực tiếp (DMA) và năng lượng tiêu thụ trên mỗi bit qua các bus máy chủ, các kết nối bộ tăng tốc, cấu trúc mạng và các giao diện nhất quán cache.
| Tiêu chuẩn Bus/Kết nối | Băng thông một chiều và tổng hợp | Độ trễ | Mã hóa/Đóng khung | Hỗ trợ DMA/GPUDirect | Chi phí năng lượng (\(E_{\text{link}}\)) |
|---|---|---|---|---|---|
| PCIe Gen3 (x16) | 15.75 GB/s một chiều/31.5 GB/s tổng hợp | 400–500 ns | 128b/130b NRZ | PCIe P2P, GPUDirect RDMA | 14.0 pJ/bit |
| PCIe Gen4 (x16) | 31.50 GB/s một chiều/63.0 GB/s tổng hợp | 250–400 ns | 128b/130b NRZ | PCIe P2P, GPUDirect RDMA | 10.0 pJ/bit |
| PCIe Gen5 (x16) | 63.00 GB/s một chiều/126.0 GB/s tổng hợp | 150–250 ns | 128b/130b NRZ | PCIe P2P, GPUDirect RDMA, CXL 1.1/2.0 | 8.0 pJ/bit |
| PCIe Gen6 (x16) | 126.00 GB/s một chiều/252.0 GB/s tổng hợp | 100–150 ns | PAM4 (256B Flit) | PCIe P2P, GPUDirect RDMA, CXL 3.0/3.1 | 6.0 pJ/bit |
| PCIe Gen7 (x16) | 252.00 GB/s một chiều/504.0 GB/s tổng hợp | <100 ns | PAM4 (512B Flit) | PCIe P2P, GPUDirect RDMA, CXL 3.1+ | 4.5 pJ/bit |
| NVLink 1 (P100) | 20 GB/s trực tiếp/40 GB/s tổng hợp (liên kết) | 200–300 ns | NRZ (20 Gb/s) | GPUDirect P2P/RDMA | 10.0 pJ/bit |
| NVLink 2 (V100) | 25 GB/s trực tiếp/50 GB/s tổng hợp (liên kết) | 150–200 ns | NRZ (25.78 Gb/s) | GPUDirect P2P/RDMA | 8.0 pJ/bit |
| NVLink 3 (A100) | 25 GB/s trực tiếp/50 GB/s tổng hợp (liên kết) | 100–150 ns | NRZ (50 Gb/s) | GPUDirect P2P/RDMA | 6.5 pJ/bit |
| NVLink 4 (H100) | 25 GB/s trực tiếp/50 GB/s tổng hợp (liên kết) | 80–100 ns | PAM4 (100 Gb/s) | GPUDirect P2P, SHARP Aggregation | 4.5 pJ/bit |
| NVLink 5 (B200) | 50 GB/s trực tiếp/100 GB/s tổng hợp (liên kết) | 60–80 ns | PAM4 (200 Gb/s) | GPUDirect P2P, NVLink Network Offload | 3.5 pJ/bit |
| NVSwitch 1 (Volta) | 900 GB/s tổng hợp mỗi chip | ~100 ns | NRZ | Hardware P2P Crossbar Routing | 8.5 pJ/bit |
| NVSwitch 2 (Ampere) | 2.4 TB/s tổng hợp mỗi chip | ~90 ns | NRZ | Hardware P2P Crossbar, SHARP v2 | 6.5 pJ/bit |
| NVSwitch 3 (Hopper) | 3.2 TB/s tổng hợp mỗi chip | ~70 ns | PAM4 | SHARP v3 In-Network Compute | 4.5 pJ/bit |
| NVSwitch 4 (Blackwell) | 14.4 TB/s tổng hợp trên mỗi chip | ~50 ns | PAM4 | SHARP v4, FP8 Reduction Engine | 3.2 pJ/bit |
| InfiniBand EDR | 100 Gbps (12.5 GB/s hướng) | ~0.50 \(\mu\text{s}\) (500 ns) | 64b/66b NRZ | GPUDirect RDMA (Verbs) | 15.0 pJ/bit |
| InfiniBand HDR | 200 Gbps (25.0 GB/s hướng) | ~0.60 \(\mu\text{s}\) (600 ns) | 64b/66b PAM4/NRZ | GPUDirect RDMA, SHARP v2 | 10.0 pJ/bit |
| InfiniBand NDR | 400 Gbps (50.0 GB/s hướng) | ~0.50 \(\mu\text{s}\) (500 ns) | 256b/257b PAM4 | GPUDirect RDMA, SHARP v3 | 7.0 pJ/bit |
| InfiniBand XDR | 800 Gbps (100.0 GB/s hướng) | ~0.40 \(\mu\text{s}\) (400 ns) | PAM4 (200G/lane Flit) | GPUDirect RDMA, SHARP v4 | 5.0 pJ/bit |
| RoCE v2 Ethernet | 100–800 Gbps (12.5–100 GB/s hướng) | 1.0–2.5 \(\mu\text{s}\) | NRZ/PAM4 (802.3) | GPUDirect RDMA (RoCEv2 UDP/IP) | 8.0–12.0 pJ/bit |
| CXL 1.1 | 63 GB/s hướng/126 GB/s tổng hợp (x16) | ~200 ns | 128b/130b NRZ | cxl.io, cxl.cache, cxl.mem | 8.0 pJ/bit |
| CXL 2.0 | 63 GB/s hướng/126 GB/s tổng hợp (x16) | ~180 ns | 128b/130b NRZ | SLD/MLD ghép nối bộ nhớ | 7.5 pJ/bit |
| CXL 3.0 | 126 GB/s dir/252 GB/s agg (x16) | ~120 ns | 256B Flit PAM4 | P2P Memory Pooling & Fabric Switch | 5.5 pJ/bit |
| CXL 3.1 | 126 GB/s dir/252 GB/s agg (x16) | ~110 ns | 256B Flit PAM4 | Global Integrated Memory, TEE | 5.0 pJ/bit |
Các hằng số kinh tế
Các giả định về giá này là nền tảng để tính tổng chi phí sở hữu (TCO) và ước tính nhanh chi phí năng lượng trong table 16. Đây là các mức giá tham khảo mang tính minh họa, ở quy mô của các nhà cung cấp đám mây lớn (hyperscaler), dùng cho phân tích tỷ lệ (tương tự tinh thần các ví dụ về kế toán carbon trong (Patterson et al. 2021)), không phải báo giá cho một khu vực hay hợp đồng cụ thể. Khi giá trị tuyệt đối là yếu tố quyết định, hãy thay các giá trị neo này bằng số liệu thực tế tại địa phương.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Giá điện đám mây | 0.12 | dollar/kWh |
| Giá xuất dữ liệu đám mây mỗi GB | 0.09 | dollar/GB |
Các hằng số kinh tế xác định giá cho mỗi đơn vị tính toán và truyền dữ liệu, nhưng chúng không nói lên nhiều điều nếu thiếu cảm nhận về khối lượng liên quan. Hệ thống ML trong sản xuất xử lý từ hàng triệu đến hàng tỷ yêu cầu mỗi ngày — những con số đủ lớn để khó hình dung nếu không có các điểm tham chiếu cụ thể.
Tham chiếu quy mô
Các giả định về quy mô trong table 17 giúp trả lời câu hỏi “lớn đến mức nào?” cho các ví dụ lập kế hoạch năng lực, bằng cách cung cấp các mức cơ sở minh họa theo bậc độ lớn cho khối lượng email và tìm kiếm, luồng cảm biến của xe tự hành, và các định dạng video 1080p và 4K tiêu chuẩn. Đây là các giá trị neo về độ lớn, không phải số liệu đã được kiểm toán cho một năm cụ thể.
| Giả định | Giá trị | Đơn vị |
|---|---|---|
| Số email Gmail mỗi ngày | 1.21e+11 | - |
| Số lượt tìm kiếm Google mỗi ngày | 8.5e+09 | - |
| Tốc độ dữ liệu cảm biến Waymo (thấp) | 1 | TB/h |
| Tốc độ dữ liệu cảm biến Waymo (cao) | 19 | TB/h |
| Chiều rộng khung hình 1080p | 1920 | - |
| Chiều cao khung hình 1080p | 1080 | - |
| Chiều rộng khung hình 4K | 3840 | - |
| Chiều cao khung hình 4K | 2160 | - |
| Số Bytes mỗi pixel RGB | 3 | bytes |
| Tốc độ khung hình video (tiêu chuẩn) | 30 | Hz |
Các giả định trên dùng chung một số quy ước đơn vị: tiền tố dữ liệu thập phân, phân biệt rõ các đại lượng FLOPs và FLOP/s, cùng các bí danh được định nghĩa trong phần tiếp theo.
Quy ước đơn vị
Table 18 quy định các quy ước đơn vị dùng trong mọi ví dụ định lượng của sách này. Mỗi hàng cho biết hệ số nhân \(k\) theo công thức 1 alias \(=\) k base. Các tiền tố dữ liệu dùng hệ thập phân SI (\(\mathrm{KB} = 10^3\) byte, không phải 1024). Các tiền tố lưu trữ nhị phân IEC có xuất hiện trong một vài phần bàn về lưu trữ, nhưng được bỏ qua ở đây vì hầu hết các ước tính ở quy mô đội máy trong sách dùng KB/GB/TB thập phân. Các đại lượng thông lượng (FLOP/s, GB/s) kết hợp các alias này với thời gian; việc cộng ghép các đại lượng không tương thích (ví dụ: đưa byte vào FLOP/s) là một lỗi phân loại trong phép tính nháp, không phải là một phép đổi đơn vị.
Dung lượng phần cứng là ngoại lệ duy nhất được quy ước riêng. Các nhà cung cấp thường ghi nhãn bộ nhớ bằng ký hiệu thập phân nhưng lại giao dung lượng theo chuẩn nhị phân. Ví dụ, một bộ tăng tốc được quảng cáo là 80 GB thực tế cung cấp \(80 \times 2^{30}\) byte, và một vi điều khiển với 512 KB SRAM cung cấp \(512 \times 2^{10}\) byte. Cuốn sách này giữ nguyên cả con số và nhãn do nhà cung cấp đưa ra, nên một dung lượng in là 80 GB được hiểu là giá trị danh định trên nhãn, không phải giá trị đã quy đổi thập phân. Mọi đại lượng dữ liệu khác, gồm dung lượng chiếm dụng của mô hình, kích thước activation và khối lượng dữ liệu truyền, đều dùng các tiền tố thập phân nêu trên. Khi một ví dụ tính dung lượng chiếm dụng rồi trừ khỏi dung lượng thiết bị, cả hai vế đều dùng thập phân để phép tính in trên trang khớp với phép tính người đọc có thể làm lại.
| Bí danh | Hệ số nhân | Đơn vị cơ sở |
|---|---|---|
byte |
1 | byte |
KB |
1000 | byte |
MB |
1e+06 | byte |
GB |
1e+09 | byte |
TB |
1e+12 | byte |
PB |
1e+15 | byte |
flop |
1 | flop |
GFLOPs |
1e+09 | flop |
TFLOPs |
1e+12 | flop |
ZFLOPs |
1e+21 | flop |
param |
1 | param |
Mparam |
1e+06 | param |
Gbps |
1e+09 | bit/s |
NS |
\(10^{-9}\) | second |
US |
\(10^{-6}\) | second |
MS |
\(10^{-3}\) | second |
second |
1 | second |
hour |
3600 | second |
day |
86400 | second |
joule |
1 | joule |
watt |
1 | watt |
meter |
1 | meter |
Mỗi giả định cũng đi kèm một hồ sơ nguồn gốc, giúp người đọc lần ngược con số đó về nguồn gốc ban đầu.
Nguồn gốc giả định
Table 19 phân nhóm các đầu vào định lượng trong phụ lục theo lớp bằng chứng và chỉ ra các tài liệu tham khảo chính cho từng nhóm. Các thông số kỹ thuật và tiêu chuẩn của nhà cung cấp xác định các giới hạn đã công bố; các phép đo được bình duyệt cung cấp các mốc thực nghiệm; còn các kịch bản biên tập được đánh dấu rõ ràng cung cấp các giá trị minh họa khi không có một hằng số phổ quát bền vững. Sự phân biệt này giúp người đọc đánh giá mức độ tin cậy của từng đầu vào, cập nhật các giá trị nhạy theo thời gian, và tái tạo một ước tính bằng cách thay thế bằng giá trị địa phương phù hợp.
| Phần phụ lục | Loại nguồn | Tài liệu tham khảo chính |
|---|---|---|
| Thông số kỹ thuật bộ tăng tốc | Các giá trị đỉnh trong datasheet của nhà cung cấp; các điểm neo CPU/thiết bị di động biên tập; Master Spec Matrix (table 1) | (NVIDIA Corporation 2017, 2018, 2020a, 2024; Choquette et al. 2021; Choquette 2023; AMD 2023; Jouppi et al. 2023; Google Cloud 2026); biên tập cho các hàng CPU/thiết bị di động |
| Thông số kỹ thuật mô hình | Các bài báo đã xuất bản, báo cáo mô hình và tài liệu chính thức; kịch bản GPT-3 biên tập; kích thước GPT-4 từ phân tích công khai | (Devlin et al. 2019; Radford et al. 2019; Brown et al. 2020; Dubey et al. 2024; He et al. 2016; Sandler et al. 2018; Ultralytics 2023; OpenAI et al. 2023; Patel and Wong 2023) |
| Quy ước bộ nhớ huấn luyện | Quy ước sách (bố cục Adam độ chính xác hỗn hợp) | (Kingma and Ba 2015; Kalamkar et al. 2019; Micikevicius et al. 2017; NVIDIA 2017) |
| Hằng số năng lượng | Các ước tính số học/DRAM 45 nm đã xuất bản; mở rộng nút tổng hợp VLSI; Hệ thống phân cấp năng lượng chính xác (table 13) | (Horowitz 2014; Dally et al. 2021) cho số học/DRAM; biên tập cho các hàng register/SRAM, MobileNetV2 và 5G |
| Băng thông kết nối nội bộ | Thông số kỹ thuật của nhà cung cấp; tiêu chuẩn InfiniBand; các tiêu chuẩn PCIe/NVLink/CXL; Bảng thông số kỹ thuật vật lý (table 15) | (NVIDIA Corporation 2017, 2020a; Choquette 2023; InfiniBand Trade Association 2000; NVIDIA 2026; Ethernet Alliance 2025) |
| Các giả định kinh tế | Giá đám mây/tiện ích minh họa | (Patterson et al. 2021) (ngữ cảnh phương pháp luận) |
| Các tham chiếu về quy mô | Tỷ lệ khối lượng công việc (workload) minh họa; các quy ước video tiêu chuẩn | Bài xã luận về tỷ lệ khối lượng công việc (workload); các định nghĩa định dạng tiêu chuẩn cho video |
| Các quy ước đơn vị | Hệ SI thập phân; ký hiệu sách | Bài xã luận |
Tóm tắt
Phụ lục này là danh mục tham khảo cho các dữ liệu đầu vào định lượng được sử dụng trong toàn bộ cuốn sách. Nó tổng hợp các thông số kỹ thuật của bộ tăng tốc và mô hình, các quy ước về bộ nhớ trong huấn luyện, các hằng số năng lượng, băng thông kết nối, các tham chiếu về kinh tế và quy mô, các quy ước đơn vị và nguồn gốc. Các giá trị này đến từ các mức đỉnh do nhà cung cấp công bố, các phép đo đã công bố, các tiêu chuẩn, và các kịch bản biên tập; vì thế, chúng có mức độ tin cậy khác nhau và “lão hóa” với tốc độ khác nhau.
Hãy dùng các bảng này như đầu vào khởi đầu, không phải các hằng số phổ quát. Với mỗi ước tính, hãy ghi lại dòng bảng, quy ước đơn vị và nguồn gốc; thay thế các mức đỉnh, giá và tỷ lệ nhạy theo thời gian bằng giá trị địa phương; phân biệt trần vật lý với điểm vận hành đã đo và giả định kịch bản; và báo cáo những giả định nào chi phối kết quả. Nhờ vậy, phép tính nháp (napkin math) có thể tái tạo và rõ ràng đầu vào nào quyết định kết luận.