公司Openai. 地点加利福尼亚州旧金山 行业人工智能研究

挑战

一个人工智能研究实验室,Openai需要基础设施,用于深入学习,可以允许在云中或自己的数据中心运行实验,并轻松扩展。主要驱动程序是可移植性,速度和成本。

解决方案

Openai在2016年开始在AWS之上开展Kubernetes,并于2017年初迁移到Azure。Openai在Azure中的机器人和游戏包括机器人和游戏的领域运行关键实验,具体取决于哪个群集具有自由容量。“我们主要使用Kubernetes作为批处理调度系统,依赖于我们的自动阶层基础设施负责人Christopher Berner说:“这让我们显着降低了闲置节点的成本,同时仍然提供低延迟和快速迭代,这使我们能够显着降低成本。”

影响

该公司从更大的便携性中受益:“因为Kubernetes提供了一致的API,我们可以在集群之间轻松移动我们的研究实验,”伯尔勒说。当适当的时候能够使用自己的数据中心是“降低成本并提供我们不一定能够访问云中的硬件,”他补充道。“只要利用率很高,那么成本就在那里得多。”发射实验也需要更少的时间:“我们正在研究新的分布式培训系统的研究人员之一,已经能够在两到三天内运行他的实验。在一两周或两个他将它扩大到数百个GPU。以前,这将很容易有几个月的工作。“

从机器人的实验到老学校视频游戏游戏研究,Openai在人工智能技术方面的工作意味着分享。

通过使命确保强大的AI系统是安全的,Openai深入了解开源 - 既受益于它,也会将安全技术促进。“我们所做的研究,我们希望尽可能广泛地传播它,以便每个人都可以受益,”Openai的基础设施Christopher Berner表示。实验室的哲学 - 以及其特殊的需求 - 借鉴了拥有一个开放的源,云本土战略为其深度学习基础设施。

Openai在2016年开始运行Kubernetes,一年后,将Kubernetes集群迁移到Azure。“我们可能与很多人不同地使用Kubernetes,”伯恩说。“我们将其用于批量调度,作为群集的工作负载管理器。它是协调所有连接在一起的容器的一种方式。我们依赖于我们的自动阶层在我们的集群上动态缩放。这让我们显着降低了空闲节点的成本,同时仍提供低延迟和快速迭代。“

在过去的一年中,伯尔勒在Openai的自身数据中心推出了几个Kubernetes集群。“我们在一个混合模型中运行它们,其中控制飞机 - Kubernetes API服务器,ettd.并且一切都是alzure,然后所有的Kubernetes节点都在我们自己的数据中心中,“伯恩说。”云非常方便地管理ETCD和所有主人,以及备份和旋转新节点任何休息的东西。该模型使我们能够利用较低的成本,并在我们自己的数据中心中具有更专业的硬件。“

Openai的不同团队目前运行了几十个项目。虽然最大规模的工作负载直接管理裸云VM,但大多数Openai的实验都利用了Kubernetes的优势,包括可移植性。“因为Kubernetes提供了一致的API,我们可以在集群之间非常容易地移动我们的研究实验,”伯尔勒说。在预级集群通常“用于您需要大量GPU的工作负载,类似于培训想象成型模型的东西。任何CPU重,那就是在云中运行。但我们也有许多团队在云中运行他们的实验Azure和我们自己的数据中心,仅取决于哪个群集有自由容量,这是一个非常有价值的。“

伯尔勒使Kubernetes集群可供所有Openai团队使用,如果它很好。“我和我们的游戏团队一起工作了很多,目前正在对经典控制台游戏进行研究,”他说。“他们一直在我们的DEV服务器上运行了一堆实验,他们一直在尝试谷歌云,管理自己的虚拟机。我们让他们尝试了我们的第一个在预票kubernetes集群,这真的成功了。他们现在现在完全搬到它身上,它允许他们通过10倍扩展他们的实验,并在不需要投入重要的工程时间来弄清楚如何管理更多机器。很多人现在遵循相同的人小路。”

通过框架和工具简化了这条路径,即两个Openai的团队已经开发用于处理与Kubernetes的互动。“您可以写一些Python代码,用一点配置,并准确地完成了您需要的机器以及哪种类型,然后它将准备所有这些规范并将其发送到Kube群集,以便在那里启动它,”伯恩说。“它还提供了一些专为这些机器学习项目而设计的额外监控和更好的工具。”

Kubernetes在Openai的影响令人印象深刻。使用Kubernetes,框架和工具,包括AutoStoper,到位,启动实验需要更少的时间。“我们在新的分布式培训系统上工作的研究人员之一已经能够在两三天内获得他的实验,”伯尔勒说。“在一两周或两个星期内,他将它扩大到数百个GPU。以前,这将很容易有几个月的工作。”

此外,它们现在必须在适当的时候使用他们的上预售Kubernetes集群的灵活性是“降低成本并提供我们不一定可以在云中访问的硬件访问,”他说。“只要利用率很高,我们的数据中心就会更低。在某种程度上,您还可以将硬件自定义为您所需要的内容。”

Openai还受益于CNCF云天然生态系统的其他技术。grpc.许多系统用于不同服务之间的通信和普罗米修斯就到位是“作为调试工具,如果事情出错,”伯尔勒说。“我们最近我们实际上没有任何真正的问题,所以我不认为有人在一段时间内看过我们的Prometheus监控。如果有些事情破裂,那将是在那里。”

伯尼尔的一个继续关注的是Kubernetes的扩展能力,这对深度学习实验至关重要。Openai能够将其中一个Kubernetes集群推向蔚蓝的群体2,500个节点。“我认为我们可能会达到3000个机器号码,Kubernetes在长期以来已经过了测试,”伯尼尔说,“我们绝对是招聘如果你对这些事情兴奋了!“