LinkedIn 開源 TonY:在 Hadoop 上運行 TensorFlow 的框架
LinkedIn公司近日向開源社區捐贈了另一個內部創建的軟體項目。
現在隸屬微軟的這家公司在貢獻開源軟體方面有著悠久的歷史,包括像Apache Kafka及其最新的Dynamometer工具這些熱門項目。它的最新項目名為「TensorFlow on YARN」(簡稱「TonY」),旨在幫助將開源TensorFlow機器學習框架與存儲在Apache Hadoop中的數據連接起來。
TensorFlow是谷歌在2015年發布的一個開源軟體庫,它讓開發人員更容易設計、構建和訓練深度學習模型。它之所以是最受歡迎的機器學習框架之一,是由於它可以訓練和運行面向手寫數字分類、圖像識別和單詞嵌入的深度神經網路、遞歸神經網路以及序列到序列模型,用於機器翻譯和自然語言處理等其他任務。
Hadoop是一種分散式處理軟體框架,可以為「大數據」應用管理數據處理和存儲。它是一個不斷發展壯大的生態系統的核心,該生態系統涵蓋的大數據技術主要用於支持高級分析項目,包括預測分析、數據挖掘和機器學習等應用。
LinkedIn的軟體工程師Jonathan Hung在博文中表示,該公司構建TonY的初衷是,它越來越依賴深度神經網路來支持其網站上的一些功能,包括新聞源(news feed)和智能回復。
LinkedIn面臨的問題是,許多這些功能是使用TensorFlow構建的,而TensorFlow缺少連接Hadoop集群的一種可靠方式,以便使用該數據來訓練演算法。
Hung說:「我們的Hadoop集群上存儲了可用於深度學習的數百PB的數據,因此我們需要一種易於擴展的方式來處理所有這些信息。」
TensorFlow已經在支持「分散式訓練」,這種技術對於處理龐大數據集(如存儲在Hadoop中的數據集)非常有用。Hung解釋,但是LinkedIn面臨的主要問題是,這個過程需要手動編排,這「不是一件易事」,也不是大多數數據科學家有能力做的事。
於是Hung及其團隊著手開發TonY,以便自動化處理這項任務。Hung表示,該軟體的工作方式類似MapReduce支持在Hadoop上運行Apache Pig或Apache Hive腳本,可處理「資源協商和容器環境設置」之類的任務。
TonY架構圖
TonY提供了許多功能,有助於改進神經網路的分散式訓練工作,包括GPU調度以更好地管理資源、支持TensorBoard因而更容易調試和優化TensorFlow程序以及更好的容錯能力,那樣一旦出現任何問題,用戶可以從之前保存的檢查點恢復訓練狀態。
Constellation研究公司的分析師霍爾格?穆勒(Holger Mueller)表示,TonY堪稱開源貢獻的一個典範,因為它解決了將TensorFlow連接到Hadoop這個關鍵問題,同時表明了為什麼其他開源項目不太合適。
穆勒說:「LinkedIn給了TonY一個很好的使用場景,並讓人相信這是一個切實可行、得到支持的開源項目。它對於希望使用TensorFlow為下一代應用軟體提供支持的企業高管們來說很重要,因為數據已經在Hadoop中。它將Hadoop中的「數字化排放」(digital exhaust)與最流行的深度學習神經網路之一結合起來。」
企業高管們考慮的另一個方面是,TonY由現在是微軟旗下的LinkedIn開發,所以他們大可放心:從長遠來看TonY會繼續得到支持。
穆勒補充道:「這給了許多企業莫大的信心,即萬一遇到重大情況,它們能有某種依賴。」
LinkedIn表示開源TonY,是為了讓有興趣在Hadoop上運行分散式機器學習的其他人可以使用該項目,並做出貢獻。今天開始TonY可從GitHub下載。


※中興通訊選舉李自學任董事長
※又一個 AI 預測世界盃冠軍是「德國」
TAG:雲頭條 |