深入探索后端系统的细节

OpenAI Blog 新闻

摘要

# 深入探索后端系统的细节 来源:[https://openai.com/index/discovering-the-minutiae-of-backend-systems/](https://openai.com/index/discovering-the-minutiae-of-backend-systems/) OpenAI 很幸运在年幼时就接触到了编程,并将其作为探索其他话题的入口。在中学时,一位朋友向我介绍了 Texas Instruments 计算器中特有的 BASIC 编程语言(我写的代码可想而知是难以维护的)

Christian Gibson 是 OpenAI 超级计算团队的一名工程师。
查看原文
查看缓存全文

缓存时间: 2026/04/20 14:55

# 探索后端系统的细节 来源:https://openai.com/index/discovering-the-minutiae-of-backend-systems/ 我很幸运在年幼时就发现了编程,并以此为契机去探索其他话题。在中学时,一位朋友向我介绍了德州仪器计算器中特有的 BASIC 编程语言(考虑到每个程序仅限使用 27 个单字母变量的限制以及对 GOTO 语句的大量依赖,我写的代码自然可维护性很差)。尽管如此,我们还是创建了一些简单的程序,比如基于文本的冒险游戏、链接计算器的聊天应用,以及常见的二次方程求解器。 后来,我编写了更复杂的程序:一个用于展示牛顿法的可视化辅助工具,以及一个用于估算行星及其卫星位置的轨道计算器,这吸引了我学校 Linux 俱乐部的关注。很快,我开始与 NDISwrapper 纠缠,试图让笔记本电脑的基于 CardBus 的 WiFi 适配器工作,还用 Compiz 把桌面窗口搞得花里胡哨。这种通过代码发现的模式贯穿了我的整个高中时期及以后,最终促成了我今天对工程的热情。 在我上一份工作中,我从后端岗位转到了全栈岗位,却发现自己对前端工作和 UX 设计不感兴趣。我想回到更接近后端系统的岗位,也很怀念在学术界与 Linux 环境的互动。OpenAI 提供了我一直在寻找的工作转变,甚至更多;很难找到比从事 OpenAI 超级计算集群工作更适合我需求的工作。 探索性 AI 工作流本质上节奏很快;研究人员希望能够从 arXiv 上获取预印本论文并测试新方法,而不受他们运行代码的平台的束缚。这些工作流也异常复杂,研究人员的行为很像数学家——依靠他们在职业生涯中积累的直觉来设计解决方案,以应对本周吸引他们眼球的任何问题。这些运行时在世界上一些最大的超级计算机上执行这一事实增加了又一层复杂性,而处理这个倒数第二层的正是我的团队所做的工作。我们致力于在研究需求阻碍进展之前预见到它们,如果失败了,我们就与研究团队合作来识别瓶颈并尽快实施解决方案。 一个人坐在自助餐厅的餐桌边,放着一杯水和合上的笔记本电脑 我们运营的规模坦白说是惊人的。第三方硬件厂商经常坦露他们从未见过的问题我们都遇到了。通常这只是因为我们的安装在单个连续超级计算机中拥有比他们其他客户更多的硬件,尽管有时这是我们性能期望的结果。大多数模型训练方法的同步特性导致了整个集群实际上以最慢节点速度运行的配置。 我们最突出的模型是在耗资数十亿美元的超级计算机上训练的,因此我们最终会追踪其他人会忽视的性能下降。能够看到像单行代码变更进入主线内核这样的事情令人兴奋,因为我们知道它每周会节省整个舰队约 6 天的计算,或者看到新驱动程序发布的行项,因为我们知道这是我们的发现导致现在被上游采用的修复。 我的日常工作通常是编写代码、调查问题和参加会议的某种组合。会议在我的周二主导我的日程(通常只有周二,谢天谢地),一周的其余时间则在调试和编码之间分配。识别的问题通常会成为编码工作,例如编写设计文档、向 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 个!

相似文章

深度学习基础设施

OpenAI Blog

OpenAI 分享了他们的深度学习基础设施方法,并开源了 kubernetes-ec2-autoscaler,一个为 Kubernetes 优化的批处理自动扩展管理器,强调基础设施质量如何倍增研究进展。