人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)應(yīng)用程序的密集需求對數(shù)據(jù)中心的性能、可靠性和可擴展性提出了挑戰(zhàn),尤其是在IT架構(gòu)師模仿公共云的設(shè)計以簡化向混合云和內(nèi)部部署的過渡時。
Excelero公司首席技術(shù)官Sven Breuner和首席架構(gòu)師Kirill Shoikhet為此分享了9個為人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)準備數(shù)據(jù)中心的最佳實踐。
數(shù)據(jù)點1:了解目標(biāo)系統(tǒng)性能、投資回報率和可擴展性計劃。
隨著人工智能成為核心業(yè)務(wù)的重要組成部分,大多數(shù)組織都從最初的少量預(yù)算和少量培訓(xùn)數(shù)據(jù)集入手,并為無縫快速的系統(tǒng)增長準備基礎(chǔ)設(shè)施。需要構(gòu)建所選的硬件和軟件基礎(chǔ)設(shè)施,以實現(xiàn)靈活的橫向擴展,以避免在每個新的增長階段產(chǎn)生破壞性的變化。數(shù)據(jù)科學(xué)家與系統(tǒng)管理員之間的密切協(xié)作對于了解性能要求,并了解基礎(chǔ)設(shè)施可能需要隨著時間的發(fā)展而變得至關(guān)重要。
數(shù)據(jù)點2:現(xiàn)在或?qū)碓u估集群多個GPU系統(tǒng)。
在一臺服務(wù)器中采用多個GPU可以在系統(tǒng)內(nèi)部實現(xiàn)有效的數(shù)據(jù)共享和通信,并具有成本效益,參考設(shè)計假定將來可以集群使用,并且在單個服務(wù)器中最多支持16個GPU。多個GPU服務(wù)器需要準備好以很高的速率讀取傳入的數(shù)據(jù),以使GPU高效運行,這意味著它需要一個超高速的網(wǎng)絡(luò)連接,以及用于訓(xùn)練數(shù)據(jù)庫的存儲系統(tǒng)。但是在某個時候,單臺服務(wù)器將不再足以在合理的時間內(nèi)處理增長的訓(xùn)練數(shù)據(jù)庫,因此在設(shè)計中構(gòu)建共享存儲基礎(chǔ)設(shè)施將使隨著人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)使用的擴展,添加GPU服務(wù)器變得更容易。
數(shù)據(jù)點3:評估人工智能工作流程各個階段的瓶頸。
數(shù)據(jù)中心基礎(chǔ)設(shè)施需要能夠同時處理人工智能工作流程的所有階段。對于具有成本效益的數(shù)據(jù)中心來說,擁有一個可靠的資源調(diào)度和共享概念是至關(guān)重要的。因此,盡管數(shù)據(jù)科學(xué)家獲得了需要攝取和準備的新數(shù)據(jù),但其他人將訓(xùn)練他們的可用數(shù)據(jù),而其他人則使用先前生成的模型進行訓(xùn)練用于生產(chǎn)。Kubernetes已成為解決這一問題的一種主要解決方案,使云計算技術(shù)易于在內(nèi)部部署使用,并使混合部署變得可行。
數(shù)據(jù)點4:查看用于優(yōu)化GPU利用率和性能的策略。
許多人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)應(yīng)用程序的計算密集型性質(zhì)使基于GPU的服務(wù)器成為常見選擇。但是,盡管GPU可以有效地從內(nèi)存加載數(shù)據(jù),但是訓(xùn)練數(shù)據(jù)集通常遠遠超過內(nèi)存,并且涉及的大量文件變得更加難以攝取。在GPU服務(wù)器之間以及與存儲基礎(chǔ)設(shè)施之間,實現(xiàn)GPU數(shù)量與可用CPU功率、內(nèi)存和網(wǎng)絡(luò)帶寬之間的最佳平衡至關(guān)重要。
數(shù)據(jù)點5:支持訓(xùn)練和推理階段的需求。
在訓(xùn)練系統(tǒng)“看貓”的經(jīng)典示例中,計算機執(zhí)行一個數(shù)字游戲,需要查看大量不同顏色的貓。由于包含大量并行文件讀取的訪問的性質(zhì),NVMe閃存通過提供超低的訪問延遲和每秒的大量讀取操作很好地滿足了這些要求。在推理階段,挑戰(zhàn)是相似的,因為對象識別通常是實時發(fā)生的——另一個使用案例中,NVMe閃存也提供了延遲優(yōu)勢。
數(shù)據(jù)點6:考慮并行文件系統(tǒng)和替代方案。
諸如IBM公司的SpectrumScale或BeeGFS之類的并行文件系統(tǒng)可以幫助有效地處理大量小文件的元數(shù)據(jù),并通過在網(wǎng)絡(luò)上每秒交付數(shù)萬個小文件,從而使機器學(xué)習(xí)數(shù)據(jù)集的分析速度提高3到4倍。鑒于訓(xùn)練數(shù)據(jù)的只讀性質(zhì),因此在將數(shù)據(jù)卷直接提供給GPU服務(wù)器并通過Kubernetes之類的框架以共享方式共享它們時,也可以完全避免使用并行文件系統(tǒng)。
數(shù)據(jù)點7:選擇正確的網(wǎng)絡(luò)主干。
人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)通常是一種新的工作負載,將其重新安裝到現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施中通常無法支持復(fù)雜計算和快速高效數(shù)據(jù)傳輸所需的低延遲、高帶寬、高消息速率和智能卸載。基于RDMA的網(wǎng)絡(luò)傳輸RoCE(融合以太網(wǎng)上的RDMA)和InfiniBand已成為滿足這些新需求的標(biāo)準。
數(shù)據(jù)點8:考慮四個存儲系統(tǒng)的性價比杠桿。
(1)高讀取吞吐量和低延遲,不限制混合部署,可以在云平臺或內(nèi)部部署資源上運行。
(2)數(shù)據(jù)保護。人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)存儲系統(tǒng)通常比數(shù)據(jù)中心中的其他系統(tǒng)要快得多,因此在發(fā)生故障后從備份中恢復(fù)可能會花費很長時間,并且會中斷正在進行的操作。深度學(xué)習(xí)訓(xùn)練的只讀性質(zhì)使其非常適合于分布式擦除編碼,在這種存儲中,最高容錯能力已經(jīng)內(nèi)置在主存儲系統(tǒng)中,原始容量和可用容量之間的差異很小。
(3)容量彈性可適應(yīng)任何大小或類型的驅(qū)動器,以便隨著閃存介質(zhì)的發(fā)展和閃存驅(qū)動器特性的擴展,數(shù)據(jù)中心可以在最重要的情況下最大限度地提高性價比。
(4)性能。由于人工智能數(shù)據(jù)集需要隨著時間的推移而增長,以進一步提高模型的準確性,因此存儲基礎(chǔ)設(shè)施應(yīng)實現(xiàn)接近線性的縮放系數(shù),在這種情況下,每增加一次存儲都會帶來同等的增量性能。這使得組織可以從小規(guī)模開始,并根據(jù)業(yè)務(wù)需要而無中斷地增長。
數(shù)據(jù)點9:設(shè)置基準和性能指標(biāo)以幫助實現(xiàn)可擴展性。
例如,對于深度學(xué)習(xí)存儲,一個重要指標(biāo)可能是每個GPU每秒處理X個文件(通常為數(shù)千或數(shù)萬個),其中每個文件的平均大小為Y(從幾十個到數(shù)千個)kB 。預(yù)先建立適當(dāng)?shù)幕鶞屎托阅苤笜?biāo)有助于從一開始就確定架構(gòu)方法和解決方案,并指導(dǎo)后續(xù)擴展。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。