人工智能技術(shù)廣泛應(yīng)用在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中,已經(jīng)引發(fā)了研究和產(chǎn)品開(kāi)發(fā)的爆炸性增長(zhǎng),因?yàn)槠髽I(yè)發(fā)現(xiàn)了創(chuàng)造性的方法,將這些新算法用于過(guò)程自動(dòng)化和預(yù)測(cè)性見(jiàn)解的創(chuàng)新方法。機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型的本質(zhì)要求獲取、準(zhǔn)備、移動(dòng)和處理大量數(shù)據(jù)集,后者通常模擬大腦的神經(jīng)結(jié)構(gòu)和連接性。
特別是深度學(xué)習(xí)模型需要大量數(shù)據(jù)集,這對(duì)于人工智能和深度學(xué)習(xí)的存儲(chǔ)是一種獨(dú)特的挑戰(zhàn)。簡(jiǎn)要介紹機(jī)器學(xué)習(xí)和深度學(xué)習(xí)軟件的本質(zhì),將會(huì)揭示存儲(chǔ)系統(tǒng)對(duì)于這些算法如此重要以提供及時(shí)準(zhǔn)確結(jié)果的原因。
為什么人工智能和深度學(xué)習(xí)的存儲(chǔ)很重要
許多研究者已經(jīng)證明,隨著數(shù)據(jù)集的增加,深度學(xué)習(xí)模型的準(zhǔn)確性也會(huì)提高。這一改進(jìn)意義重大,研究人員經(jīng)常使用復(fù)雜的數(shù)據(jù)增強(qiáng)技術(shù)來(lái)綜合生成額外的數(shù)據(jù)用于模型訓(xùn)練。
例如,用于對(duì)各種深度學(xué)習(xí)圖像分類算法進(jìn)行基準(zhǔn)測(cè)試的ImageNet數(shù)據(jù)集包含超過(guò)1400萬(wàn)張具有大量注釋的圖像。雖然經(jīng)常用于對(duì)圖像分類硬件進(jìn)行基準(zhǔn)測(cè)試的ResNet-50模型的大小剛好超過(guò)100MB。這些模型最好保存在內(nèi)存中,必須不斷地提供數(shù)據(jù),這通常會(huì)導(dǎo)致存儲(chǔ)系統(tǒng)成為整體性能的瓶頸。
深度學(xué)習(xí)存儲(chǔ)系統(tǒng)設(shè)計(jì)必須在各種數(shù)據(jù)類型和深度學(xué)習(xí)模型之間提供平衡的性能。
無(wú)論模型和應(yīng)用如何,深度學(xué)習(xí)包括兩個(gè)步驟:模型訓(xùn)練和數(shù)據(jù)推理。訓(xùn)練是在使用訓(xùn)練數(shù)據(jù)集進(jìn)行重復(fù)的、通常是遞歸的計(jì)算的基礎(chǔ)上計(jì)算和優(yōu)化模型參數(shù)的過(guò)程。數(shù)據(jù)推理是在新的輸入數(shù)據(jù)上使用經(jīng)過(guò)訓(xùn)練的模型進(jìn)行分類和預(yù)測(cè)的地方。
每個(gè)步驟都會(huì)以不同的方式強(qiáng)調(diào)為人工智能和深度學(xué)習(xí)提供存儲(chǔ)的系統(tǒng)。通過(guò)訓(xùn)練,其壓力源于大型數(shù)據(jù)集和對(duì)計(jì)算復(fù)合體(通常是分布式集群)的快速I(mǎi)/O,這是可接受性能所必需的。通過(guò)推理,其壓力來(lái)自數(shù)據(jù)的實(shí)時(shí)性,必須以最小的延遲處理這些數(shù)據(jù)。
深度學(xué)習(xí)的存儲(chǔ)性能要求
深度學(xué)習(xí)算法的本質(zhì)意味著它們使用了大量的矩陣數(shù)學(xué)。與計(jì)算機(jī)圖形不同,神經(jīng)網(wǎng)絡(luò)和其他深度學(xué)習(xí)模型不需要高精度浮點(diǎn)結(jié)果,并且通常由新一代人工智能優(yōu)化的GPU和支持低精度8位和16位矩陣計(jì)算的CPU進(jìn)一步加速,這種優(yōu)化可以將存儲(chǔ)系統(tǒng)轉(zhuǎn)變?yōu)楦蟮男阅芷款i。
深度學(xué)習(xí)模型和數(shù)據(jù)源的多樣性,以及通常用于深度學(xué)習(xí)服務(wù)器的分布式計(jì)算設(shè)計(jì),意味著旨在為人工智能提供存儲(chǔ)的系統(tǒng)必須解決以下問(wèn)題:
•各種各樣的數(shù)據(jù)格式,包括二進(jìn)制對(duì)象(BLOB)數(shù)據(jù)、圖像、視頻、音頻、文本和結(jié)構(gòu)化數(shù)據(jù),它們具有不同的格式和I/O特性。
•橫向擴(kuò)展系統(tǒng)架構(gòu),其中工作負(fù)載分布在多個(gè)系統(tǒng)中,通常為4到16個(gè),用于培訓(xùn),可能有數(shù)百個(gè)或數(shù)千個(gè)用于數(shù)據(jù)推理。
•帶寬和吞吐量,可以快速向計(jì)算硬件提供大量數(shù)據(jù)。
•無(wú)論數(shù)據(jù)特性如何,IOPS都能維持高吞吐量;也就是說(shuō),可以實(shí)現(xiàn)許多小交易和較少的大轉(zhuǎn)移。
•以最小的延遲提供數(shù)據(jù),因?yàn)榕c虛擬內(nèi)存分頁(yè)一樣,當(dāng)GPU等待新數(shù)據(jù)時(shí),訓(xùn)練算法的性能會(huì)顯著降低。
深度學(xué)習(xí)存儲(chǔ)系統(tǒng)設(shè)計(jì)必須在各種數(shù)據(jù)類型和深度學(xué)習(xí)模型中提供均衡的性能。根據(jù)Nvidia公司一位工程師的說(shuō)法,在各種負(fù)載條件下驗(yàn)證存儲(chǔ)系統(tǒng)性能至關(guān)重要。
他說(shuō),“工作負(fù)載的復(fù)雜性加上深度學(xué)習(xí)培訓(xùn)所需的數(shù)據(jù)量創(chuàng)造了一個(gè)具有挑戰(zhàn)性的性能環(huán)境??紤]到這些環(huán)境的復(fù)雜性,在投入生產(chǎn)之前收集基準(zhǔn)性能數(shù)據(jù),驗(yàn)證核心系統(tǒng)(硬件組件和操作系統(tǒng))是否能夠在綜合負(fù)載下提供預(yù)期性能至關(guān)重要。”
深度學(xué)習(xí)存儲(chǔ)系統(tǒng)的核心功能
上述性能因素促使人工智能存儲(chǔ)系統(tǒng)供應(yīng)商采用五項(xiàng)核心功能,其中包括:
1.可增量擴(kuò)展的并行擴(kuò)展系統(tǒng)設(shè)計(jì),其中I/O性能隨容量而擴(kuò)展。這種設(shè)計(jì)的一個(gè)標(biāo)志是分布式存儲(chǔ)體系結(jié)構(gòu)或文件系統(tǒng),它將對(duì)象和文件等邏輯元素與保存它們的物理設(shè)備或設(shè)備區(qū)分開(kāi)。
2.可編程的、軟件定義的控制平臺(tái),它是實(shí)現(xiàn)橫向擴(kuò)展設(shè)計(jì)和大多數(shù)管理任務(wù)自動(dòng)化的關(guān)鍵。
3.企業(yè)級(jí)可靠性、耐久性、冗余和存儲(chǔ)服務(wù)。
4.對(duì)于深度學(xué)習(xí)培訓(xùn)系統(tǒng),采用緊密耦合的計(jì)算存儲(chǔ)系統(tǒng)架構(gòu),采用無(wú)阻塞網(wǎng)絡(luò)設(shè)計(jì),連接服務(wù)器和存儲(chǔ),最低鏈路速度為10GB至25GB以太網(wǎng)或EDR(25Gbps)Infiniband。
5. SSD設(shè)備越來(lái)越多地使用速度更快的NVMe設(shè)備,提供比SATA更高的吞吐量和IOPS。
o DAS系統(tǒng)通常使用NVMe-over-PCIe設(shè)備。
o NAS設(shè)計(jì)通常使用10Gb以太網(wǎng)或更快的以太網(wǎng),使用NVMe over fabric、Infiniband或交換PCIe結(jié)構(gòu)。
Nvidia公司的DGX-2系統(tǒng)是深度學(xué)習(xí)的高性能系統(tǒng)架構(gòu)的一個(gè)例子。
量身定制的存儲(chǔ)產(chǎn)品
人工智能現(xiàn)在是一項(xiàng)熱門(mén)技術(shù),供應(yīng)商通過(guò)混合使用新產(chǎn)品和更新產(chǎn)品快速應(yīng)對(duì)市場(chǎng),以滿足人工智能工作負(fù)載的需求。鑒于市場(chǎng)活力,不會(huì)嘗試提供針對(duì)人工智能存儲(chǔ)優(yōu)化或針對(duì)的產(chǎn)品的綜合目錄,但以下是一些示例:
Dell EMC公司針對(duì)人工智能提供的現(xiàn)成解決方案,包括機(jī)架、服務(wù)器、存儲(chǔ)、邊緣交換機(jī)、管理節(jié)點(diǎn)。該存儲(chǔ)使用isilon H600或F800所有閃存擴(kuò)展NAS,帶有40GbE網(wǎng)絡(luò)鏈路。
DDN A3I使用AI200或AI400 NVMe全閃存陣列(AFA),分別具有360TB容量和750K和1.5MIOPS以及4或8個(gè)100GbE或EDR InfiniBand接口,或DDN AI7990混合存儲(chǔ)設(shè)備(5.4 PB)容量,750K IOPS和4個(gè)100 GbE或EDR InfiniBand接口。DDN還將產(chǎn)品與Nvidia DGX-1 GPU加速服務(wù)器和Hewlett Packard Enterprise Apollo 6500加速服務(wù)器捆綁在一起。
IBM Elastic Storage Server AFA陣列具有多種基于SSD硬盤(pán)的配置,可提供高達(dá)1.1 PB的可用容量。IBM公司還有一個(gè)參考系統(tǒng)架構(gòu),它將Elastic Storage Server與Power Systems服務(wù)器和PowerAI Enterprise軟件堆棧相結(jié)合。
NetApp OnTap AI參考架構(gòu)將Nvidia DGX-1服務(wù)器與NetApp AFA A800系統(tǒng)和兩個(gè)Cisco Nexus 3K 100GbE交換機(jī)相結(jié)合。A800可提供1M IOPS,延遲時(shí)間為半毫秒,其橫向擴(kuò)展設(shè)計(jì)可在24節(jié)點(diǎn)集群中提供超過(guò)11M的IOPS。
Pure Storage AIRI是另一個(gè)DGX-1集成系統(tǒng),它使用Pure的FlashBlade AFA系統(tǒng),支持文件和對(duì)象存儲(chǔ)。Arista、Cisco或Mellanox交換機(jī)提供參考系統(tǒng)。例如,Arista公司設(shè)計(jì)使用15個(gè)17TB FlashBlades和8個(gè)40GbE鏈路連接到Arista 32端口100 GbE交換機(jī)。
Pure Storage的AIRI系統(tǒng)架構(gòu)
深度學(xué)習(xí)推理系統(tǒng)對(duì)存儲(chǔ)子系統(tǒng)的要求較低,通常可以通過(guò)在x86服務(wù)器中使用本地SSD硬盤(pán)來(lái)實(shí)現(xiàn)。雖然推理平臺(tái)通常是具有本地SSD硬盤(pán)或NVMe插槽的傳統(tǒng)1U和2U服務(wù)器設(shè)計(jì),但它們?cè)絹?lái)越多地包括計(jì)算加速器,如Nvidia T4 GPU或可以將一些深度學(xué)習(xí)操作編譯到硬件中的FPGA。