惊艳!Uber 的豪华开源深度学习“全家桶”
作者 | Jesus Rodriguez
译者 | Arvin
编辑 | 夕颜
出品 | CSDN(ID:CSDNnews)
人工智能已经成为一种非典型的技术趋势。在传统的技术周期中,创新通常始于初创公司试图颠覆行业的现有企业。就人工智能而言,该领域的大部分创新来自于谷歌、脸书、优步或微软等公司的大型企业实验室。这些公司不仅在令人印象深刻的研究方面处于领先地位,而且还定期开放源代码,以简化人工智能技术的采用。在这种背景下,优步已经成为当前生态系统中开源人工智能技术最活跃的贡献者之一。在短短几年的时间里,优步定期在人工智能生命周期的不同领域开展开源项目。今天,我想回顾一下我最喜欢的优步的几个顶级机器学习开源项目。
优步是人工智能技术近乎完美的游乐场。该公司将大型领头羊科技公司的所有传统人工智能需求与人工智能驱动的交通场景结合起来。因此,优步一直在从客户分类到自动驾驶汽车等各种各样的场景中构建机器/深度学习应用。优步团队使用的许多技术都是开源的,并得到了机器学习社区的赞誉。让我们来看看我最喜欢的一些。需要说明的是,我接下来不会介绍像Michelangelo或PyML这样的技术,因为它们都是开源的。
Ludwig:无代码机器学习模型的工具箱
Ludwig是一个基于TensorFlow的工具箱,无需编写代码即可训练和测试深度学习模型。从概念上讲,Ludwig是根据五个基本原则创建的:
无需编码:无需编码技能即可训练模型并将其用于获取预测。
通用性:一种新的基于数据类型的深度学习模型设计方法,使工具可以跨许多不同的用例使用。
灵活性:经验丰富的用户对模型的建立和训练具有广泛的控制权,而新用户则会发现它易于使用。
可扩展性:易于添加新的模型架构和新的特征数据类型。
可理解:深度学习模型内部通常被认为是黑盒子,但是我们提供了标准的可视化来理解它们的性能并比较它们的预测。
使用Ludwig,数据科学家可以通过简单地提供一个CSV文件来训练一个深度学习模型,该文件包含了训练数据以及一个包含模型输入和输出的YAML文件。利用这两个数据点,Ludwig执行一个多任务学习例程,同时预测所有输出并评估结果。在幕后,Ludwig提供了一系列的深度学习模型,这些模型可以不断地进行评估,并可以在最终的架构中进行组合。优步工程团队使用以下类比来解释此过程:“如果深度学习库提供了建造建筑物的基础,Ludwig提供了建造城市的建材,你可以在可用的建材中进行选择,也可以将自己的建材添加到可用的集合。”
Pyro:一种原生概率编程语言
Pyro是由优步人工智能实验室发布的一种深度概率编程语言(PPL)。Pyro建立在PyTorch之上,并基于以下四个基本原则:
通用的:Pyro是一个通用的PPL -它可以表示任何可计算的概率分布。即从使用迭代和递归(任意Python代码)的通用语言开始,然后添加随机抽样、观察和推理。
可拓展的:Pyro可以扩展到大型数据集,并且比手工编写的代码开销更小。即通过构建现代的黑盒优化技术,使用小批量数据进行近似推理 。
最优的:Pyro是敏捷的和可维护的。即Pyro是用一个强大的、可组合的抽象的小内核实现的。只要有可能,就将繁重的工作委派给PyTorch和其他库。
灵活的:Pyro的目标是在你需要时实现自动化和控制。即Pyro使用高级抽象来表达生成和推理模型,同时允许专家轻松定制推理。
这些原则常常将Pyro的实现拉向相反的方向。例如,通用要求在Pyro程序中允许任意的控制结构,但是这种通用性使得难于扩展。然而,总的来说,Pyro在这些功能之间实现了出色的平衡,从而成为现实应用中最好的PPL之一。
Manifold:用于机器学习模型调试和解释的工具集
Manifold是优步的技术,用于大规模调试和解释机器学习模型。有了Manifold,优步工程团队希望实现一些非常切实的目标:调试机器学习模型中的代码错误;单独或与其他模型比较,了解一个模型的优缺点;比较和集成不同的模型;将通过检查和性能分析收集到的见解合并到模型迭代中。
为了实现这些目标,Manifold将机器学习分析过程分为三个主要阶段:检查,解释和改进。
检查:在分析过程的第一部分中,用户设计模型,并尝试调查模型结果并将其与其他现有结果进行比较。在此阶段中,用户将比较典型的性能指标,例如准确性,精度/召回率和接收器工作特性曲线(ROC),以粗粒度了解新模型是否优于现有模型。
解释:分析过程的这一阶段试图解释上一阶段提出的不同假设。此阶段依靠比较分析来解释特定模型的某些症状。
优化:在此阶段,用户尝试通过将从解释中提取的知识编码到模型中并测试性能来验证从上一阶段生成的解释。
Plato:大规模构建会话智能体的框架
优步建立了Plato研究对话系统(Plato Research Dialogue System, PRDS),以应对构建大规模会话应用的挑战。从概念上讲,PRDS是一个用于在不同环境中创建、训练和评估人工智能会话智能体的框架。从功能的角度看,PRDS包括以下组件:
语音识别(将语音转录为文本)
语言理解(从该文本中提取含义)
状态跟踪(有关到目前为止所说的和完成的操作的汇总信息)
API调用(搜索数据库,查询API等)
对话政策(生成代理响应的抽象含义)
语言生成(将抽象含义转换为文本)
语音合成(将文本转换为语音)
PRDS的设计考虑了模块化,以便将最新的研究纳入对话系统中,并不断发展平台的每个组件。在PRDS中,可以在线(通过交互)或离线训练每个组件,并将其合并到核心引擎中。从训练的角度来看,PRDS支持与人类和模拟用户的交互。后者通常用于在研究场景中启动人工智能对话智能体,而前者更能代表实时交互。
Horovod:大规模深度学习训练框架
Horovod是社区中非常受欢迎的优步机器学习堆栈之一,并已被DeepMind和OpenAI等AI巨头的研究团队采用。从概念上讲,Horovod是用于大规模运行分布式深度学习训练工作的框架。
Horovod利用诸如OpenMPI之类的消息传递接口栈来使训练作业能够在高度并行和分布式的基础架构上运行,而无需进行任何修改。在Horovod中运行分布式TensorFlow训练工作可以通过四个简单步骤完成:
hvd.init()初始化Horovod。
config.gpu_options.visible_device_list = str(hvd.local_rank())为每个TensorFlow进程分配一个GPU。
opt = hvd.DistributedOptimizer(opt)使用Horovod优化器包装任何常规的TensorFlow优化器,该优化器使用ring-allreduce来平均梯度。
hvd.BroadcastGlobalVariablesHook(0)将变量从第一个进程广播到所有其他进程,以确保一致的初始化。
优步人工智能研究:人工智能研究的常规资源
最后,我们要特别提到的是优步对人工智能研究的积极贡献。优步的许多开源发布都受到了他们研究工作的启发。优步人工智能研究网站是一个非凡的论文目录,突出了优步在人工智能研究方面的最新成果。
这些是优步工程团队的一些贡献,它们经常被人工智能研究和开发社区采用。随着优步继续大规模实施人工智能解决方案,我们应该会持续看到新颖且创新的框架,这些框架可以简化数据科学家和研究人员对机器学习的采用。
本文为 CSDN 翻译,转载请注明来源出处。
原文链接:
https://towardsdatascience.com/uber-has-been-quietly-assembling-one-of-the-most-impressive-open-source-deep-learning-stacks-in-b645656ddddb
推荐阅读
☞OPPO 回应“不务正业”生产口罩;旧款 iPhone 降速被罚 2500 万欧元;Angular 9.0.0 发布| 极客头条
☞“瘟疫”笼罩下的物联网危与机
☞JavaScript 造就年薪超过 10 万美元的开发者们!
☞只需1分钟,这个网站用AI分离歌曲的人声、伴奏和乐器声
☞想要AI优先?数据优先才行
☞10 大趋势带你预见 DeFi 2020!
你点的每一个在看,我认真当成了喜欢
惊艳!Uber 的豪华开源深度学习“全家桶”相关推荐
- 专治“炼丹侠”各种不服:1分钟就能搞个AI应用 | 最新开源深度学习框架工具套件TinyMS问世...
贾浩楠 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "炼丹侠"们苦当前深度学习框架久矣. 本来,AI框架的初衷是简化.加速和优化开发流程.但是轮子这么多,有从学界走 ...
- 华为开源深度学习框架MindSpore背后的商业野心
最近华为开源了深度学习框架MindSpore,一时成为了热点.我之前也点评了很多微软.Google.腾讯等厂商的框架,有些点评文章还被官方社区收录,今天为大家解析下MindSpore. 首先阐明下我个 ...
- GitHub 上 57 款最流行的开源深度学习项目【转】
GitHub 上 57 款最流行的开源深度学习项目[转] 2017-02-19 20:09 334人阅读 评论(0) 收藏 举报 分类: deeplearning(28) from: https:// ...
- 快速入门开源深度学习框架
AI发展新趋势 Garter发布的2021年重要战略科技发展趋势中提到,目前只有53%的项目能够从人工智能原型落地转化为生产.原因是缺乏创建和管理生产级人工智能的工具,这使得人工智能项目的落地和扩展难 ...
- 专访 MindSpore 黄之鹏:围绕社区,探索开源深度学习框架的真正价值
随着智能产业的发展日趋成熟,大量企业在奔赴智能化升级的前线,深度学习方兴未艾,深度学习框架也开始为更多开发者所知.其中佼佼者如TensorFlow.PyTorch.MXNet等已经获得了大量的关注,而 ...
- 阿里开源深度学习框架XDL,面向高维稀疏数据,支持千亿参数训练规模
安妮 发自 阿里中心 量子位 出品 | 公众号 QbitAI 近日,阿里巴巴首次开源了面向高维稀疏数据的深度学习框架,叫作X-Deep Learning,简称XDL. 阿里表示,XDL基于大数据营销平 ...
- 1.3 飞桨开源深度学习平台介绍
介绍飞桨在行业内的应用情况.产品全景.技术优势,以及飞桨的安装方法和联系方式. 深度学习框架 近年来深度学习在很多机器学习领域都有着非常出色表现,在图像识别.语音识别.自然语言处理.机器人.网络广告投 ...
- 百度开源深度学习平台Paddle
百度开源深度学习平台Paddle 吃瓜群众表示只想知道好不好.百度今天开源了其深度学习平台Paddle,引发了挺多人工智能领域开发者的兴趣,包括一些之前一直在Tensorflow和Caffe上练手的开 ...
- 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...
最新文章
- 漫画:5分钟弄懂分治算法!它和递归算法的关系!
- set firefox new tab url
- iOS开发小技巧-修改SliderBar指针的样式(牢记这个方法,只能通过代码来修改)
- libcublas.so: cannot open shared object file
- 盘丝洞服务器维护,9月27日“盘丝洞”等服务器停机更新
- 给Jquery easyui 的datagrid 每行增加操作链接(转)
- Angel Borja博士教你如何撰写科学论文三:Writing the first draft of your science paper — some dos and don’ts
- XPath 轴 Axes
- excel 单元格名称 java_Java 创建、编辑、删除Excel命名区域
- Kotlin中正则表达式分析
- C#实现图片转字符画
- 关于微信8.0.0以下版本登录版本验证的解决办法
- chrome禁止广告
- 多个物体模型快速制作爆炸图?试一试ThingJS
- 天龙八部怀旧服服务器维护,新天龙八部怀旧服游戏2月4日全服更新维护公告
- #今日论文推荐# 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水
- html实现个人自我介绍(精)
- 归并排序,快速排序为什么快
- 微信小程序实现列表及tab标签
- 腾讯兔小巢是什么?零代码如何连接企业微信机器人
热门文章
- 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?...
- 《数据结构与算法分析》习题-----第二章(3)(关于list的题目)
- C#中面向连接的客户端与服务端编程
- CSS光标属性一览表
- [C++] printf 打印 string 类型
- jhu研究生录取 计算机,成绩一般被JHU信息系统管理MIS硕士录取
- auto.js停止所有线程_使用多线程处理输入的数据
- 【图像处理】MATLAB:图像噪声
- Linux下的进程池(2)
- 2017级C语言大作业 - 见缝插针