OpenAI 发现后端系统的细节
您首先对工程学感兴趣的是什么?
我很幸运在很小的时候就发现了编程,并将其作为探索其他主题的途径。在中学时,一位朋友向我介绍了 Texas Instruments 计算器中包含的 BASIC 编程语言的特殊风格(鉴于每个程序限制为 27 个单字母变量并且严重依赖 GOTO 语句,我的代码可以预见是不可维护的)。尽管如此,我们还是创建了一些简单的程序,例如基于文本的冒险游戏、链接计算器的聊天应用程序以及常用的二次公式助手。
后来,我编写了更复杂的程序:一个用于说明牛顿法的视觉助手和一个用于估计行星及其卫星位置的轨道计算器,这引起了我学校 Linux 俱乐部的注意。很快,我就开始与 NDISwrapper 纠缠不清,试图让我笔记本电脑的基于 CardBus 的 WiFi 适配器正常工作,并用 Compiz 设置我的桌面窗口!这种通过代码发现的模式一直持续到高中及以后,导致我今天对工程产生了兴趣。
是什么让你来到 OpenAI?
在我的上一份工作中,我从后端角色转变为全栈职位,只是发现对前端工作和 UX 设计的厌恶。我想回到更接近后端系统的角色,并错过了我在学术界享受的与 Linux 环境的互动。OpenAI 提供了我正在寻找的工作变化,然后是一些;与在 OpenAI 的超级计算集群上工作相比,你很难找到更适合我所寻找的东西。
您在 OpenAI 专注于解决哪些问题?
探索性人工智能工作流程本质上是快节奏的;研究人员希望能够从 arXiv 中获取预印本并测试新方法,而不受他们在其上发布代码的平台的阻碍。它们也非常复杂,研究人员的行为很像数学家——依靠他们在职业生涯中建立的直觉来设计解决方案来解决本周引起他们注意的任何问题。这些运行时在一些世界上最大的超级计算机上执行的事实增加了另一层复杂性,而处理倒数第二层是我的团队参与的地方。我们努力在研究需求阻碍进展之前先发制人,如果做不到这一点,我们将与研究团队合作,找出瓶颈并尽快实施解决方法。

照片:杰克斯坦格尔
您认为在 OpenAI 从事超级计算工作与其他地方有何不同?
坦率地说,我们的经营规模之大令人震惊。第三方硬件供应商例行公事地告诉我们,我们遇到了他们以前从未见过的问题。通常这仅仅是因为我们的安装比其他客户将更多的硬件推入单个连续的超级计算机中,尽管偶尔这是我们性能预期的结果。大多数模型训练方法的同步特性导致整个集群以最慢节点的速度有效运行的配置。
我们最杰出的模型是在价值数十亿美元的超级计算机上训练的,因此,我们最终会追逐大多数其他人会忽略的性能下降。看到像主线内核这样的单行更改是令人兴奋的,因为我们知道它每周会在我们的车队中节省大约 6 天的计算时间,或者看到新驱动程序版本上的一个项目,因为它是其中之一我们的发现导致了现在的上游修复。
您在 OpenAI 的典型一天是什么样的?
我的日子通常包括编写代码、调查问题和参加会议。会议占据了我周二的大部分时间(谢天谢地,通常只有周二),而一周的剩余时间则分配给调试和编码。确定的问题通常会变成编码工作,例如,编写设计文档,将快速修补程序推送到 PR 分支,或添加被动健康检查逻辑以将错误的硬件排除在我们的集群之外。
深入研究问题需要一些侦探工作。研究的影响从模糊的(“我的工作似乎比昨天运行得慢”)到非常具体的(“我认为如果我通过以太网 NIC 推动超过 30Gbps,我会导致内核崩溃?”)。这可能是一个熟悉的组合:在按预期进行的日子里富有成效,而在预期被打乱并且你有机会学习新东西时令人兴奋。
OpenAI 提供了深入研究其他地方被忽视的计算方面的机会。
是什么让你每天充满活力?
我很少在没有最重要的事情需要做的情况下出现在工作中,而且我通常知道从及时完成任务中受益的特定团队、项目和研究人员。OpenAI 是我工作过的最大的雇主,立即了解我的工作的影响对我的日常工作动力至关重要。我也从发现系统的细节中得到乐趣。OpenAI 并不是我第一个从事后端系统工作的雇主,但这是我第一次在 HPC 领域工作。
我们使用的技术通常纯粹是由于针对该领域定制的性能问题而存在。在以前的雇主那里,我不需要担心我们硬件的物理拓扑——确保通信发生在同一个 NUMA 域内,例如,或者 GPU 通过 Nvidia 的 GPUDirect 使用位于同一位置的 NVME 或 InfiniBand 设备,或者系统进程被固定到特定的 CPU,以避免与研究运行时发生嘈杂的邻居冲突。OpenAI 提供了深入研究其他地方忽略的计算方面的机会,这让我对手头的任务很感兴趣。
你在哪里寻找灵感?
没有什么比看着我们的研究团队在改进模型方面取得进展更鼓舞人心的了。许多小组设置了 Slack 机器人或简单的游乐场,您可以在其中与仍在开发中的模型进行交互和测试,让您可以看到模型随着训练的继续而改进!
我还使用流行的 :meow_party: Slackmoji 来标记来自我们各种 Slack 频道的激励或鼓舞人心的内容。自从我在 2020 年年中加入以来,我有超过 400 个带有 :meow_party: 标签的帖子,平均每周接近 4 个!