AI人物 1月前 128 阅读 0 评论

CUDA内核之神、全球最强GPU程序员?OpenAI的这位幕后大神是谁

作者头像
AI中国

AI技术专栏作家 | 发布了 246 篇文章


机器之心报道

编辑:+0

在 AI 圈里,聚光灯总是追逐着那些履历光鲜的明星人物。但一个伟大的团队,不仅有台前的明星,更有无数在幕后贡献关键力量的英雄。

之前我们介绍了 OpenAI 的两位波兰工程师,最近 OpenAI 又一位身处幕后的工程师成为了焦点。

起因是 X 上的一则热门帖子,其中提到 OpenAI 仅凭一位工程师编写的关键 CUDA Kernel,就支撑起每日数万亿次的庞大计算量。

评论区纷纷猜测,这位大神便是 OpenAI 的资深工程师 Scott Gray。

在 OpenAI 的官方介绍中也明确提到,他的工作重心是「优化深度网络在 GPU 上的性能」。

为什么一个能编写 CUDA Kernel 的工程师会引起如此关注?

因为编写高性能的模型训练 CUDA Kernel 是一项极度专业的技能,它要求开发者必须同时精通三大高深领域:并行计算理论、GPU 硬件架构与深度学习算法。能将三者融会贯通的顶尖人才凤毛麟角。

大多数开发者停留在应用层,使用现成工具。从事推理优化的人稍多,因为其问题边界更清晰。然而,要深入底层,为复杂的训练过程(尤其是反向传播)从零手写出超越 cuDNN 等现有库的 CUDA Kernel,则需要对算法、并行计算和硬件有宗师级的理解。

而 Scott Gray 的职业轨迹,恰好是为这个角色量身打造的。他并非典型的「神童」科学家,而是走出了一条专注于底层性能工程的「普通」道路。

Scott Gray 毕业于 UIUC 物理与计算机科学,2016 年入职 OpenAI,早年于 Nervana 从事 GPU 汇编级内核优化。

前 Nervana CEO 在评论区更是直接盖章,称他们当年在论坛发现 Scott 后便当场聘用,并盛赞其为「全球最强 GPU 程序员」。

CUDA 内核之神、全球最强 GPU 程序员,这些名号放在同一个人身上,可想而知他的的实力有多硬核。不少网友开玩笑说,他可能已经上了小扎的「暗挖名单」。

接下来我们来回顾一下他的职业生涯和技术路线。

在 Nervana 压榨物理极限

Scott Gray 在 AI 领域的声名鹊起,始于他在 Nervana Systems(一家后被英特尔以约 4 亿美元收购的公司)的时期。

当时,深度学习正处于爆发前夜,但软件框架与底层硬件之间存在着巨大的效率鸿沟。绝大多数开发者依赖 NVIDIA 的 CUDA C/C++ 和官方库(如 cuBLAS、cuDNN)进行 GPU 编程。这个标准流程虽然便捷,但其多层软件抽象(CUDA C -> PTX 中间语言 -> SASS 机器码)屏蔽了硬件细节,也成为了性能的「天花板」。

Gray 的哲学是,要实现真正的性能突破,必须绕过这些抽象层。

maxas 汇编器:直接与硬件对话

Gray 认为 NVIDIA 官方的汇编器(ptxas)在寄存器分配、指令调度等方面表现不佳,导致性能损失。

他没有选择在框架内小修小补,他开发了 maxas,一个针对 NVIDIA Maxwell 架构的汇编器。这让他得以绕开编译器的束缚,手动编写出极致性能的计算内核。

maxas 让开发者可以直接编写最底层的 SASS 机器码,从而获得对硬件资源的绝对控制权,包括手动分配寄存器、管理内存延迟、控制指令流水线等。

为了证明其价值,Gray 使用 maxas 手写了一个 SGEMM(单精度通用矩阵乘法)内核。结果是颠覆性的。

当时的 GM204 GPU 上,该内核的计算效率达到了硬件理论峰值的 98%,意味着软件开销几乎为零。

更重要的是,它的性能比 NVIDIA 官方闭源、同样由专家手写的 cuBLAS 库还要快 4.8%。这向业界证明,即便是硬件厂商自己打造的「黄金标准」也并非不可逾越。

maxDNN:将极致优化方法论推广至卷积

在 maxas 成功的基础上,Gray 将目光投向了深度学习中另一个核心计算——卷积。他开发了 maxDNN,旨在证明 maxas 的底层优化方法论是一种可以系统性应用的通用策略。

maxDNN 借鉴了当时最高效的卷积算法思路,但在底层完全采用 maxas 中被验证过的汇编级优化技术,例如使用 128 位纹理加载、激进的双缓冲策略来隐藏内存延迟,并对数据进行重组以实现完美的内存合并访问。最终,其核心计算循环中,超过 98% 的指令都是纯粹的浮点运算指令,计算效率极高。

maxDNN 的性能表现全面超越了当时 NVIDIA 的 cuDNN 库。在 AlexNet 模型的所有卷积层上,maxDNN 稳定地达到了 93-95% 的计算效率。相比之下,cuDNN 的效率在 32% 到 57% 之间大幅波动。在 Overfeat 模型的某个卷积层上,maxDNN 的效率更是达到了 96.3% 的峰值。

在 Nervana 的这两项工作,为 Scott Gray 赢得了「性能优化大师」的声誉,并证明了通过深入硬件底层,一个小团队甚至单一个体也能创造出超越行业巨头的性能。

OpenAI 时期:从优化算子到赋能新架构

加入 OpenAI 后,Gray 的工作重心发生了战略性转变。随着 Scaling Laws 的提出,模型规模的增长成为提升性能的关键。然而,稠密模型的无限扩张在计算和成本上面临瓶颈。Gray 的工作转向了为更高效的稀疏模型架构开发底层工具,从一个「优化者」转变为一个「使能者」。

Scott Gray 的名字出现在几乎所有 OpenAI 的里程碑式论文中,包括 GPT-3、GPT-4、Codex 和 DALL-E。他作为核心技术人员,编写了大量高性能 GPU 内核,支撑了这些模型万亿次级别的训练和推理计算。他是将 Scaling Laws 这一理论发现转化为工程现实的关键人物之一。

为了解决稠密模型的规模化难题,Gray 与同事共同开发了一套创新的块稀疏(block-sparse)GPU 内核。

  • 论文标题:GPU Kernels for Block-Sparse Weights
  • 论文地址:https://cdn.openai.com/blocksparse/blocksparsepaper.pdf

不同于移除单个权重的非结构化稀疏,块稀疏将权重矩阵划分为固定大小的块,并将整个块置零。Gray 为此开发了专门的 GPU 内核,在计算时能够完全「跳过」这些零值块,从而大幅提升效率。

这些内核的运行速度可以比处理稠密矩阵的 cuBLAS 或处理通用稀疏矩阵的 cuSPARSE 快上几个数量级。

这种性能突破带来了巨大的架构优势。研究人员可以在固定的计算预算内,构建参数量远超以往的神经网络模型(例如,宽度是同等稠密网络 5 倍的 LSTM 模型)。利用这些内核,OpenAI 在文本和图像生成等多个任务上取得了当时的 SOTA 成果。

与在 Nervana 时一样,OpenAI 也将这些高性能的块稀疏内核进行了开源,旨在推动整个社区在模型和算法设计上的进一步创新。

作者头像

AI前线

专注人工智能前沿技术报道,深入解析AI发展趋势与应用场景

246篇文章 1.2M阅读 56.3k粉丝

评论 (128)

用户头像

AI爱好者

2小时前

这个更新太令人期待了!视频分析功能将极大扩展AI的应用场景,特别是在教育和内容创作领域。

用户头像

开发者小明

昨天

有没有人测试过新的API响应速度?我们正在开发一个实时视频分析应用,非常关注性能表现。

作者头像

AI前线 作者

12小时前

我们测试的平均响应时间在300ms左右,比上一代快了很多,适合实时应用场景。

用户头像

科技观察家

3天前

GPT-4的视频处理能力已经接近专业级水平,这可能会对内容审核、视频编辑等行业产生颠覆性影响。期待看到更多创新应用!