當前位置:
首頁 > 最新 > 年度回顧:Uber2017年開源項目亮點概述

年度回顧:Uber2017年開源項目亮點概述

作者| Brian Hsieh

譯者| 核子可樂

編輯|Emily

在這辭舊迎新的重要時刻,我們將共同回顧 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/


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI漫遊 的精彩文章:

不止Google vs.Nvidia:深度學習引領AI晶元大戰
2017開發者盤點:是我在解決AI的問題,不是AI解決我的問題
2018年,AI晶元之戰將打響

TAG:AI漫遊 |