年度回顾:Uber2017年开源项目亮点概述

2017 年 12 月 25 日 AI前线 开源


作者|  Brian Hsieh
译者|   核子可乐
编辑|Emily
AI 前线导读:自成立以来,优步公司就一直依靠开源技术构建可靠的生产强化系统,从而实现同业务的规模化实施。本着这一精神,优步工程技术部门向开源社区提供了多项技术成果,包括数据可视化框架、iOS 联系人库、签名渲染工具乃至一款新型编程语言。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)


在这辞旧迎新的重要时刻,我们将共同回顾 2017 年年内那些最受欢迎的优步开源项目:


 

OpenTracing 兼容式分布追踪系统


受到 Daper 与 OpenZipkin 的启发,优步利用 Go 语言打造了自己的开源分布式追踪系统 Jaeger。Jaeger 能够帮助用户更轻松地通过对各独立服务 / 端点概率进行一致性前期采样以监控复杂且基于微服务的架构,且与 OpenTracing 全面兼容。其能够监控分布式上下文传递、分布式事务监控、根本原因分析、服务依赖性分析以及性能与延迟优化等。

2017 年 9 月,Jaeger 成为云原生计算基金会(简称 CNCF)旗下的第 12 个托管项目。


 一套构建于 PyTorch 基础之上的概率编程库


Pyro 是一款用于深度概率建模的工具,且对现代深度学习与贝叶斯建模机制的优势加以统一。Pyro 的目标在于加速这些技术的研究与应用,并确保其可供更为广泛的 AI 社区加以访问。该语言属于一套灵活且具备可扩展性的深度概率编程库(简称 PPL),构建于 PyTorch 基础之上。

Pyro 是一套通用型 PPL,可用于表示任何可计算的概率分布,且与手写代码相比能够在更低资源需求之下扩展至大型数据集。凭借着出色的敏捷性与可维护性,Pyro 实现了一套强大且可组合的小型抽象核心。此外,Pyro 还提供自动与手动两种功能,可通过高级抽象来表达创成式与推理模型,同时允许专家轻松定制推理方案。


 

跨平台移动架构框架

RIB 是一套跨平台架构框架,负责支持优步旗下的多款移动应用——其中亦包括我们的全新骑行应用。RIB 这一名称的全程为 Router、Interactor and Builder,即路由器、交互器与构建器,而三者亦是这套框架中的核心组件。


在这种新型架构模式当中,其逻辑被拆分为多个小型且可独立测试的片段,这些片段各自拥有单一目的且遵循单一责任原则。因此,RIB 框架适用于构建有大量工程师参与且涉及嵌套状态的移动应用。


 

面向 TensorFlow 的分布式训练框架


Horovod 这一名称源自一种传统俄罗斯民间舞蹈,表演者互相挽起手臂围成圆圈。Horovod 是一套独立 Python 软件包,构建于优步的 Michelangelo 机器学习即服务平台之上。Horovod 能够简化并加速分布式深度学习项目的启动与运行。通过利用消息传递接口(简称 MPI)实现应用环状规约,Horovod 能够显著提升 TensorFlow 模型的实用性与性能表现。

在优步内部,我们发现与使用参数服务器的分布式 TensorFlow 模型相比,MPI 模型更为直观且代码修改要求也更为亲民。


 

大规模 WebGL 支持型数据可视化方案


deck.gl 4.0 发布于 2017 年 4 月,可通过丰富的可视化层实现高级地理空间探索,而这些可视化层亦可实现即时数据聚合。在地图之外,其将 deck.gl 方案扩展至更为广阔的非地理空间可视化领域,具体包括机器学习与抽象数据可视化(包括图形与网络等)用例。

deck. gl 4.0 还通过提供更为全面的交互式文档、独立示例、新型高级演示以及 deck.gl 3.0 升级指南等资料进一步简化了这款工具的上手难度。


 

面向 Java 实现基于注释的快速 Null 检查


NullAway 是一款快速的实用性工具,旨在帮助消除 Android 应用当中的 NullPointerExceptions(简称 NPE)。从核心角度看,NullAway 其实是一款面向 Java 代码的基于类型的开源 NPE 检查器,其可以插件形式接入 Error Prone bug 查找框架。

自建立以来,NullAway 大幅提高了开发人员的生产力水平,同时保持着我们实现安全部署所需要的强大检查能力。在 2017 年,我们将这款工具贡献给开源社区,以确保更多人能够借此构建起更为可靠的应用成果。

原文链接:

https://eng.uber.com/2017-open-source/

登录查看更多
0

相关内容

专知会员服务
80+阅读 · 2020年6月20日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
年度大盘点:机器学习开源项目及框架
云栖社区
3+阅读 · 2018年12月17日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
推荐 | 机器学习开源项目 Top 10
AI100
3+阅读 · 2018年3月21日
这10个开源人工智能项目,你必须了解!
大数据技术
9+阅读 · 2018年1月2日
开源巨献:Google最热门60款开源项目
程序猿
5+阅读 · 2017年7月12日
Arxiv
4+阅读 · 2018年9月25日
Zero-Shot Object Detection
Arxiv
9+阅读 · 2018年7月27日
Arxiv
7+阅读 · 2018年6月8日
Arxiv
8+阅读 · 2018年5月21日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
4+阅读 · 2018年4月17日
Arxiv
3+阅读 · 2018年3月28日
Arxiv
11+阅读 · 2018年1月15日
VIP会员
相关VIP内容
相关资讯
年度大盘点:机器学习开源项目及框架
云栖社区
3+阅读 · 2018年12月17日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
推荐 | 机器学习开源项目 Top 10
AI100
3+阅读 · 2018年3月21日
这10个开源人工智能项目,你必须了解!
大数据技术
9+阅读 · 2018年1月2日
开源巨献:Google最热门60款开源项目
程序猿
5+阅读 · 2017年7月12日
相关论文
Arxiv
4+阅读 · 2018年9月25日
Zero-Shot Object Detection
Arxiv
9+阅读 · 2018年7月27日
Arxiv
7+阅读 · 2018年6月8日
Arxiv
8+阅读 · 2018年5月21日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
4+阅读 · 2018年4月17日
Arxiv
3+阅读 · 2018年3月28日
Arxiv
11+阅读 · 2018年1月15日
Top
微信扫码咨询专知VIP会员