当前位置: 首页 - 行业资讯 - 用Uber的方式管理机器学习模型

用Uber的方式管理机器学习模型

2025-01-04 行业资讯 0

用Uber的方式管理机器学习模型

Uber公司是目前对资料依赖性最高的组织之一。

每一天,Uber公司在全球700个城市规划出数百万次行程,而由此产生的关于交通、首选路线、预计到达/送货时间以及下车地点的资讯,则让Uber得以为客户提供更加顺畅的乘车体验。

通过访问来自出租车、驾驶员以及使用者的丰富资料集,Uber一直在投资机器学习与人工智能技术以增强自身业务。优步AI实验室由ML研究人员以及众多从业者组成,他们负责将最先进的机器学习技术与优势成果转化为Uber的核心业务。从计算机视觉到会话型AI,再到识别与感知,Uber公司已经成功将ML与AI融入其共享出行平台当中。

自2017年以来,Uber方面一直在分享与机器学习模型的构建、部署以及管理相关的最佳实践。他们使用的一系列内部工具与框架都建立在高人气开源专案基础之上,具体包括Spark、HDFS、Scikit-learn、NumPy、Pandas、TensorFlow以及XGBoost。

下面,让我们进一步了解Uber公司在机器学习领域的成果。

>>>Michelangelo——ML平台即服务

Michelangelo 是一套机器学习平台,通过端到端系统对各个团队的工作流程与工具进行标准化。它的出现,使得整个公司的开发人员与资料科学家都能够轻松实现机器学习系统的大规模构建与操作。

Michelangelo构建于一系列开源元件之上,包括HDFS、Spark、Samza、Cassandra、MLLib、XGBoost以及TensorFlow。其利用Uber的资料与计算基础设施构建而成,提供的资料湖足以储存Uber的全部交易与记录资料,Kafka以中间人的形式汇集所有Uber服务记录——包括Samza流式计算引擎、托管Canssandra丛集以及Uber的内部服务供应与部署工具等等。

Michelangelo主要负责实现典型机器学习工作流程中的以下六个阶段:

1. 管理资料

2. 训练模型

3. 评估模型

4. 部署模型

5. 做出预测

6. 监测预测

这套平台拥有一个数据湖,可供模型在训练与推理期间进行访问。通过指预测与线上推理,应用程序将能够访问其集中资料储存。

Michelangelo为训练中的ML模型提供标准算法,个人开发者与团队也都可以轻松向该平台新增新的算法。在部署模型之前,其会根据各种指标及引数对模型的准确性做出评估。Michelangelo通过UI或API提供端到端的模型部署管理支援。其能够将所部署的每个模型用于线上及离线预测,或者作为与移动应用程序相整合的库。该平台会持续监测预测结果的准确性与速度,从而在必要时触发重新训练。

Michelangelo的使用者能够直接通过Web UI、REST API以及监控与报警工具处直接同该平台的元件进行互动。

Uber公司通过PyML对Michelangelo专案进行了扩充套件,使得Python开发人员能够更轻松地完成模型训练与部署。PyML是一个用于处理Michelangelo流水线的高阶API,使得团队能够独立于Michelangelo之外提供独立的自定义算法、框架、工具以及依赖项。

虽然Uber方面并没有开源Michelangelo,但释出了相关说明文件,其中记录了关于实现可扩充套件机器学习流水线的设计思路与最佳实践。

>>>Horovod——用于TensorFlow的分散式深度学习框架

Horovod 是一套利用GPU资源用于TensorFlow、Keras、PyTorch以及MXNet的分散式训练框架。Uber公司已经开源了Horovod并将其转交给LF AI——Linux基金会下辖的另一机构。顺带一提,LF AI主要关注人工智能、机器学习以及深度学习类专案的运营。

通过将对程式码内容的修改量控制在最低水平,Horovod优化了跨多GPU的模型训练方式,其支援目前各类高人气深度学习框架,包括TensorFlow、Keras、PyTorch以及Apache MXNet等。

Uber方面还扩充套件了百度公司在多GPU上实现的分散式训练成果。百度最初的方案强调了将标准高效能运算技术引入深度学习这一基本想法。

Horovod还与英伟达集合通讯库(NCCL)相整合,用以支援跨多个GPU与多台机器的深度学习模型分散式训练。Horovod公开的API能够与各类主流深度学习框架共同配合使用。

Uber的Horovod专案目前以开源形式通过Github 公开交付。

>>>Ludwig——无程式码深度学习工具箱

Ludwig 是Uber旗下最有趣的机器学习专案。这是一套开源深度学习工具箱,以TensorFlow为基础构建而成,允许使用者有无需编写程式码的前提下实现深度学习模型的训练与测试。

Ludwig是一套AutoML平台,其提供一组模型架构集合;使用者可以将这些架构组合起来,从而为特定用例建立端到端模型。该工具箱要求将资料集格式化为一个逗号分隔值(CSV)档案,外加一个用于对特征、标签以及训练引数进行描述的YAML档案。Ludwig还提供一个简单的Python API,允许开发人员借此实现模型的训练或载入,以及获取关于新资料的预测结果。

该工具箱支援文字分类、机器翻译、情绪分析、影象分类、影象字幕用例以及多种场景。

Ludwig在构建之初即考虑到可扩充套件性原则,基于资料型别抽象,能够轻松新增对新资料型别以及新模型架构的支援。从业者可以利用它快速训练并测试深度学习模型,允许研究人员通过强大的基准进行效能比较,并提供实验设定选项以通过执行标准资料预处理及视觉化确保可比较性。

Ludwig开源专案已经在 Github上公开发布。

标签: 科技行业资讯

上一篇:中关村摄影论坛图片展中关村最具影响力的摄影艺术交流平台

下一篇:故事背后的画面深入了解两种不同风格的人物肖像作品

相关推荐
推荐资讯
热门文章