十年来,机器学习软件开发的格局发生了重大变化。许多框架如雨后春笋般涌现,但大多数都严重依赖于英伟达的 CUDA,并在英伟达的 GPU 上才能获得最佳的性能。然而,随着 PyTorch 2.0 和 OpenAI Triton 的到来,英伟达在这一领域的主导地位正在被打破。
谷歌早期在机器学习模型架构、训练、模型优化方面都具有很大优势,但现在却难以充分发挥这些优势。而在硬件方面,其他 AI 硬件公司很难削弱英伟达的统治地位。直到 PyTorch 2.0 和 OpenAI Triton 出现,机器学习模型的默认软件堆栈将不再是英伟达的闭源 CUDA。
TensorFlow vs. PyTorch
类似的竞争出现在机器学习框架中。几年前,框架生态系统相当分散,但 TensorFlow 是领跑者。表面看来,谷歌稳操机器学习框架行业,他们凭借 TensorFlow 设计了 AI 应用特定加速器 TPU,从而获得了先发优势。
图片
然而现在看来,PyTorch 赢了,谷歌未能将其先发优势转化为新兴 ML 行业的主导地位。如今,谷歌在机器学习社区中似乎有些被孤立了,因为它没有使用 PyTorch 和 GPU,而是使用自己的软件堆栈和硬件。甚至,谷歌研发了第二个机器学习框架 ——JAX,直接与 TensorFlow 竞争,这是典型的「谷歌行为」。
一些人认为,由于大型语言模型的兴起,特别是 OpenAI 的大型语言模型和各种利用 OpenAI API 构建的语言模型,谷歌在搜索和自然语言处理方面的主导地位正在减弱。也许这种观点过于悲观,毕竟当前大多数模型的基础架构仍是谷歌开发的 transformer。
那么,为什么 PyTorch 能大获全胜呢?主要原因是相对于 TensorFlow,PyTorch 具有更高的灵活性和可用性。PyTorch 与 TensorFlow 主要的不同之处在于使用 Eager 模式而非 Graph 模式。
Eager 模式可以说是标准的脚本执行方法,与普通的 Python 代码没什么区别。这使得调试和理解代码更加容易,因为用户可以看到中间操作的结果,以及模型是如何运行的。
相反,Graph 模式分为两个阶段。第一阶段代表要执行操作的计算图,其中的节点代表操作或变量,而节点之间的边表示它们之间的数据流。第二阶段是延迟执行计算图的优化版本。
这种两阶段的方法使得理解和调试代码更具挑战性,因为在图执行结束之前用户无法看到发生了什么。这类似于「解释型」与「编译型」语言,如 Python 与 C++,调试 Python 更容易,因为它是解释型语言。
虽然 TensorFlow 现在也默认使用 Eager 模式,但研究社区和大多数大型科技公司都选择使用 PyTorch。
机器学习训练组件
如果将机器学习模型训练简化为最简单的形式,影响机器学习模型训练的因素主要有两点:
计算 ( FLOPS ) :在每一层内运行密集矩阵乘法;
内存带宽。
以前,影响机器学习训练时间的主要因素是计算时间,等待系统执行矩阵乘法。随着英伟达 GPU 的不断发展,这很快就不再是主要问题了。
英伟达利用摩尔定律将 FLOPS 提高了多个数量级,但主要是架构变化 —— 张量核(tensor core)和更低精度的浮点数格式。相比之下,存储方面没有太大的变化。
图片
2018 年,最先进的模型是 BERT,英伟达 V100 是最先进的 GPU,那时矩阵乘法已经不再是提高模型性能的主要因素。之后,模型在参数数量上增长了 3 到 4 个数量级,而最快的 GPU 在 FLOPS 上增长了 1 个数量级。
即使在 2018 年,纯计算绑定的工作负载也占 FLOPS 的 99.8%,但仅占运行时的 61%。与矩阵乘法相比,归一化和逐点运算(pointwise ops)使用的 FLOPS 仅为矩阵乘法的 1/250 和 1/700,但它们消耗了近 40% 的模型运行时间。
图片
内存墙
随着模型规模的不断飙升,大型语言模型(LLM)仅用于模型权重的内存就需要 100 GB 以上。百度和 Meta 部署的产品推荐网络需要数十 TB 的内存来存储其海量嵌入表。大型模型训练 / 推理中的大部分时间都没有花在计算矩阵乘法上,而是在等待数据传输。显然,问题在于为什么架构师不将更多内存放在更靠近计算的位置,问题的答案也是可想而知的 —— 成本。
关于航天之星|SPACESTAR俱乐部

航天之星|SPACESTAR俱乐部由新空间航天CEO杨潇创建,是一个基金会,其使命是激励中国在校青少年追求STEM职业,并帮助创造太空生活的未来。俱乐部及其合作者正在通过“航天之星”、以航天为中心的课程以及“新空间航天”赤兔火箭作为通道来实现这一目标。
最新资讯
更新
-
14 04
-
14 04
广东省广播电视局关于公布2021-2025“十四五”广播电视重点选题规划(第三批)的通知
- 2023-04-14
-
01 04
国产电视动画片《唐宋传奇之一统天下》于2023年2月通过备案公示
- 2023-04-01
-
11 11
赤兔火箭发动机的技术优势
- 2021-11-11
-
08 01
Webmeng 数据
- 2017-01-08
推荐新闻
-
炫梦动漫旗下 电影《郑和》入选 广东省广播电视局2021-2025“十四五”广播电视重点选题规划(第三批)
时间:2023-04-14 -
广东省广播电视局关于公布2021-2025“十四五”广播电视重点选题规划(第三批)的通知
时间:2023-04-14 -
国产电视动画片《唐宋传奇之一统天下》于2023年2月通过备案公示
时间:2023-04-01 -
谷歌早期在机器学习模型架构、训练、模型优化方面都具有很大优势
时间:2023-01-25 -
编程能力会消失吗?
时间:2023-01-24 -
赤兔火箭发动机的应用场景
时间:2021-11-11 -
赤兔火箭发动机的技术优势
时间:2021-11-11 -
为什么研发赤兔火箭发动机
时间:2021-09-16 -
赤兔火箭发动机在当下的行业前景
时间:2021-09-16