科技资讯媒体中国电商报

首页 电商 互联网 硬件 创投 生活

Uber开源Neuropod以统一AI框架并将模型转化为产品

Uber今天开源了Neuropod,这是现有机器学习框架之上的抽象层,为开发,训练和部署AI模型提供了接口。该公司表示,它旨在使研究人员更容易在他们选择的框架内构建模型,同时简化产品生产。

在行业和学术界,数据科学家在开发过程中使用多种框架的情况并不少见。例如,优步(Uber)的高级技术小组(ATG)在过渡到Facebook的PyTorch之前集成了Google的TensorFlow,这导致与TensorFlow一起运行时内存损坏和调试问题。Neuropod旨在通过使框架在运行模型时看起来相同来防止不兼容,并为TensorFlow,PyTorch,Keras和TorchScript提供开箱即用的支持。

Neuropod首先概述了模型要解决的问题:对输入和输出的规范描述,包括名称,数据类型等。这使它可以将问题视为接口并抽象化实现,以便解决相同问题的任何模型都可以互换,即使它们使用不同的框架和编程语言也是如此。(例如,如果用户想从C ++运行PyTorch模型,Neuropod将在后台启动一个Python解释器,并与之通信以运行模型。)

Neuropod将现有模型包装在包含原始模型以及元数据,测试数据和自定义操作的软件包中。应用程序与与框架无关的API进行交互,并且Neuropod将这些与框架无关的调用转换为对基础框架的调用。最后,Neuropod导出模型并建立度量标准管道以将性能与定义的基准进行比较。

优步表示,在过去的一年中,它内部使用Neuropod开发了数百种模型,用于需求预测,乘车预计到达时间(ETA)预测,Uber Eats的菜单转录以及自动驾驶车辆的对象检测模型。未来的版本将引入版本控制,该功能将允许用户在导出模型时指定框架的所需版本范围;密封操作,使应用程序可以使用模型训练资源指定“完成”的时间;dockerized worker进程,提供了模型之间的更多隔离。

Uber在博客中写道:“随着我们通过增强现有功能并引入新功能来继续扩展Neuropod的方式,我们期待与开源社区合作,以改进图书馆。”“ Neuropod在Uber的各种深度学习团队中都非常有用,我们希望它对其他人也有好处。”