“我們之所以推出Analytics Zoo這樣的大數據分析和人工智能平臺,就是希望讓用戶在實際的生產環境中可以更方便地構建深度學習應用,將不同的模塊、不同的框架統一到端到端流水線上,從而大幅提升客戶開發部署大數據分析和深度學習的能力。”英特爾高級首席工程師、大數據技術全球CTO戴金權說。
已供職英特爾近17年的戴金權如今負責領導英特爾全球(硅谷和上海)工程團隊高級大數據分析的研發工作,以及與全球研究機構(如UC Berkeley AMPLab、RISELab等)的技術合作,是BigDL和Analytics Zoo項目的創始人。
英特爾高級首席工程師
大數據技術全球CTO戴金權
為了幫助客戶在數據的海洋中抓住商業價值,并且讓這一過程通過更加智能化的手段變得簡單易用,英特爾在底層架構和軟件堆棧領域一直在持續投入。在2019全球人工智能技術大會上,戴金權分享了英特爾構建大數據分析+AI平臺背后的思考和實踐,而兩大開源項目BigDL、Analytics Zoo可謂是其中的代表。
BigDL是一個建立在大數據平臺之上原生的分布式深度學習庫,某種程度上類似Tensorflow、Caffe等DL框架,提供了在Apache Spark上豐富的深度學習功能,以幫助Hadoop/Spark成為統一的數據分析平臺,為整個數據分析和機器學習過程提供比現有框架更加集成化的支持。Analytics Zoo則是在Apache Spark、BigDL以及TensorFLow、Keras的基礎上構建的大數據分析+AI平臺,大幅降低用戶開發基于大數據、端到端深度學習應用的門檻。
生產環境面臨數據難題
《連線》雜志創始主編Kevin Kelly曾說:“大數據時代,沒有人能夠成為旁觀者,數據將‘橫掃一切’。”隨著萬物互聯時代的到來,數據對于客戶需求的指導性意義愈發凸顯,如何采集、傳輸、存儲、分析、處理數據成為各行各業攫取數字經濟紅利的必備技能,可以說“數據在哪里,生意就在哪里”。
而英特爾所做的事情,就是讓這一切變得簡單高效。“如今深度學習、人工智能的應用場景更加廣泛,要處理的數據也更加復雜,所以要構建端到端的大數據處理分析加上機器學習、深度學習的統一流水線。”戴金權說。
不過要做到這些并不容易,當前的生產系統中基于Apache Spark這樣的大數據集群仍是生產數據和大量硬件資源的聚集地,這樣生產資料和生產工具要通過AI應用串聯起來。同時,工業級的分析平臺需要對數據收集/導入/處理、特征提取、模型訓練、部署、推理等一系列的復雜工作流做出響應,難度可想而知。
從架構角度來看,很多獨立的深度學習框架與大數據平臺的架構存在差異,例如前者對高性能有著格外的要求,后者更注重于橫向擴展,這樣一來就需要在一個通用的大數據平臺上將不同的分布式深度學習系統統一兼容起來。此外,無論是利用Spark還是像Flink這樣的流處理框架,都要將數據處理的流水線和深度學習相互連接,在數十甚至是數千個節點的集群上提升計算效率和可擴展性。
從生產角度來看,像工業大數據在構建數據倉庫時往往會面對高達數百個KPI的流程處理,而且不同企業所面臨的數據類型和需求也是千差萬別,例如有些偏向對圖像或視頻數據的建模、訓練、推理,需要很多的卷積神經網絡優化(CNN),而有些則是時序數據,要收集設備每秒鐘的振動頻率,并對這些數據進行循環神經網絡(RNN)的分析。
由此引發出來的兩個挑戰,一是要手動把不同框架整合起來,二是用戶在處理數據時不再是單機環境,而是要在大規模分布式環境、甚至是生產環境中操作。
戴金權談到,無論是阿里云、騰訊云等CSP廠商,還是硬件OEM廠商、軟件提供商,其主要訴求都是希望將深度學習等AI框架和模型應用于數據在生產系統上跑起來,這也是客戶使用Analytics Zoo的一個重要原因,“我們可以幫助用戶將大數據分析+AI應用在端到端的流水線上輕松構建出來,它可以從PC終端運行到集群、生產環境當中,這是我們在底層Analytics Zoo所做的工作。”
端到端的一致性體驗
在Analytics Zoo之下,英特爾集成了豐富的深度學習框架和庫,可以隨時調用OpenVINO工具包、MKL-DNN等各種深度學習加速指令。同時,英特爾在上層也提供了高級的流水線API用于構建端到端的應用,以及深度學習模型,對圖片、文本、時間序列數據等不同類型的對象提供支持,用戶可以直接將內嵌的模型嵌入到解決方案中。
舉例來說,英特爾可以將TensorFlow和Apache Spark整合到端到端的流水線中,讓TensorFlow無縫接受Apache Spark處理的數據,并且對用戶透明,以分布式的方式運行在大數據集群上。此外,還提供了像基于標準JAVA 、Python、Web Server、深度學習尤其是視覺方面的神經網絡加速,幫助用戶更方便地部署到網絡服務器上,幫助用戶更好地構建模型和開展服務。
這一過程中,英特爾不僅在性能層面圍繞BigDL、Analytics Zoo做了大量優化,還有效解決了可編程性的問題,使得用戶可以在Spark代碼中嵌入TensorFlow代碼,省去了不同框架之間反復調試等復雜的流程。在可擴展性和部署方面,開發人員可以直接在大規模數據平臺進行作業,這里就發揮了Analytics Zoo在大規模分布式、流式、批處理時的特性。
“我們可以支持各種不同的深度學習框架,比如要是原來有Caffe的模型,可以直接通過BigDL、Analytics Zoo加載到Spark運行,然后對HBase讀取數據,這個天然就是Spark可以做的事情。后面深度學習的模型通過BigDL、Analytics Zoo的功能,可以透明、無縫的與大數據處理相結合,整個開發過程是非常簡單的。”戴金權表示,“所有分布式的任務、數據的分割、負載均衡,出錯后如何處理,這些事情不再需要開發人員來擔心,完全可以交給大數據平臺來做,效率能夠大幅提升。”
Analytics Zoo支持多種AI框架和庫
即將發布的0.5.0版Analytics Zoo,英特爾會結合傲騰數據中心級持久內存等新的硬件平臺對軟件算法進行支持和優化,如Spark RDD的緩存機制在內存中計算訓練數據可以實現降本增效、VNNI指令集可以大幅提升AI性能。框架語言多元化方面,英特爾除了會支持PyTorch,還將加入對像RISELab的Ray等最新框架的支持。
智能化改造效果顯著
一直以來,英特爾都在與開源社區用戶,以及多個合作伙伴和客戶開展廣泛合作,包括京東、UCSF、Mastercard、寶信軟件、世界銀行、Cray等,以構建基于Apache Spark的深度學習 和人工智能應用,而BigDL和Analytics Zoo將端到端的開發和部署體驗更進一步。例如在京東,雙方基于Spark和BigDL的深度學習技術在搭建大規模圖片特征提取框架上進行了合作。
京東電商平臺的圖像信息數以億計,分布在大規模的HBase集群中,過去要使用Caffe將訓練出來的模型放在GPU集群上,如果想把流水線串聯起來就要通過人工的方法把數據從HBase讀出來后對圖片預處理,再返回給GPU集群進行推理,如此反復數次后將得到的數據再次手動整合起來,開發運行效率和部署方式都存在問題。
對此,英特爾認為應該將讀取、處理、神經網絡推理、數據處理和存儲等全流程統一到一個流水線上進行,并且可以直接運行再大數據集群上,進而大幅提升端到端的效率。“京東做過測試,當他們把原來的方案整體遷移到Spark BigDL這樣一個完整的流水線上 (基于CPU)之后,端到端的運行效率提高了3、4倍。”戴金權說。
基于BigDL的圖像特征提取
K40和Xeon在圖片特征提取流水線的吞吐量比較
與寶信軟件的合作,雙方則是在深度學習的基礎上探索出了設備智能維護的新方向。在工業制造行業,通常對由設備失效導致的生產中斷問題,所給出的解決方法是定期檢修維護或者提前更換設備零部件,成本居高不下。
在英特爾的幫助下,兩家公司開發了設備故障自動預測的驗證模型,該模型基于公開的設備全生命周期數據,利用RNN和LSTM,實現了時間序列的異常檢測,可以借助無監督深度學習和建模對設備下一時刻的運行健康狀況進行預判,降低了額外的設備維護成本。
在和這些行業客戶聯合研發的過程中,英特爾也切實看到了場景應用的痛點所在,那就是盡管企業在深度學習、機器學習的技術研發上投入頗多,但怎樣將這些創新融入實踐環境,尤其是大規模的大數據生產系統,在軟硬件架構的支持和優化上存在不小的缺陷,而這一“斷層”就是英特爾致力于去彌合的,方法即是利用開源和軟硬結合的路徑。
Analytics Zoo與底層硬件的優化,并且可與CSP的產品無縫協作
軟件與開源的新高度
就像英特爾首席架構師,英特爾公司高級副總裁兼架構、圖形與軟件部門總經理Raja Koduri所說的:“對于全新硬件架構的每一個數量級的性能提升潛力,軟件能帶來超過兩個數量級的性能提升。”這樣的例子比比皆是,戴金權以Cascade Lake上的VNNI深度學習加速指令為例,通過在底層的軟硬件協同優化,可根據不同DL框架將推理性能加速2-3倍甚至更多。
在英特爾的軟件生態中,活躍著超過1200萬名開發者,為了讓開發者利用通用工具集實現應用性能的指數級擴展,英特爾推出了“One API”項目,以簡化跨CPU、GPU、FPGA、人工智能和其它加速器的各種計算引擎的編程,該項目包括一個全面、統一的開發工具組合,可以將軟件匹配到能最大程度加速軟件代碼的硬件上,從而讓英特爾的計算架構釋放出更高的性能和效率。
戴金權表示:“無論是基于至強(可擴展處理器)的服務器,還是像Movidius、FPGA,神經網絡處理器,包括將來的獨立顯卡,都可以通過One API下面的底層生態系統來給上層的平臺和應用所使用。”
為了讓用戶在x86平臺上獲得更優質的體驗,英特爾一直都在致力于軟件的創新,開源更是英特爾軟件生態策略的重要體現,不僅對TensorflowPyTorch、MXNet、PaddlePaddle等AI框架進行了大量優化,自己也開源了BigDL、Analytics Zoo、OpenVINO、MKL-DNN、nGraph等項目,戴金權本人更是Apache Spark項目的創始委員和項目管理委員會委員、Apache MXNet項目導師。
此外,在前不久的英特爾開源技術峰會(Intel Open Source Technical Summit,OSTS)上,筆者看到了高性能集成開源軟件棧Deep Learning Reference Stack與企業分析、分類、識別和數據處理工具Data Analytics Reference Stack的發布,這些都是英特爾為了融合從框架、庫、OS、VM等軟件到硬件平臺優化體驗所做出的努力。
或許是因為英特爾在半導體領域的地位過于強勢,外界常常忽視其在軟件和開源領域的成績。事實上,英特爾擁有超過15000名軟件工程師,軟件布局橫跨數據中心基礎設施、操作系統、產品開發、ISV、工具/SDK、云計算、物聯網、AI、HPC、邊緣計算等領域。
過去的6個月時間里,英特爾在軟件領域取得了數百項成果,包括從JDK8到JDK9,將現有硬件的性能提升6倍;結合內存層級架構,加上軟件棧技術,通過傲騰+軟件的方式將工作負載的性能提升8倍;利用DL Boost等架構擴展,使得從Skylake升級到Cascade Lake之后,相比上一代硬件提速28倍……這一系列的表現若是從硬件的角度看都是數代的硬件性能提升。
這一切的背后都在印證,軟硬結合、開源協作已經變得越來越重要。正如戴金權在采訪中對筆者所說的:“如果想實現指數級的增長,必須要硬件和軟件共同創新。軟件社區和硬件社區相互交流,并真正去思考彼此的問題,這比以往任何時候都更加關鍵。”
-
英特爾
+關注
關注
60文章
9886瀏覽量
171528 -
AI
+關注
關注
87文章
30146瀏覽量
268421 -
大數據
+關注
關注
64文章
8863瀏覽量
137300
原文標題:英特爾如何破解AI時代的大數據難題?
文章出處:【微信號:robotplaces,微信公眾號:機器人創新生態】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論