TensorFlow中國研發負責人李雙峰:TensorFlow從研究到實踐

比如我們可以用TensorFlow.js來實現吃豆人遊戲,電腦攝像頭捕捉你的頭像,來控制吃豆人的移動。這一切都運行在瀏覽器當中。

分佈式TensorFlow

TensorFlow的分佈式執行對於大規模的模型非常重要。TensorFlow 可以很方便地實現數據並行工。舉個例子:你可以寫一個Cluster的描述文件,分配哪些是計算資源“worker”,哪些是參數的服務器“ps”,這樣可以在我們定義圖的時候可以把這些計算分配在不同的設備上,進行分佈式的執行。

更進一步,谷歌支持了開源的Kubernetes項目,來管理大規模計算資源,它被業界廣泛採納,特別是一些雲平臺。而為了更好地讓機器學習運行在大規模集群上,谷歌也帶頭推動了KubeFlow的項目,大家可以關注。

而在Benchmarks方面,谷歌也公開了測試的程序。我們可以看到TensorFlow系統的可擴展能力非常強,基本上機器的數量和能力是線性正相關的。

在最近一個月,公司也發佈了一個MLPerf,便於大家公開地比較機器學習的性能,這樣可以推進產業的發展。

TF Hub

TensorFlow中國研發負責人李雙峰:TensorFlow從研究到實踐

為了更好的促進模型共享,我們發佈了TensorFlow Hub (TF Hub)。例如,一個人設計機器學習模型,他可以從Github中找到不同的模型,進行組合,從而形成更強大的能力。

我們可以看到,一個模塊包含了訓練好的權重和圖,這就是一個簡單的模型,我們可以將這個模型組裝,重用,或者再訓練。

目前我們已經公開了很多模型,包括圖像,語言相關等等,這些都需要大量的GPU訓練才能得到。開發者可以在這些基礎上,做一些遷移學習的工作,用很小的代價,就可以利用現有的模型幫助解決自己的問題。

tf.data

另外一個是關於提高機器學習的技巧,叫tf.data。舉個例子,在CPU上,訓練速度是很大的限制,但當我們加上GPU後,訓練速度就得到了極大的提升,但是CPU輸入變成了一個瓶頸。數據需要做一些轉換使得可以加載,進行訓練。

大家知道,計算機體系結構研究中一個主要的問題是如何加速並行化,而提高CPU和GPU的運行效率,是提高機器學習系統很重要的問題。而tf.data提供了一系列工具,幫助開發者更好的並行地輸入和處理數據。

更進一步,和TensorFlow 訓練相關的Packages/Features還有很多,例如Estimators, Feature Engineering, XLA, TensorFlow Serving等等,這些可以在很多行業上都可以得到方便的應用。

TFX

當構建一個真實的端到端的機器學習系統時,除了上面討論的核心機器學習算法之外,還有大量相關係統需要構建,比如數據的獲取,數據的分析,模型部署,機器學習資源管理等等問題。

谷歌內部有一個大規模的系統TFX (TensorFlow Extended),它是基於TensorFlow的大規模部署的機器學習平臺,相關論文已經發表在2017年的KDD。目前我們已經開源了一些重要的部件,更多的部件開源正在進展當中,做產業界的朋友可以關注下。

第五部分:TensorFlow在中國的發展

最後,談談TensorFlow在中國的發展。

基本上,我們看到中國領先的技術公司大都在使用TensorFlow,來解決多種多樣的問題,比如:廣告推薦、點擊預測,OCR,語音識別,自然語言理解等等。包括很多家知名公司,像京東,小米,網易,搜狗,360,新浪,聯想等等;也包括很多的創業公司,比如知乎,出門問問,雲知聲,Kika,流利說等等。

京東使用TensorFlow來進行包裝的OCR,應用到了圖像,語音和廣告等多個領域,並建立了高效的內部機器學習平臺。

小米使用TensorFlow,並藉助Kubernetes來管理集群,建立分佈式學習系統,來幫助小米內部和生態鏈業務。

網易使用了TensorFlow Lite來做文檔掃描應用,並用TensorFlow來做機器翻譯。

360使用了TensorFlow來進行短視頻的分析,也建立了相關內部機器學習平臺。

還有一些研究機構,比如清華大學的朱軍老師,將貝葉斯網絡和深度學習結合起來,開源了基於TensorFlow的系統,叫“珠算”。

另一個例子也是來自清華大學,開源了一些基於TensorFlow的知識圖譜工具。

在中國,TensorFlow社區活動非常豐富。比如,這是Jeff Dean和TensorFlow中國開發者視頻互動的場景。另一個是我們在重慶的一個活動,支持教育部產學合作協同育人項目,有上百位大學老師參加,我們希望培訓更多大學老師來教機器學習。

更多官方中文文檔,可以訪問:https://tensorflow.google.cn/

不久前,我們還開源了Google內部使用的兩天機器學習速成課程(MLCC),過去幾年大量Google工程師學習了該課程。大家可以訪問:https://developers.google.cn/machine-learning/crash-course/

你也可以加入TensorFlow中文社區,訪問tensorflowers.cn,和業界一起來學習和探討TensorFlow技術。

TensorFlow社區的基本理念是:開放,透明,參與。

我們希望儘量開放,所以發佈了TensorFlow的開發路線圖,使技術更加透明化,增加社區人員的參與感,共同推動技術的發展。Google內部使用的Tensorlow也和外部也一樣,我們每週都在不斷同步。

在這個開放的社區裡,不管是初學者,研究者還是產業界開發者,每個人都可以分享自己的問題,發佈自己的代碼、數據和教程,幫助其他社區成員,組織線下技術小組聚會等等。更一步,可以申請成為谷歌開發者專家(GDE)榮譽稱號。

Q&A

TensorFlow中國研發負責人李雙峰:TensorFlow從研究到實踐

TensorFlow作為一個機器學習的平臺,那其在未來發展上,大概有哪些方向呢?

我們公開了Tensorlow開發路線圖,大家可以在下面網站找到:https://tensorflow.google.cn/community/roadmap。

另外,也可以加入相關興趣小組,給Tensorlow提出發展建議。

總結而言,我覺得有以下幾個方向:

1、 快。我們持續不斷地進行優化,更好的分佈式執行,針對各種新的硬件進行優化,以及在移動端更快的執行,等等。

2、 簡單、可用性。追求效率,容易上手。一方面我們讓高層API更好用,讓Keras API和Eager Execution更好用。另一方面,我們提供更多的工具集,以及參考模型,便於開箱即用。

3、 移動性。移動方面我們發佈了TensorFlow Lite,它所能支持的模型和性能在不斷提升當中。我們也發佈了TensorFlow.js,進一步促進了無處不在的AI。

4、 完整性。我們發佈了TensorFlow Hub,希望促進模型共享和重用。另一方面,Google內部大規模產品環境中所使用的TFX系統也在開源當中。我們希望進一步減少開發者構建端到端的完整的機器學習系統所遇到的挑戰。

5、推動機器學習的發展,共享,加速研究。我們很期待通過TensorFlow社區,大家一起協作,去解決世界上最難的問題,比如醫療等造福人類的重大問題。

基於TensorFlow這個平臺,極大的降低了深度學習的難度,那麼是不是稍微懂技術的人,經過一些學習和打磨,就可以藉助這個平臺做深度學習或者AI相關開發,還是說背後還需要很多工作才能成為這方面的人才?

首先這是TensorFlow的設計目標,讓儘可能多的人能用上深度學習技術,嘗試新的研究想法,做產品,解決難題。

這樣一方面可以推動深度學習技術的發展,加快很多方面的AI應用。而這些AI應用,更需要擁有廣闊背景的眾多開發者來一起推動。

另一方面,從簡單地用到一些模型,到比較專業的深度優化,還是有不少距離。如果你只是達到平均水平,付出可以比較少,但要達到更高水平的突破,還需要很多的經驗。

大家需要有一點工匠的精神,對問題的理解程度,參數的調節,數據的清洗和處理等等,這些都是需要積累的。

我們希望可以降低TensorFlow使用的難度,也提供一系列的工具集來輔助用戶,希望可以讓初級用戶更多的探索應用場景,而高級用戶可以做更多的前沿科技研究。

深度學習融入Google的每一個部門,那麼每一個部門都會因為AI產生效應嗎?有沒有什麼意想不到的效果?

我個人的感受是,加入了深度學習,確實帶來了很大的突破。像機器翻譯,語音,自然對話,圖片翻譯,搜索排序,廣告預估等等,Google的眾多產品都有深度學習的深刻影響。

機器學習,深度學習這些年發展的很快,從技術到應用,在未來幾年在哪些地方會有一些突破?

個人認為:無人駕駛領域,醫療診斷方面,還有,比如語言對話方面,讓人充滿期待。我個人更期待AI能推動人類重大問題上的發展,比如農業,環境,教育,跨語言的自由交流等等方面,希望可以藉助TensorFlow獲取突破的契機。

Google中怎麼平衡研究和產品,到底是誰在推動誰往前走?大家是做自己喜歡的課題呢還是由需求來驅動做一些實用的研究?

研究是基於真實的問題,而產品化緊密協作,把研究成果落實到產品上去,並且獲得真實世界的大量反饋,這是一個快速迭代的過程。研究和產品是比較緊密的結合過程,可以由真實問題的驅動去尋找解決方案。某種意義上,Google的工程師,混合了研究和產品的角色,既要研究問題,也要實現產品。

下期預告

下週三是創新工場技術副總裁、AI工程院副院長王詠剛老師授課。

感興趣的小夥伴可以添加

量子位小助手7:qbitbot7,備註“北大”,通過後可進入課程活動群,獲取每期課程信息,與其他小夥伴互動交流。

祝大家聽課愉快~

學習資料

在量子位(QbitAI)界面回覆“北大AI公開課”,即可獲得公開課往期視頻觀看通道。

誠摯招聘

վ'ᴗ' ի 追蹤AI技術和產品新動態


分享到:


相關文章: