机器之心 10月01日
OpenAI 幕后英雄:Scott Gray 与 CUDA Kernel 的性能革命
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

在 AI 领域,OpenAI 的 Scott Gray 因其卓越的 CUDA Kernel 编写能力而备受瞩目。他通过开发 maxas 汇编器和 maxDNN 工具,在 Nervana 时期就实现了超越 cuBLAS 和 cuDNN 的性能。加入 OpenAI 后,他专注于块稀疏 GPU 内核的开发,支撑了 GPT-3、GPT-4 等模型的训练,推动了 AI 模型规模的飞跃。

🔍 Scott Gray 在 Nervana 时期开发了 maxas 汇编器,通过直接编写 SASS 机器码,其 SGEMM 内核在 GM204 GPU 上达到 98% 的硬件理论峰值,比 cuBLAS 快 4.8%,证明了超越行业标准库的可能性。

🧠 maxDNN 工具将 maxas 的优化方法论应用于卷积计算,通过 128 位纹理加载和双缓冲策略,在 AlexNet 模型的卷积层上实现 93-95% 的计算效率,全面超越 cuDNN。

💡 在 OpenAI 时期,Gray 转向块稀疏 GPU 内核开发,通过跳过零值块的计算,使稀疏模型训练效率比稠密模型快数个数量级,为 GPT-3 等大模型提供了规模化的解决方案。

🌐 Gray 的优化工具(如 maxas 和块稀疏内核)均开源,推动了 AI 社区在底层性能优化和模型设计上的创新,其贡献远超个人,赋能了整个行业。

🚀 Scott Gray 的职业生涯展示了底层性能工程的价值:从优化单一算子到赋能新架构,他的工作不仅提升了 AI 模型的效率,也为未来更高效的 AI 计算奠定了基础。

机器之心报道

编辑:+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 也将这些高性能的块稀疏内核进行了开源,旨在推动整个社区在模型和算法设计上的进一步创新。



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


文章原文

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

OpenAI Scott Gray CUDA Kernel 性能优化 深度学习 AI工程 块稀疏
相关文章