人工智能时代的并发编程
人工智能时代的并发编程
人工智能时代的并发编程
NVIDIA DGX-1 (2016)
8 x Tesla V100
170 TFLOPS @ 3.2kW (CRAY-1: 138 MFLOPS @ 115kW)
人工智能时代的并发编程
NVIDIA DGX B200 (2024)
8 x Blackwell GPUs
72 PFLOPS (训练), 144 PFLOS (推理) @ 14.3kW
人工智能时代的并发编程
大语言模型背后的计算
“
Attention Is All You Need
”
“Transformers”
Figure: https://udlbook.github.io/udlbook/
人工智能时代的并发编程
机器学习系统中的并发编程
Challenge: 既计算密集,又数据密集
推理
GPT-3: 175B 参数 (~300GB VRAM, FP-16)
GPT-3 single training run cost: ~$5,000,000
LLaMA2: 70B 参数 (~65GB VRAM, FP-16)
美国人断供芯片 = 三体人行为
训练
320TB 语料
相比图片和视频,还是小弟弟
解决:
所有能想到的技术,全部都用上了!
人工智能时代的并发编程
并行化:Dependency Graph Is All You Need
人工智能时代的并发编程
单个计算密集的切片 (1):SIMD
Single Instruction, Multiple Data
Tensor 指令 (Tensor Core):混合精度
A
×
B
+
C
A \times B + C
A
×
B
+
C
单条指令完成
4
×
4
×
4
4\times4\times4
4
×
4
×
4
个乘法运算
x86: MMX (MultiMedia eXtension, 64-bit MM) → SSE (Streaming SIMD Extensions, 128-bit) → AVX (Advanced Vector eXtensions, 256-bit) → AVX512 (512-bit)
人工智能时代的并发编程
单个计算密集的切片 (2):SIMT
Single Instruction, Multiple Threads
一个 PC,控制 32 个执行流同时执行
逻辑线程可以更多
执行流有独立的寄存器
x
,
y
,
z
x, y, z
x
,
y
,
z
三个寄存器用于标记 “线程号”
然后,
堆海量的线程
!
人工智能时代的并发编程