新聞中心

        EEPW首頁 > 智能計算 > 業界動態 > 機器學習如何改變未來十年軟硬件

        機器學習如何改變未來十年軟硬件

        作者: 時間:2017-08-29 來源:量子位 收藏
        編者按:摩爾定律放緩,使得我們得以重新進入“架構的黃金年代”,見證各式各樣芯片和指令集的飛速發展。

          最近,Google Brain員工,TensorFlow產品經理Zak Stone在硅谷創業者社群South Park Commons上做了個講座,談到了TensorFlow、XLA、Cloud TPU、TFX、TensorFlow Lite等各種新工具、新潮流如何塑造著的未來。同時,他還暗示了一些還未向公眾披露的exciting的事兒。

        本文引用地址:http://www.104case.com/article/201708/363672.htm

          講座的題目叫“Tensor Flow, Cloud TPUs, and ML progress”,以下是整個講座的概要,量子位編譯整理自South Park Commons官方博客。

          作為一個平臺來說,TensorFlow算是一場豪賭:它兼顧了快速,靈活,還可用于生產。實驗和執行之間的轉換要足夠快,才能保證工程生產力,靜態圖像計算通過Python等高級靈活的語言來表示,同時圖編譯允許對特定目標進行準確度優化。


          作為一個開源項目,TensorFlow極為成功,它從2015年11月發布至今在Github上已經獲得了超過20,000個commit。Github版的TensorFlow每周與Google內部鏡像文件之間至少會進行一次雙向同步,同時TensorFlow也收獲了來自Intel,Microsoft,IBM,Rstudio,Minds.ai以及其他公司研發團隊的大大小小的貢獻。

          為了更好地觸及用戶,能夠在移動端上提高運行TensorFlow模型效率的TensorFlow Lite將會在今年晚些時候內嵌到設備中,而像是XLA這樣的項目更具野心:XLA使用深度學習來支持線性代數元的先時和實時編譯,從而為任意的目標后端系統生成加速過的代碼。XLA的目標是在遞階優化上實現重大突破,不僅是在GPU架構上,而是要在任意能夠平行放置線性代數元的架構上實現突破。  

          谷歌內部,在CEO Sundar Pichai要成為“AI-first”公司的號召下,TensorFlow被應用到非常多的項目當中。

          而加速研發基于軟件的趨勢不僅在Google身上發生,亞馬遜,蘋果,百度,Facebook,微軟,Salesforce,Uber,Lyft等幾乎所有的主流科技企業,都雇傭了專業的研發團隊來推動的工業化。而在這些公司中,深度學習的開發平臺也是五花八門,其中包括來自Facebook的PyTorch和Caffe2,來自Microsoft的CNTK,來自Apple的Core ML以及來自Amazon的MXNet等。

          機器學習的崛起,意味著原來的clean abstraction和模塊化設計正在被高維浮點張量和高效矩陣乘法所取代。

          按這種趨勢發展下去,軟件工程行業將徹底改變。

          Google軟件工程師D. Sculley曾寫過一篇題為“Machine Learning: The High-Interest Credit Card of Technical Debt”的文章,他在其中列舉出了機器學習系統促進低劣軟件設計的種種可能,甚至會使這些低劣的設計成為必須。他提到,“這些系統的基本代碼跟正常代碼擁有相同的復雜度,但在系統層面上擁有更大的復雜度,從而可能引發潛在的風險。”

          機器學習系統通過將所有系統輸入緊密耦合,模糊了模型邊界和抽象:理想的行為不變性不是來自軟件邏輯,而是來自于驅動它們的特定外部數據。盡管存在通過靜態分析和圖連接來辨別代碼可靠性的工具,但總體上,這些工具并沒有辦法用來分析數據的相關性。

          D Sculley等人在文章中討論了幾種系統設計中的劣勢,很能與相關從業者產生共鳴:

          1. Glue Code(粘滯的代碼)系統設計樣式,“在這其中需要寫大量的支持代碼負責把數據傳入、傳出各種用途的安裝包”;

          2. Pipeline jungles(亂七八糟的流水線),它會隨時間有機地演變,數據準備系統“可能會變成由scape,join和sampling步驟組成的一團亂麻,通常還伴隨著中間文件的輸出”;

          3. Configuration debt(龐大的編譯代價),將會隨著系統和生產線的研發而逐漸累積,集合了“各種編譯選項,包括使用的特征有哪些,怎樣篩選數據,特定學習算法的設置(范圍很寬),潛在的預處理或者后處理,驗證方法等等。”

          即使在更小、更輕量化的項目中,工程師還會被以下這些問題困擾:

          1. 在實驗中模型架構和權重的版本——尤其是當模型從不同體系借來了部分與訓練模型,或者從其他模型借來了權重的時候。

          2. 數據來源和特征的版本;

          3. 在實驗環境和實際生產環境之間的遷移(domain shift);

          4. 監測生產中推斷的質量。

          解決這些問題的一個可能方案是TFX,它是一個Google內部研發的平臺,用來在生產中分布和供應機器學習模型:

          創造和管理一個可用于可靠地生產和部署機器學習模型的平臺,需要在很多部件之間進行細致編排——這些部件包括基于訓練數據生成模型的學習器、用于分析和驗證數據和模型的模塊、以及最終在生產工程中用于部署模型的基礎架構。當數據隨著時間變化且模型在連續更新時,平臺的管理就變得非常難。

          不幸的是,這些編排通常是在通過glue code和特定的腳本文件來有針對性的一一處理,導致了復制成本大、系統脆弱同時伴隨著大量的技術隱患。

          TFX標準化了這些過程和部件,并把它們整合到單個平臺上,從而簡化了平臺編譯的過程,在確保平臺可靠性、減少服務崩潰的基礎上,將制作的時間從數月減少到了數周。


          諸如英特爾旗下的Nervana、英偉達、Cerebras和Google等公司全都開始研發能夠加速機器學習中線性代數運算的下一代硬件架構。且在默認情況下,每種架構都需要獨特的、像cuDNN那樣的底層、手動優化基元庫。(cuDNN全稱是CUDA Deep Neural Network library,是NVIDIA專門針對深度神經網絡設計的一套GPU計算加速庫。)

          想打破這個趨勢,需要同行們在XLA等更普適的編譯器框架上下更多功夫。

          Google的TPU(Tensor Processing Units)目前最有可能打破GPU的統治。每個Cloud TPU能提供高達每秒180萬億次的浮點運算,64GB的超高帶寬存儲空間以及可串聯的特性。跟之前超級計算機的架構不同,TPU是從零開始設計,專門針對機器學習中常見的線性代數運算。

          TPU是與TensorFlow集成的,Google提供收費云端服務(Cloud TPU),同時通過TensorFlow Research Cloud(TFRC)項目,對想要提前使用TPU的機器學習專家進行補貼,提供1000個Cloud TPU,希望他們能通過論文和開源軟件來跟世界分享其研究成果。



          小結

          像TensorFlow這樣的圖計算和深度學習庫是未來計算行業發展背后的主要驅動力,這推動我們去重新審視系統架構,從硬件到編譯器再到更高級的程序語言和設計規范。

          于是,繁重的工作擺在了軟件架構師,工程師、研究人員等從業者面前,但同時這過程也很令人興奮。就像Zak在演講中所總結的一樣:

          我讀研究生的時候,這些驚艷的應用大都還不可能實現——當人們對機器學習技術習以為常,然后開始做一些我們現在預見不到的事情,會是什么樣呢?第一批TensorFlow原生的產品會是什么樣?”



        關鍵詞: 機器學習 芯片

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蒙山县| 闸北区| 牡丹江市| 绍兴市| 德清县| 曲麻莱县| 荃湾区| 惠来县| 阜宁县| 三亚市| 大理市| 三门峡市| 杭锦旗| 莱州市| 天门市| 浠水县| 勐海县| 香河县| 辽宁省| 浦北县| 乐安县| 河南省| 桐柏县| 舟山市| 杭锦旗| 宕昌县| 冷水江市| 扬中市| 南康市| 赤峰市| 苗栗市| 大姚县| 榆社县| 汉源县| 扎赉特旗| 沙雅县| 芜湖市| 筠连县| 时尚| 容城县| 宿州市|