Uber公司是目前對數(shù)據(jù)依賴性最高的組織之一。
每一天,Uber公司在全球700個城市規(guī)劃出數(shù)百萬次行程,而由此產(chǎn)生的關(guān)于交通、首選路線、預(yù)計到達(dá)/送貨時間以及下車地點(diǎn)的信息,則讓Uber得以為客戶提供更加順暢的乘車體驗。
通過訪問來自出租車、駕駛員以及用戶的豐富數(shù)據(jù)集,Uber一直在投資機(jī)器學(xué)習(xí)與人工智能技術(shù)以增強(qiáng)自身業(yè)務(wù)。優(yōu)步AI實驗室由ML研究人員以及眾多從業(yè)者組成,他們負(fù)責(zé)將最先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)與優(yōu)勢成果轉(zhuǎn)化為Uber的核心業(yè)務(wù)。從計算機(jī)視覺到會話型AI,再到識別與感知,Uber公司已經(jīng)成功將ML與AI融入其共享出行平臺當(dāng)中。
自2017年以來,Uber方面一直在分享與機(jī)器學(xué)習(xí)模型的構(gòu)建、部署以及管理相關(guān)的最佳實踐。他們使用的一系列內(nèi)部工具與框架都建立在高人氣開源項目基礎(chǔ)之上,具體包括Spark、HDFS、Scikit-learn、NumPy、Pandas、TensorFlow以及XGBoost。
下面,讓我們進(jìn)一步了解Uber公司在機(jī)器學(xué)習(xí)領(lǐng)域的成果。
>>>Michelangelo——ML平臺即服務(wù)
Michelangelo 是一套機(jī)器學(xué)習(xí)平臺,通過端到端系統(tǒng)對各個團(tuán)隊的工作流程與工具進(jìn)行標(biāo)準(zhǔn)化。它的出現(xiàn),使得整個公司的開發(fā)人員與數(shù)據(jù)科學(xué)家都能夠輕松實現(xiàn)機(jī)器學(xué)習(xí)系統(tǒng)的大規(guī)模構(gòu)建與操作。
Michelangelo構(gòu)建于一系列開源組件之上,包括HDFS、Spark、Samza、Cassandra、MLLib、XGBoost以及TensorFlow。其利用Uber的數(shù)據(jù)與計算基礎(chǔ)設(shè)施構(gòu)建而成,提供的數(shù)據(jù)湖足以存儲Uber的全部交易與記錄數(shù)據(jù),Kafka以中間人的形式匯集所有Uber服務(wù)記錄——包括Samza流式計算引擎、托管Canssandra集群以及Uber的其它內(nèi)部服務(wù)供應(yīng)與部署工具等等。
Michelangelo主要負(fù)責(zé)實現(xiàn)典型機(jī)器學(xué)習(xí)工作流程中的以下六個階段:
1. 管理數(shù)據(jù)
2. 訓(xùn)練模型
3. 評估模型
4. 部署模型
5. 做出預(yù)測
6. 監(jiān)測預(yù)測
這套平臺擁有一個數(shù)據(jù)湖,可供模型在訓(xùn)練與推理期間進(jìn)行訪問。通過指預(yù)測與在線推理,應(yīng)用程序?qū)⒛軌蛟L問其集中數(shù)據(jù)存儲。
Michelangelo為訓(xùn)練中的ML模型提供標(biāo)準(zhǔn)算法,個人開發(fā)者與團(tuán)隊也都可以輕松向該平臺添加新的算法。在部署模型之前,其會根據(jù)各種指標(biāo)及參數(shù)對模型的準(zhǔn)確性做出評估。Michelangelo通過UI或API提供端到端的模型部署管理支持。其能夠?qū)⑺渴鸬拿總€模型用于在線及離線預(yù)測,或者作為與移動應(yīng)用程序相集成的庫。該平臺會持續(xù)監(jiān)測預(yù)測結(jié)果的準(zhǔn)確性與速度,從而在必要時觸發(fā)重新訓(xùn)練。
Michelangelo的用戶能夠直接通過Web UI、REST API以及監(jiān)控與報警工具處直接同該平臺的組件進(jìn)行交互。
Uber公司通過PyML對Michelangelo項目進(jìn)行了擴(kuò)展,使得Python開發(fā)人員能夠更輕松地完成模型訓(xùn)練與部署。PyML是一個用于處理Michelangelo流水線的高級API,使得團(tuán)隊能夠獨(dú)立于Michelangelo之外提供獨(dú)立的自定義算法、框架、工具以及依賴項。
雖然Uber方面并沒有開源Michelangelo,但發(fā)布了相關(guān)說明文檔,其中記錄了關(guān)于實現(xiàn)可擴(kuò)展機(jī)器學(xué)習(xí)流水線的設(shè)計思路與最佳實踐。
>>>Horovod——用于TensorFlow的分布式深度學(xué)習(xí)框架
Horovod 是一套利用GPU資源用于TensorFlow、Keras、PyTorch以及MXNet的分布式訓(xùn)練框架。Uber公司已經(jīng)開源了Horovod并將其轉(zhuǎn)交給LF AI——Linux基金會下轄的另一機(jī)構(gòu)。順帶一提,LF AI主要關(guān)注人工智能、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)類項目的運(yùn)營。
通過將對代碼內(nèi)容的修改量控制在最低水平,Horovod優(yōu)化了跨多GPU的模型訓(xùn)練方式,其支持目前各類高人氣深度學(xué)習(xí)框架,包括TensorFlow、Keras、PyTorch以及Apache MXNet等。
Uber方面還擴(kuò)展了百度公司在多GPU上實現(xiàn)的分布式訓(xùn)練成果。百度最初的方案強(qiáng)調(diào)了將標(biāo)準(zhǔn)高性能計算技術(shù)引入深度學(xué)習(xí)這一基本想法。
Horovod還與英偉達(dá)集合通信庫(NCCL)相集成,用以支持跨多個GPU與多臺機(jī)器的深度學(xué)習(xí)模型分布式訓(xùn)練。Horovod公開的API能夠與各類主流深度學(xué)習(xí)框架共同配合使用。
Uber的Horovod項目目前以開源形式通過Github 公開交付。
>>>Ludwig——無代碼深度學(xué)習(xí)工具箱
Ludwig 是Uber旗下最有趣的機(jī)器學(xué)習(xí)項目。這是一套開源深度學(xué)習(xí)工具箱,以TensorFlow為基礎(chǔ)構(gòu)建而成,允許用戶有無需編寫代碼的前提下實現(xiàn)深度學(xué)習(xí)模型的訓(xùn)練與測試。
Ludwig是一套AutoML平臺,其提供一組模型架構(gòu)集合;用戶可以將這些架構(gòu)組合起來,從而為特定用例創(chuàng)建端到端模型。該工具箱要求將數(shù)據(jù)集格式化為一個逗號分隔值(CSV)文件,外加一個用于對特征、標(biāo)簽以及訓(xùn)練參數(shù)進(jìn)行描述的YAML文件。Ludwig還提供一個簡單的Python API,允許開發(fā)人員借此實現(xiàn)模型的訓(xùn)練或加載,以及獲取關(guān)于新數(shù)據(jù)的預(yù)測結(jié)果。
該工具箱支持文本分類、機(jī)器翻譯、情緒分析、圖像分類、圖像字幕用例以及其它多種場景。
Ludwig在構(gòu)建之初即考慮到可擴(kuò)展性原則,基于數(shù)據(jù)類型抽象,能夠輕松添加對新數(shù)據(jù)類型以及新模型架構(gòu)的支持。從業(yè)者可以利用它快速訓(xùn)練并測試深度學(xué)習(xí)模型,允許研究人員通過強(qiáng)大的基準(zhǔn)進(jìn)行性能比較,并提供實驗設(shè)置選項以通過執(zhí)行標(biāo)準(zhǔn)數(shù)據(jù)預(yù)處理及可視化確??杀容^性。
Ludwig開源項目已經(jīng)在 Github上公開發(fā)布。
好文章,需要你的鼓勵
新加坡國立大學(xué)研究團(tuán)隊開發(fā)了SPIRAL框架,通過讓AI與自己對弈零和游戲來提升推理能力。實驗顯示,僅訓(xùn)練AI玩簡單撲克游戲就能讓其數(shù)學(xué)推理能力提升8.6%,通用推理提升8.4%,且無需任何數(shù)學(xué)題目作為訓(xùn)練材料。研究發(fā)現(xiàn)游戲中的三種推理模式能成功轉(zhuǎn)移到數(shù)學(xué)解題中,為AI訓(xùn)練提供了新思路。
同濟(jì)大學(xué)團(tuán)隊開發(fā)的GIGA-ToF技術(shù)通過融合多幀圖像的"圖結(jié)構(gòu)"信息,創(chuàng)新性地解決了3D相機(jī)噪聲問題。該技術(shù)利用圖像間的不變幾何關(guān)系,結(jié)合深度學(xué)習(xí)和數(shù)學(xué)優(yōu)化方法,在合成數(shù)據(jù)集上實現(xiàn)37.9%的精度提升,并在真實設(shè)備上展現(xiàn)出色泛化能力,為機(jī)器人、AR和自動駕駛等領(lǐng)域提供更可靠的3D視覺解決方案。
伊利諾伊大學(xué)研究團(tuán)隊通過對比實驗發(fā)現(xiàn),經(jīng)過強(qiáng)化學(xué)習(xí)訓(xùn)練的視覺語言模型雖然表現(xiàn)出"頓悟時刻"現(xiàn)象,但這些自我糾錯行為并不能實際提升推理準(zhǔn)確率。研究揭示了AI模型存在"生成-驗證差距",即生成答案的能力強(qiáng)于驗證答案質(zhì)量的能力,且模型在自我驗證時無法有效利用視覺信息,為AI多模態(tài)推理發(fā)展提供了重要啟示。
MIT等頂尖機(jī)構(gòu)聯(lián)合提出SparseLoRA技術(shù),通過動態(tài)稀疏性實現(xiàn)大語言模型訓(xùn)練加速1.6倍,計算成本降低2.2倍。該方法使用SVD稀疏性估計器智能選擇重要計算部分,在保持模型性能的同時顯著提升訓(xùn)練效率,已在多個任務(wù)上驗證有效性。