人工智能

Uber 的 Fiber 是一种新的分布式 AI 模型训练框架

mm

根据 VentureBeat 报道,Uber 的 AI 研究人员最近在 Arxiv 上发表了一篇论文,介绍了一种新的平台,旨在帮助创建分布式 AI 模型。该平台称为 Fiber,可用于驱动强化学习任务和基于人口的学习。Fiber 旨在使大规模并行计算更容易被非专家使用,让他们利用分布式 AI 算法和模型的力量。

Fiber最近在GitHub上开源,并且与Python 3.6或更高版本兼容,使用Kubernetes在Linux系统上运行,并在云环境中运行。根据研究人员的说法,该平台可以轻松扩展到数百或数千台单独的机器。

Uber的研究人员团队解释说,最近在人工智能领域的许多进展都是由更大的模型和使用分布式训练技术训练的算法驱动的。然而,创建基于人口的模型和强化模型对于分布式训练方案来说仍然是一个具有挑战性的任务,因为它们经常遇到效率和灵活性问题。Fiber通过将集群管理软件与动态缩放相结合,使分布式系统更加可靠和灵活,并允许用户无缝地将作业从一台机器移到多台机器。

Fiber由三个不同的组件组成:API、后端和集群层。API层允许用户创建队列、管理器和进程。Fiber的后端层允许用户创建和终止由不同集群管理的作业,而集群层管理单个集群及其资源,这大大减少了Fiber需要跟踪的项目数量。

Fiber允许作业被排队和远程运行在一台本地机器或多台不同的机器上,使用作业支持的进程的概念。Fiber还使用容器来确保输入数据和依赖包是自包含的。Fiber框架甚至包括内置的错误处理,因此如果工作者崩溃,它可以快速恢复。Fiber可以在与集群管理器交互的同时执行所有这些操作,让Fiber应用程序像正常应用程序一样运行在给定的计算机集群上。

实验结果表明,Fiber的响应时间平均只有几毫秒,而且当使用2048个处理器核心/工作者构建时,它的扩展性也优于基线AI技术。随着工作者数量的增加,完成作业所需的时间逐渐减少。IPyParallel大约需要1400秒才能完成50次训练迭代,而Fiber可以在512个工作者可用时大约50秒内完成相同的50次训练迭代。

Fiber论文的共同作者解释说,Fiber可以实现多个目标,例如动态缩放算法和使用大量计算能力:

“[我们的工作表明],Fiber实现了多个目标,包括高效利用大量异构计算硬件,动态缩放算法以提高资源使用效率,减少使[强化学习]和基于人口的算法在计算机集群上工作所需的工程负担,并快速适应不同的计算环境以提高研究效率。我们期望它将进一步促进解决具有挑战性的[强化学习]问题的进展,使用[强化学习]算法和基于人口的方法,使得开发这些方法并在必要的规模上训练它们变得更加容易,以真正展示它们的优势。”

博客作者和程序员,专攻 Machine Learning Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。