跳到主内容
快讯直播
AI智模界
AI 词典

阿姆达尔定律:并行加速的天花板

一句话定义

阿姆达尔定律(Amdahl's Law)说的是:一个任务里只要有没法并行(parallel)的部分,那么无论堆多少并行算力,整体加速比(speedup)都有一个硬上限。

公式长这样:加速比 = 1 / ((1-p) + p/N)。其中 p 是可以并行的那部分占比,N 是并行度(比如卡数、核数)。当 N 趋近无穷大时,加速比趋近于 1/(1-p)——也就是串行(serial)那部分决定了天花板。

打个比方

搬家。整理打包花了 2 小时,这活只能一个人干;把箱子搬下楼原本要 10 小时,但可以叫 10 个人一起搬,压缩到 1 小时。总时间从 12 小时变成 3 小时,加速比是 4 倍,不是 10 倍。再叫 100 个人来,总时间也降不到 2 小时以下——那 2 小时的打包时间谁也帮不上忙。想真正更快,只能让打包本身变快。

和相邻概念的区别

阿姆达尔定律古斯塔夫森定律(Gustafson's Law)
前提问题规模固定,问"能不能更快"问题规模随算力一起变大
视角悲观上限乐观视角
结论加速比被串行部分锁死规模做大后,串行占比变小,加速比可以接近线性

两个说法不矛盾:一个回答"同样的活能干多快",一个回答"给我更多算力我能干多大的活"。

对 AI 从业者意味着什么

第一,加卡之前先找串行段。训练里常见的串行或准串行环节包括:数据加载与预处理、tokenizer、checkpoint 落盘、日志、梯度同步(all-reduce)。这些环节不解决,堆卡就是烧钱买等待。

第二,小 batch 训练时通信占比高,梯度同步几乎吃掉全部收益,加卡吞吐可能几乎不涨。让通信和计算重叠、增大有效 batch、优化网络拓扑,本质都是在削减公式里的 (1-p)。

第三,先算账再扩容。假设某任务串行占 20%,并行部分用 4 倍算力,代入公式得到约 2.5 倍;算力无穷大也只有 5 倍。看到"加 4 张卡只快 2.5 倍"时不必惊讶,那是数学,不是配置错了。

第四,阿姆达尔定律给出的只是理论上界。实际还会被内存带宽、调度开销、IO、跨节点延迟继续打折,真实曲线通常比公式更难看。具体硬件的实测数据,以官方文档和自家压测为准。

一句话总结:想提速,先修最长的那根串行链条,再谈往机柜里塞卡。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。