服務熱線
0755-83647532
發表日期:2019-07-19 文章編輯: 閱讀次數:
2017 年 11 月 7 日,加州大學伯克利分校、德克薩斯大學和加州大學戴維斯分校的研究人員發表了他們的研究結果:在 CPU 上 31 分鐘(截至發表時間)訓練完 ResNet-50* 以及 11 分鐘訓練完 AlexNet*,使其達到一流的準確性,創造了紀錄。這些結果均在英特爾® 至強® 可擴展處理器(之前代號為 Skylake-SP)上實現。其中影響性能速度的主要因素包括:
1、英特爾至強可擴展處理器的計算和內存容量
2、面向深度神經網絡的英特爾® 數學核心函數庫(英特爾® MKL-DNN)和常用深度學習框架中的軟件優化
3、面向監督式深度學習工作負載的分布式訓練算法的最新技術成果
這種性能水平說明,英特爾至強處理器是實施深度學習訓練的理想硬件平臺。數據科學家現在可以采用現有的通用英特爾至強處理器集群執行深度學習訓練,并繼續將其用于深度學習推理、經典機器學習和大數據工作負載。他們可以使用 1 個服務器節點實現卓越的深度學習訓練性能,并使用更多服務器節點以近線性的方式擴展至數百個節點,進一步縮短訓練時間。
本文由 4 個部分組成,主要探討幫助實現創紀錄的訓練速度的三個主要因素,并提供多個使用英特爾至強處理器實施深度學習訓練的商業用例。雖然本文主要介紹訓練性能的提升,但前兩個因素也會顯著提升推理性能。
第 1 部分:英特爾至強可擴展處理器的計算和內存容量
訓練深度學習模型通常需要大量的計算。例如,訓練 ResNet-50 總共需要完成一千兆兆次 (1018) 單精度運算。支持高計算吞吐量的硬件如果能夠實現較高的利用率,可大幅縮短訓練時間。高利用率要求較高的帶寬內存和巧妙的內存管理,以使芯片保持繁忙的計算狀態。新一代英特爾至強處理器具備以下特性:大量處理器頻率較高的內核、高速系統內存、大量每內核中級高速緩存(MLC 或 L2 高速緩存),以及新 SIMD 指令,因此新一代英特爾至強處理器是訓練深度學習模型的理想平臺。在第 1 部分中,我們將回顧英特爾至強可擴展處理器的主要硬件特性,包括計算和內存,并對比英特爾至強可擴展處理器與前代英特爾至強處理器運行深度學習工作負載的性能。
2017 年 7 月,英特爾推出了基于 14 納米制程技術構建的英特爾至強可擴展處理器家族。英特爾至強可擴展處理器支持每路(多達 8 路)28 個物理內核(56 線程),處理器基礎頻率為 2.50 GHz,最大睿頻頻率為 3.80 Ghz,并支持 6 條內存通道和高達 1.5 TB 2,666 MHz DDR4 內存。最高端的英特爾至強鉑金 8180 處理器可在雙路系統上提供高達 199GB/秒的 STREAM Triad 性能a,b。至于插槽內數據傳輸,英特爾至強可擴展處理器推出了全新的超級通道互聯 (UPI) 技術,這種一致性互聯技術可取代快速通道互聯 (QPI) 并將數據速率增至每 UPI 端口 10.4 GT/秒以及雙路配置下多達 3 個 UPI 端口。
其他改進包括 38.5 MB 共享非包含式末級高速緩存(LLC 或 L3 高速緩存),即內存讀取直接填充至 L2,而非 L2 和 L3,以及每內核 1MB 專有 L2 高速緩存。英特爾至強可擴展處理器內核目前包含 512 位寬融合乘加 (FMA) 指令作為大型 512 位寬矢量引擎的一部分,以及每內核 2 個并行計算的 512 位 FAM 單元(之前由英特爾至強融核™ 處理器產品線推出)1。相比前代英特爾至強處理器 v3 和 v4(之前代號分別為 Haswell 和 Broadwell)的 256 位寬 AVX2 指令,這種 FMA 指令能夠顯著提升性能,支持訓練和推理工作負載。
英特爾至強鉑金 8180 處理器支持每路高達 3.57 TFLOPS (FP32) 和 5.18 TOPS (INT8)2。512 位寬 FMA 可將英特爾至強可擴展處理器提供的 FLOPS 增加一倍,并顯著加快單精度矩陣算法的速度。對比 SGEMM 和 IGEMM 性能,我們發現,相比前代英特爾至強處理器 v4,性能分別提升了 2.3 倍和 3.4 倍c,e。相比整個深度學習模型上的性能,我們發現,將英特爾® neon™ 框架用于 ResNet-18 模型,使用 FP32 時的訓練和推理吞吐量相比前代英特爾至強處理器 v4 分別提升了 2.2 倍和 2.4 倍d,f。
第 2 部分:英特爾 MKL-DNN 和主要框架中的軟件優化
軟件優化對實現較高的計算利用率和性能提升至關重要。英特爾優化的 Caffe*(有時稱為英特爾 Caffe)、TensorFlow*、Apache* MXNet* 和英特爾 neon 均面向訓練和推理優化。Caffe2*、CNTK*、PyTorch* 和 PaddlePaddle* 等其他框架的優化也正在進行中。在第 2 部分,我們將英特爾優化和未經英特爾優化的模型的性能進行了對比;介紹英特爾 MKL-DNN 庫如何幫助實現較高的計算利用率;探討英特爾 MKL 與英特爾 MKL-DNN 之間的區別;還將介紹為了進一步提升性能在框架層所進行的其他優化。
兩年前,由于軟件優化有限且計算利用率較低,英特爾® 處理器上的深度學習性能并未達到最佳。深度學習科學家誤以為 CPU 不適合運行深度學習工作負載。兩年來,英特爾一致努力優化深度學習函數,以實現較高的利用率,支持深度學習科學家使用現有通用英特爾處理器實施深度學習訓練。通過構建常用深度學習框架(該框架將自動默認下載和構建英特爾 MKL-DNN)時設置配置標記,數據科學家可充分利用英特爾 CPU 優化。
英特爾至強處理器與英特爾 MKL-DNN 相結合,可將性能提升超過 100 倍。例如,借助英特爾至強處理器 E5-2666 v3 上的 Apache MXNet(c4.8xlarge AWS* EC2* 實例)在 AlexNet*、GoogleNet* v1、ResNet-50* 和 GoogleNet v3 上跨所有可用 CPU 內核執行的推理分別實現了 111 倍、109 倍、66 倍和 92 倍的吞吐量提升。基于英特爾至強處理器 E5-2699 v4 上的 Caffe2 在 AlexNet 上跨所有 CPU 內核進行的推理實現了 39 倍的吞吐量提升。借助英特爾至強處理器 E5-2699 v4 上的 TensorFlow 訓練 AlexNet、GoogleNet 和 VGG* 分別實現了 17 倍、6.7 倍和 40 倍的吞吐量提升。借助英特爾至強可擴展鉑金 8180 處理器上的英特爾優化的 Caffe 和英特爾 MKL-DNN 跨所有 CPU 內核訓練 AlexNet,相比未借助英特爾至強處理器 E5-2699 v3 上的英特爾 MKL-DNN 的 BVLC*-Caffe,吞吐量提升了 113 倍d,g。圖 1 和圖 2 對比了英特爾至強處理器 E5-2699 v4 和英特爾可擴展鉑金 8180 處理器采用面向 TensorFlow 和英特爾優化的 Caffe 的英特爾 MKL-DNN 庫時的訓練和推理吞吐量。這些框架和其他框架的性能預計將隨著進一步的優化而得以提升。所有這些數據都使用 fp32 精度計算得出。我們將稍后添加數值精度較低的數據;低精度可提升性能。
這些優化的核心是英特爾® 數學核心函數庫(Intel® MKL)以及英特爾 MKL-DNN 庫。深度學習模型有很多種,而且看起來有很大的不同。但大多數模型都通過有限的構建模塊(稱為基于張量運行的基元)而構建。其中部分基元包括內積、卷積、修正線性單元或 ReLU、批處理標準化等,以及操縱張量所需的函數。這些構建模塊或低級深度學習函數已面向英特爾 MKL 庫中的英特爾至強產品家族進行了優化。英特爾 MKL 庫包含許多數學函數,其中一部分可用于深度學習。為了有針對性更強的深度學習庫,并與深度學習開發人員協作,英特爾在 Apache 2 許可下發布了英特爾 MKL-DNN,其中包含構建復雜模型所需的所有關鍵構建模塊。英特爾 MKL-DNN 支持行業和學術型深度學習開發人員分配這些庫,并提供新函數或改進后的函數。英特爾 MKL-DNN 預計在性能方面處于領先地位,因為所有最新優化都將率先用于英特爾 MKL-DNN。
深度學習基元在英特爾 MKL-DNN 庫中通過結合預取、數據布局、緩存模塊化、數據復用、矢量化和寄存器分塊策略,進行了優化。高利用率要求數據可隨時用于執行單元 (EU)。這要求在高速緩存中預取數據和復用數據,而不是從主內存中多次提取相同的數據。對緩存模塊化來說,目標是最大限度地提高適合高速緩存(通常在 MLC 中)的給定數據塊的計算率。數據布局連續安排在內存中,以便最內層循環中的訪問盡可能的連續,避免出現不必要的收集/分散操作。這樣可以提高緩存行(以及帶寬)的利用率,并提高預取程序的性能。循環模塊時,我們將模塊的外部維度限制為 SIMD 寬度的倍數,并讓最內層維度在數組 SIMD 寬度上循環,以支持高效矢量化。為了隱藏 FMA 指令的延遲,可能需要使用寄存器分塊3。
其他跨內核并行化對實現高 CPU 利用率非常重要,比如使用 OpenMP* 實現迷你批次的并行化。這要求改進負載均衡,以便每個內核都完成相同的工作量,并減少內核間的同步化事件。均衡、高效地使用所有內核要求給定層內實現額外的并行化。
這些優化可確保所有關鍵的深度學習基元,比如卷積、矩陣乘法、批處理標準化等,都高效矢量化為最新 SIMD,并跨內核實現并行化。英特爾 MKL-DNN 基元均在 C 中實施,并支持 C 和 C++ API 綁定,以最廣泛地應用于深度學習函數:
· 直接批量卷積
· 內積
· 池化:最大、最小、平均
· 標準化:跨通道局部響應歸一化 (LRN),批歸一化
· 激活:修正線性單元 (ReLU),softmax
· 融合基元:卷積+ReLU
· 數據操作:多維轉置(轉換)、拆分、合并、求和和縮放
· 即將推出:長短期記憶 (LSTM) 和門控循環單元 (GRU)
有多種深度學習框架,比如 Caffe、TensorFlow、MXNet、PyTorch 等??蚣軐拥男薷模ùa重新因子化)要求高效利用英特爾 MKL-DNN 基元??蚣苄⌒牡赜孟鄳挠⑻貭?MKL-DNN API 取代對現有深度學習函數的調用,以避免框架和英特爾 MKL-DNN 庫爭用相同的線程。在設置期間,框架管理從框架到 MKL-DNN 的布局轉換,并在相應的輸出輸入數據布局不匹配的情況下分配臨時陣列。為了提升性能,可能要求進行圖形優化以最大限度地減少不同數據布局之間的轉換,如圖 3 所示。在執行步驟期間,數據在 BCWH(批處理、通道、寬度、高度)這樣的平面布局中饋送到網絡中,并轉換為適用于 SIMD 的布局。當數據在層之間傳播時,數據布局被保留,并在需要執行英特爾 MKL-DNN 不支持的操作時進行轉換。
另外,當通過將插槽和內核分區為獨立的計算設備并在每個插槽中運行多個實例(每臺計算設備一個實例)來執行部分框架和工作負載時,內核利用率將會得到提升。Saletore 等人 介紹了 在不改變框架中任何一行代碼的情況下實施此方法的步驟。這些方法可基于現有軟件優化,將訓練和推理性能分別提升 2 倍和 2.7 倍。
第 3 部分:面向監督式深度學習的分布式訓練算法的技術成果
訓練大型深度學習模型通常需要耗費幾天,甚至幾周的時間。將計算要求分布于多個服務器節點可縮短訓練時間。但無論使用哪種硬件,都會遇到算法方面的挑戰,不過分布式算法近期所取得的進展可解決這些挑戰。在第 3 部分中,我們將回顧梯度下降和隨機梯度下降 (SGD) 算法,并介紹用大型迷你批次進行訓練的局限性;探討模型和數據并行化;回顧同步 SGD (SSGD)、異步 SGD (ASGD) 和全歸約/廣播算法;最后展示近期支持大型迷你批次 SSGD 訓練并幫助獲得顯著成效的最新進展。
在監督式深度學習中,輸入數據在模型中傳遞,輸出與地面真值或預期輸出進行對比。然后計算出懲罰或損失。訓練模型涉及調整模型參數以減少這種損失。有各種優化算法可用來最大限度地減少損失函數,比如梯度下降或隨機梯度下降、Adagrad、Adadelta、RMSprop、Adam 等變量。
在梯度下降 (GD)(亦稱最陡下降)中,由權重集合定義的特定模型的損失函數在整個數據集上計算。權重通過移至梯度的反方向而進行更新;即朝局部最小值移動:更新權重 = 當前權重 – 學習率 * 梯度。
在隨機梯度下降 (SGD) 中,更準確地稱為迷你批次梯度下降,數據集分為多個迷你批次。損失相對于迷你批次計算,而且權重使用與梯度下降相同的更新原則進行更新。還有許多其他變量,有的通過在與梯度相反的方向積累速度(稱為動量)而加快訓練過程,有的通過根據梯度的標準自動修改學習率,幫助數據科學家輕松選擇合適的學習率。有關這些變量的深入介紹可以在別處找到。
隨著迷你批次逐漸增大并在迷你批次大小等于整個數據集時變得相同,SGD 的行為接近 GD 的行為。GD 面臨三大挑戰(迷你批次很大時 SGD 也面臨這三大挑戰)。第一,每個步驟或每次迭代的計算成本都很大,因為要求在整個數據集上計算損失。第二,梯度接近零或曲率變化時,鞍點或鞍區附近的學習變慢。第三,根據英特爾和西北大學研究人員的研究,優化空間有多個尖銳最小值。梯度下降不探索優化空間,而是直接移至起點以下的局部最小值,它通常為尖銳最小值。尖銳最小值無法推廣。盡管測試數據集的整體損失函數與訓練數據集的類似,但尖銳最小值處的實際成本可能大不相同。圖 4 形象地展示了這種不同,測試數據集的損失函數稍稍偏移了訓練數據集的損失函數。這種變化導致匯合于尖銳最小值的模型產生較高的測試數據集成本,意味著該模型無法進行推廣給訓練集以外的數據。另一方面,匯合于平坦最小值的模型的測試數據集成本較低,意味著該模型可以推廣給訓練集以外的數據。
小迷你批次 SGD (SMB-SGD) 可解決這些問題。首先,使用 SMB-SGD 的計算成本不高,因此每次迭代的速度都很快。整個數據集通常進行多次迭代,而 GD 中只執行 1 次。在整個數據集上 SMB-SGD 要求的傳遞通常較少,因此訓練速度更快。第二,使用 SMB-SGD 時鞍點處不太可能出現堵塞情況,因為訓練集中部分迷你批次的梯度不可能為零,即使整個訓練集都梯度為零。第三,由于 SMB-SGD 能夠更好地探索解決空間,而不是直接移至起點以下的局部最小值,因此更能找到平坦最小值。另一方面,極小的迷你批次也不是最佳選擇,因為要實現較高的 CPU(或 GPU)利用率很難。將小迷你批次的計算工作負載分布于多個工作節點時,這種問題會變得更加嚴峻。因此,必須找到足夠大的迷你批次,以維持較高的 CPU 利用率,但也不能太大以避免出現 GD 問題。這對下面要討論的同步數據并行 SGD 來說更加重要。
在多個工作節點中高效分布工作負載,可縮短整體訓練時間。所使用的技巧有兩種:模型并行化和數據并行化。在模型并行化中,模型在多個節點之間劃分,每個節點都處理相同的迷你批次。當內存要求超過 worker 的內存時,模型并行化可用于實踐。數據并行化方法更加常用,最適合權重較少的模型。在數據并行化中,迷你批次在工作節點中劃分,每個節點都有完整的模型并處理一段迷你批次,稱為節點批次。每個工作節點都計算節點批次的梯度。然后通過歸約算法聚集這些梯度,以計算整個迷你批次的梯度。然后更新模型權重,更新后的權重被傳播至各個工作節點。這也稱為歸約/傳播或僅全歸約方案(全歸約選項列表將在下文種介紹)。迷你批次的每次迭代或周期結束時,所有工作節點都有相同的更新模型,即節點實現了同步化。這被稱為同步 SGD (SSGD)。
異步 SGD (ASGD) 能夠消除同步化的開銷。但 ASGD 面臨其他挑戰。ASGD 要求更多地優化超參數(比如動量),并要求更多訓練迭代。另外,它不匹配單節點性能,因此調試起來比較困難。在實踐中,尚未證明 ASGD 能夠在大型模型上進行擴展和保持準確性。斯坦福大學、LBNL 和英特爾研究人員已經證明,ASGD/SSGD 混合方法可以用于節點在多達 8 個組中完成集群化的情況。組內更新是同步的,組之間的更新是異步的。由于 ASGD 所面臨的挑戰,超過 8 個組會使性能降低。
其中一種用于傳遞梯度的策略是,將一個節點指定為參數服務器,計算節點梯度的總和、更新模型,并將更新權重發送回各個 worker。但使用一個參數服務器收發所有梯度會存在瓶頸。除非使用 ASGD,否則不建議采用參數服務器策略。
全歸約和傳播算法用于傳遞和添加節點梯度,然后傳播更新權重。有各種全歸約算法,包括 Tree、Butterfly 和 Ring。Butterfly 是 O(log(P)) 迭代時進行延遲擴展的最佳選擇,其中 P 代表工作節點的數量,并結合了 reduce-scat 和廣播。Ring 是帶寬的最佳選擇;對大型數據通信來說,它可以通過節點數量在 O(1) 處進行擴展。在帶寬受限的集群中,AllReduce Ring 算法通常更加適用。有關 AllReduce Ring 算法的詳細介紹可在 別處找到。 圖 5 顯示了各種通信策略。
2014 年 11 月,Jeff Dean 談到了 谷歌將訓練時間從 6 周縮短至 1 天的研究目標。三年后,使用 CPU 可在 11 分鐘內訓練完 AlexNet。這是通過使用較大的迷你批次來實現的,這種迷你批次支持將計算工作負載分布至超過 1000 個節點。為了高效擴展,梯度通信和更新權重必須隱藏在梯度計算中。
可使用以下技巧增加整體迷你批次的規模:1) 按比例增加迷你批次的規模和學習率;2) 在訓練的最初部分慢慢提高學習率(稱為熱身學習率);3) 使用層自適應率縮放 (layer-wise adaptive rate scaling (LARS)) 算法使模型的各層擁有不同的學習率。下面我們來詳細了解每一種技巧。
迷你批次越大,梯度中的置信度越高,因此可使用的學習率也越大。作為一條經驗法則,學習率隨著迷你批次大小的增加而按比例增加4。這項技巧支持加州大學伯克利分校的研究人員使用 GoogleNet 模型,將迷你批次的大小從 256 增至 1024,并擴展至 128 個 K20-GPU 節點,將訓練時間從 21 天縮短至 10.5 小時,英特爾研究人員使用 VGG-A 模型,將迷你批次大小從 128 增加至 512,并擴展至 128 個英特爾至強處理器 E5-2698 v3 節點。
較大的學習率可能導致出現分散(損失隨迭代而增加,而非降低),尤其在初始訓練階段。這是因為在初始訓練階段,梯度范數大于權重范數。通過在初始訓練階段(例如在前 5 個 epoch 中)逐漸增加學習率可緩解這種情況,直到最后達到目標學習率。這種技巧支持 Facebook* 使用 ResNet-50,將迷你批次大小從 256 增至 8094,并擴展至 256 個 Nvidia* Tesla* P100-GPU 節點,將訓練時間從 29 個小時(使用 8 顆 P100-GPU)縮短至 1 小時。這種技巧也 支持 SurfSARA 和英特爾研究人員擴展至 512 顆雙路英特爾至強鉑金處理器,將 ResNet-50 訓練時間縮短至 44 分鐘。
NVidia 的研究人員發現,在模型的各個層中,梯度與權重的比例各不相同。他們建議為各個層設置與該比例成反比的學習率。這種技巧(結合上述幾種技巧)支持他們將迷你批次的大小增加至 32K。
加州大學伯克利分校、德克薩斯大學和加州大學戴維斯分校的研究人員使用這些技巧刷新了訓練時間(截至 2017 年 11 月 7 日發稿時間)的記錄:在英特爾 CPU 上 11 分鐘訓練完 AlexNet*以及 31 分鐘訓練完 ResNet-50*,使其達到一流的準確性。 他們分別使用 1024 和 1600 臺采用英特爾 MKL-DNN 庫和英特爾優化的 Caffe 框架5的雙路英特爾至強鉑金 8160 處理器服務器。
許多數據中心沒有高帶寬互聯或數千個節點。盡管如此,ResNet-50 仍然可以使用 10 Gbps 以太網完美地線性擴展至 32 臺,并 99.8% 地擴展至 62 臺雙路英特爾至強金牌 6148 處理器服務器i。運用這 64 臺服務器在 90 個 epoch 中達到預期 75.9% 位列第一的驗證準確性,所用的總訓練時間是 7.3 小時。
第 4 部分:商業 CPU 用例
額外的計算和內存容量,加上軟件優化和分布式訓練的進展,有利于行業采用現有英特爾至強處理器進行深度學習。在第 4 部分中,我們將介紹英特爾組裝和測試工廠、Facebook* 服務、deepsense.ai* 強化學習 (RL) 算法、京都大學藥物設計、Amazon* Web Services (AWS*) 分布式機器學習應用、克萊姆森* 大學自然語言處理、通用電氣* 醫療集團醫療成像、愛爾* 眼科醫院集團和 MedImaging* Integrated Solutions 糖尿病性視網膜病變、OpenAI* 進化策略 和各種使用 BigDL 的 Apache* Spark* 平臺中的幾個商業用例 。
英特爾組裝和測試工廠獲益于英特爾至強處理器上的英特爾優化的 Caffe,改進了芯片制造包裝故障檢測。該項目旨在降低最終檢查點包裝表面損壞的人工審查率,同時將假陰性率保持在與人工審查率相同的水平。輸入是一組包裝照片,目標是對每張照片執行二進制分類,指示每個包裝是被拒絕還是通過。他們對 GoogleNet 模型進行了修改以完成此項任務。使用 8 顆連接 10 Gb 以太網的英特爾至強鉑金 8180 處理器,在 1 小時內完成了訓練。假陰性率始終符合預期的人工準確性。自動完成這一流程為檢查員節省了 70% 的時間。
Facebook 利用 英特爾處理器進行推理,并利用 CPU 和 GPU 訓練將用于服務中的機器學習算法。訓練的頻率比推理低得多。推理階段每天運行數十萬億次,而且通常需要實時執行。部分使用機器學習的重要服務包括新聞推送、廣告、搜索、Sigma(異常檢測)、Lumos(特征提取器)、Facer(面部識別)、語言翻譯和語音識別。新聞推送和 Sigma 在 CPU 上訓練,而 Facer 和搜索算法在 CPU 和 GPU 上訓練。
deepsense.ai 采用 英特爾處理器進行強化學習。他們訓練代理,在 64 顆 12 核英特爾 CPU 上播放各種 Atari 2600 游戲,有時游戲只需短短 20 分鐘就可實現完美地線性擴展(注:本文未指定所使用的特定英特爾處理器或互連)。
京都大學研究人員在英特爾處理器上使用深度學習預測基于化合物的相互作用,這是藥物設計中的一個重要步驟。對這種深度學習工作負載,他們 聲稱 that "英特爾 Haswell-EP(采用 128 GB 內存的 E5-2699v3×2)結合 Theano*,在性能和最大支持數據量兩個方面,表現都優于 Nvidia Tesla(Ivy Bridge 托管的 K40)。請注意,英特爾至強 E5-2699v3 處理器和 Nvidia Tesla K40 均為前代 CPU 和 GPU。
英特爾與合作伙伴使用 Faster-RCNN* 和英特爾優化的 Caffe 成功地執行了太陽能電池板缺陷檢測任務。訓練中使用了 300 張增強了 36 度旋轉的原始太陽能電池板圖片。在英特爾至強鉑金 8180 處理器上進行的訓練耗費了 6 個小時,在部分不利環境因素的影響下檢測準確性達到了 96.3%。推理性能為每秒 188 張圖片。這種通用解決方案可用于市場上的各種檢測服務,包括石油與天然氣檢測、管道滲漏和泄露、公共設施檢查、輸電線路和變電站,以及緊急危機響應。
Amazon Web Services (AWS) GM Matt Wood 報道 ,AWS 和英特爾在 AWS EC2 C5 實例上借助最新版英特爾 MKL 和可用的英特爾至強可擴展處理器優化深度學習,將推理性能提升了 100 倍,并開發可在 AWS 上輕松構建分布式深度學習應用的工具。Wood 解釋說:“例如,Novartis 使用 10,600 個 EC2 實例和大約 87000 個計算內核,在短短 9 個小時內完成了需耗時 39 年的化學計算;對照癌癥靶標掃描 1000 萬種化合物。這種顯著的提升將不斷改變著各行業的無限可能,例如醫療、生命科學、金融服務、科學研究、航天航空、自動化、制造業和能源。”
克萊姆森大學的研究人員在英特爾處理器上 應用 1.1M AWS EC2 vCPU 研究主題建模,它是自然語言處理的重要組成部分。他們通過近 50 萬例主題建模試驗,研究計算機如何處理人類語言。主題模型可用于發現文檔集合中存在的主題。
通用電氣* 醫療集團應用英特爾至強 E5-2650v4 處理器運行通用電氣的深度學習 CT 成像分類推理工作負載。他們使用英特爾的深度學習部署工具套件(英特爾 DLDT)和英特爾 MKL-DNN 將吞吐量平均提高了 14 倍(相比基準版解決方案),并將通用電氣在僅 4 個內核上實現的吞吐量目標提高了 6 倍。英特爾 DLDT 可提供統一的 API 來集成推理和應用邏輯,從而幫助部署深度學習解決方案。 這些發現為開啟智能醫療成像新時代鋪平了道路。
愛爾眼科醫院集團和 MedImaging* Integrated Solutions (MiiS) 采用 英特爾至強可擴展處理器和英特爾優化的 Caffe 開發深度學習解決方案,以改進針對糖尿病視網膜病變和年齡相關性黃斑變性的篩查。中國政府計劃采用該解決方案在全國各地的診所和小型醫院進行高質量的眼部健康篩查。MiiS 首席執行官 Stefan Zheng 說:“英特爾的專業知識、全新的英特爾至強可擴展處理器和面向英特爾架構優化的 Caffe 相結合,取得了令人驚嘆的成效,我們正在借助英特爾至強銅牌處理器和英特爾優化的 Caffe 框架穩步前進。”愛爾眼科健康集團總經理 Xu Ming 說:“通過支持我們的診所提供快速、準確的眼部健康篩查,愛爾眼科可幫助解決眼科醫生短缺的問題,為農村地區只能通過鄉村診所看病的人們提供高質量的醫療服務。即使在大城市,我們也可以幫助眼部護理專業人員節省時間,讓他們能夠專注于治療病情更嚴重的患者。我們通過早期檢測,提供早期診斷和治療的機會,幫助保護視力。”
OpenAI 使用 CPU 訓練進化策略 (ES),在 RL 性能指標評測 (Atari/MuJoCo) 中實現了強勁的性能。通過使用由 80 臺機器和 1,440 個 CPU 內核組成的集群,OpenAI 工程師能夠在 10 分鐘內訓練 3D MuJoCo 人體輔助行走器。
BigDL 是英特爾開源分布式深度學習框架,可為 Apache Spark 提供全面的深度學習算法支持。基于高度可擴展的 Apache* Spark* 平臺構建,BigDL 可輕松橫向擴展至數百或數千臺服務器。此外,BigDL 還集成了英特爾 MKL 和并行計算技術,以在英特爾至強處理器服務器上實現極高的性能。由于在基于至強的 Hadoop*/Spark 集群上運行 BigDL 可提供諸多優勢,比如簡單性、可擴展性、低總體擁有成本等,BigDL 在業界和開發人員社區中得到了廣泛的應用。讀者可以參考詳細的教程,了解如何將 BigDL 部署于谷歌* 云平臺、 AWS* EMR*、Microsoft* Azure* Marketplace、 Microsoft Azure HDInsight、Microsoft 數據科學虛擬機、阿里巴巴* 云 E-MapReduce、Databricks*、Cray* Urika-XC* 分析軟件、Cloudera* 數據科學工作臺等。
中國銀聯實施神經網絡風險控制系統,該系統使用英特爾至強處理器運行 BigDL 和 Apache Spark。該網絡利用 10 TB 訓練數據和 100 億個訓練樣本。該模型在 32 個英特爾至強處理器節點上訓練 ,而且相比傳統基于規則的風險控制系統,該模型將風險檢測的準確性提高了 60%。
JD.com* 和英特爾團隊共同合作,在 BigDL 和 Apache Spark 上使用 SSD 和 DeepBit 模型構建大規模圖像特征提取管道。在此用例中,BigDL 為各種深度學習模型(比如對象檢測、分類等)提供支持。此外,它還支持復用 Caffe、Torch* 和 TensorFlow 的預先訓練的模型。整個應用管道經過全面優化,可在基于英特爾至強處理器的 Hadoop 集群上提供顯著加速的性能,相比在 20 個 K40 GPU 卡上運行的相同解決方案,速度提高了約 3.83 倍。
MLSListings* 也和英特爾團隊合作,在 Microsoft Azure 的基于英特爾至強處理器的 BigDL 中構建基于圖像相似性的房屋推薦系統。他們使用 Places365* 數據集對 GoogleNet v1 和 VGG-16 進行微調,以生成用于計算圖像相似性的圖像嵌入。
Gigaspace* 已將 BigDL 集成至 Gigapsace 的 InsightEdge* 平臺。Gigaspace 構建了一個系統,能在英特爾至強處理器上的 BigDL 中使用訓練的自然語言處理 (NLP) 模型,自動將用戶請求路由至呼叫中心內相應的專家。
Open Telefónica* Cloud 可提供 Map Reduce Service (MRS),BigDL 在其頂部運行。有關如何使用支持 BigDL 的平臺運行深度學習工作負載的步驟,請單擊此處。
結論
最新英特爾至強可擴展處理器和英特爾 MKL-DNN 庫中優化的深度學習函數可為運行深度學習工作負載(推理、經典機器學習和其他人工智能算法除外)提供充足的計算能力。目前,常用的深度學習框架都集成了這些優化,在有些用例中,單服務器提供的有效性能提升了超過 100 倍。分布式算法所取得的最新進展也支持使用數百臺服務器將訓練時間從幾周縮短至幾分鐘。數據科學家現在可以采用現有的通用英特爾至強處理器集群執行深度學習訓練,并繼續將其用于深度學習推理、經典機器學習和大數據工作負載。他們可以使用 1 顆英特爾 CPU 實現卓越的深度學習訓練性能,并使用多個 CPU 節點以近線性的方式擴展至數百個節點,進一步縮短訓練時間。
文章摘自英特爾開發人員專區
想購買及了解最新英特爾產品,歡迎咨詢以下聯系方式!
寶通集團聯系方式
咨詢熱線:0755-82964380
寶通官網:www.btibt.com
客戶垂詢郵箱:xinyuan.guo@ex-channel.com
客戶垂詢QQ:1953700525
地址:深圳市福田區深南大道1006號國際創新中心C座11樓
郵編:518026