根據(jù)機器學習和人工智能任務(wù)的執(zhí)行方式以及如何在其環(huán)境中收集數(shù)據(jù)的方法,組織需要了解應(yīng)該購買哪些人工智能存儲產(chǎn)品。
當組織購買人工智能存儲平臺時,有很多途徑可以遵循。但一個重要的目標應(yīng)該是找到一種使其能夠更有效地收集數(shù)據(jù)產(chǎn)品,以執(zhí)行機器學習和人工智能任務(wù)。
評估和選擇人工智能數(shù)據(jù)存儲產(chǎn)品涉及的一些關(guān)鍵問題包括:
?存儲平臺必須提供高性能和可擴展性,并有效管理成本。
?其性能必須包括提供高吞吐量和實現(xiàn)低延遲。
?產(chǎn)生良好的人工智能模型意味著處理PB規(guī)模的數(shù)據(jù),這可能導致高昂的成本。組織必須意識到需要管理機器學習和人工智能平臺的總體成本。
在深度學習中,機器學習算法可以在無監(jiān)督的情況下運行,隨著深度學習算法的連續(xù)層處理多個級別的數(shù)據(jù)分析,I/O配置文件會導致高度隨機訪問。機器學習和人工智能培訓通常以批處理模式運行,在此模式下,數(shù)據(jù)科學家可以創(chuàng)建機器學習人工智能模型,針對數(shù)據(jù)進行測試,并隨著時間推移完善模型。這種方法要求低延遲以確??焖賵?zhí)行,因為更短的模型測試時間意味著更多的迭代和更好的模型。
因此,組織選擇的特定存儲產(chǎn)品應(yīng)基于其所做的工作類型以及所需的機器學習和人工智能培訓。無論哪種情況,獲得存儲產(chǎn)品的性價比都會有一些折衷。
分層方法
在購買任何存儲產(chǎn)品時,成本與性能是一個關(guān)鍵考慮因素。如果有這個選擇,大多數(shù)組織都會購買速度盡可能快的存儲設(shè)備。然而,獲得更高性能需要付出更大的代價。通常,高性能系統(tǒng)不會擴展到數(shù)PB的范圍內(nèi)。加上假設(shè)隨時分析的數(shù)據(jù)工作集將成為整個數(shù)據(jù)資產(chǎn)的子集,很容易看出存儲分層是設(shè)計機器學習和人工智能數(shù)據(jù)存儲的必要部分。
在機器學習和人工智能的背景下,分層到底意味著什么?傳統(tǒng)的分層產(chǎn)品從固定存儲池發(fā)展為復雜系統(tǒng),根據(jù)使用頻率和可用池容量優(yōu)化單個存儲塊的位置。但是由于數(shù)據(jù)的處理方式,這種方法并不能很好地滿足機器學習和人工智能的要求。
自動化分層產(chǎn)品假定數(shù)據(jù)經(jīng)過對業(yè)務(wù)非常重要的生命周期。新的數(shù)據(jù)是非常重要的,并且將被頻繁訪問。隨著時間的推移,數(shù)據(jù)的價值逐漸降低,它可以移動到成本更低、性能更低的產(chǎn)品存儲中。
用于機器學習和人工智能分析的數(shù)據(jù)使不同的整個數(shù)據(jù)集變?yōu)榛顒訝顟B(tài)并用于分析,同時需要在任何時候使用整個數(shù)據(jù)集。這意味著使用中的數(shù)據(jù)必須位于性能一致的存儲層上,因為訪問中的任何變化都會影響模型訓練等問題。
機器學習和人工智能模型開發(fā)中的數(shù)據(jù)處理的隨機性,意味著試圖隨著時間動態(tài)重新平衡數(shù)據(jù)的反應(yīng)性存儲平臺算法將不起作用。這些算法假設(shè)一個規(guī)模較小且相對靜態(tài)的工作集,該工作集隨時間的推移而逐漸變化。在機器學習和人工智能中,數(shù)據(jù)訪問配置文件將更加隨機,因此很難預測要緩存哪些數(shù)據(jù)以及如何調(diào)整緩存大小或更快的存儲層。
兩層存儲模型
為機器學習和人工智能工作負載提供存儲的一個簡單方法是簡單地使用兩層模型。性能層提供盡可能多的性能和盡可能低的延遲,同時針對系統(tǒng)預期要處理的最大數(shù)據(jù)集進行調(diào)整。
高性能的閃存價格昂貴,并且隨著市場向三級和四級單元之類的容量閃存產(chǎn)品發(fā)展,高性能存儲產(chǎn)品出現(xiàn)了一個新市場,其中包括低延遲閃存產(chǎn)品,如三星Z-NAND和東芝XL閃存。這些產(chǎn)品補充了通過提供低延遲I/O來開發(fā)的存儲級內(nèi)存。例如,Vast Data同時使用四層單元和Intel Optane技術(shù),為N結(jié)構(gòu)和S3 API提供支持,為非結(jié)構(gòu)化數(shù)據(jù)提供高性能、可擴展的存儲產(chǎn)品。
這些第0層存儲產(chǎn)品使用NVMe設(shè)備在內(nèi)部或跨存儲網(wǎng)絡(luò)進行連接。與傳統(tǒng)的SAS和SATA存儲設(shè)備相比,NVMe優(yōu)化了I/O堆?;騃/O協(xié)議。其結(jié)果是更低的延遲和更大的吞吐量,但是由于服務(wù)器處理器不需要等待I/O完成的時間,顯著提高了平臺利用率。
Pure Storage公司的 AIRI,適用于人工智能的IBM Spectrum Storage和NetApp公司 All Flash FAS A800之類的產(chǎn)品都在內(nèi)部使用NVMe以獲得最高的媒質(zhì)性能。Dell EMC公司和DataDirect Networks公司使用其產(chǎn)品線中的橫向擴展文件系統(tǒng)產(chǎn)品來支持機器學習和人工智能參考架構(gòu)。
容量層需要安全地長期存儲所有人工智能模型數(shù)據(jù),通常是數(shù)月或數(shù)年的時間。因此,具有高度耐久性的可擴展存儲平臺對于管理機器學習和人工智能所需的大量數(shù)據(jù)至關(guān)重要。對象存儲市場已經(jīng)發(fā)展到生產(chǎn)一系列高度可擴展和耐用的人工智能存儲產(chǎn)品。
耐久性到底是什么?
在典型的存儲系統(tǒng)中,使用將冗余構(gòu)建到硬盤上存儲的數(shù)據(jù)中的架構(gòu)來保護數(shù)據(jù)。如果單個組件發(fā)生故障,則替換了發(fā)生故障的組件后,會使用額外的數(shù)據(jù)副本從丟失數(shù)據(jù)中恢復并重建數(shù)據(jù)。盡管RAID 5和更高版本為硬盤故障提供了保護,但仍需要其他系統(tǒng)來防御大規(guī)模災難,例如數(shù)據(jù)中心中斷。隨著傳統(tǒng)系統(tǒng)規(guī)模的擴大,持久性或減輕數(shù)據(jù)丟失的成本很高。
糾刪編碼將冗余構(gòu)建到數(shù)據(jù)中,因此,硬盤、服務(wù)器甚至整個數(shù)據(jù)中心的中斷或故障都不會造成數(shù)據(jù)丟失。擦除編碼數(shù)據(jù)的分散性質(zhì)意味著可以構(gòu)建存儲系統(tǒng)以通過本地和地理數(shù)據(jù)保護擴展多PB的數(shù)據(jù),而無需管理多個系統(tǒng)的開銷和成本。
對象存儲為必須長期(通常為多年)保留的數(shù)據(jù)提供可擴展性和持久性。但是,為了獲得成本優(yōu)勢,對象存儲產(chǎn)品是基于具有某些緩存功能的基于硬盤的廉價存儲構(gòu)建的。這使得它們不太適合機器學習和人工智能數(shù)據(jù)的日常處理,但對于長期保存卻非常適合。
地理位置分散的對象庫還使來自多個位置和來源的數(shù)據(jù)能夠從多個位置和來源提取和訪問。例如,如果數(shù)據(jù)處理使用內(nèi)部部署和公共云基礎(chǔ)設(shè)施的混合,則這可能很有價值。地理分散是Scality Ring平臺的功能,該平臺與HPE公司和WekaIO公司產(chǎn)品集成在一起以創(chuàng)建兩層存儲架構(gòu)。
混合存儲架構(gòu)
企業(yè)面臨的挑戰(zhàn)是如何實現(xiàn)包含高度可擴展和高性能存儲的混合體系結(jié)構(gòu)。對象存儲系統(tǒng)使組織能夠存儲大多數(shù)的數(shù)據(jù),而某些產(chǎn)品則使用性能節(jié)點,這些節(jié)點將活動數(shù)據(jù)存儲在具有高性能閃存的服務(wù)器上。這種方法的優(yōu)點是,可以將容量或性能節(jié)點添加到產(chǎn)品中,以便在任何方向上進行擴展。例如,Cloudian公司提供了可擴展性功能的硬件設(shè)備。
從高性能存儲構(gòu)建的系統(tǒng)必須設(shè)計為可針對正在處理的整個數(shù)據(jù)集進行擴展。在這些場景中,隨著時間的推移,多個人工智能數(shù)據(jù)集被處理,數(shù)據(jù)在高性能平臺之間來回移動。
存儲架構(gòu)必須能夠為人工智能產(chǎn)品提供在存儲器之間來回移動數(shù)據(jù)所需的網(wǎng)絡(luò)帶寬,并滿足人工智能平臺的要求。Nvidia DGX-1和DGX-2平臺等產(chǎn)品每秒可消耗數(shù)十GB的數(shù)據(jù)。因此,為了跟上發(fā)展的步伐,人工智能數(shù)據(jù)存儲產(chǎn)品中計算與存儲之間的連接必須是低延遲的InfiniBand或100Gb以太網(wǎng)。
人工智能產(chǎn)品的軟件定義存儲
為機器學習和人工智能構(gòu)建存儲并不一定意味著部署更高性能的設(shè)備。新的高性能人工智能存儲產(chǎn)品是可用的,基本上是軟件定義存儲(SDS)。這些產(chǎn)品利用了新媒介的性能,包括NVMe,在某些情況下還包括持久內(nèi)存或存儲類內(nèi)存。
軟件定義存儲(SDS)產(chǎn)品的優(yōu)勢之一是它們適用于公共云,因為它們可以在公共云基礎(chǔ)設(shè)施中實例化和動態(tài)擴展。當不知道基礎(chǔ)設(shè)施的數(shù)量或只需要很短的時間時,這種操作模式可能很有吸引力。
WekaIO公司提供了基于Matrix軟件的橫向擴展存儲平臺,該平臺可以部署在具有NVMe驅(qū)動器的服務(wù)器上,也可以部署在具有NVMe功能的彈性計算云實例的AWS公共云中。
Excelero NVMesh是另一個軟件定義存儲(SDS)產(chǎn)品,它可以跨多個服務(wù)器和存儲線性地擴展性能,并且通常與IBM公司的Spectrum Scale結(jié)合起來創(chuàng)建一個擴展文件系統(tǒng)。
數(shù)據(jù)移動性
將容量和性能層組合到單個產(chǎn)品中需要人工或自動過程,以在性能和容量層之間移動數(shù)據(jù),并在元數(shù)據(jù)移動時在元數(shù)據(jù)之間成功跟蹤數(shù)據(jù)。某些人工智能存儲產(chǎn)品可以直接與對象存儲集成,從而簡化了此過程。公共云可以作為機器學習和人工智能開發(fā)的強大選擇,因為在內(nèi)部云服務(wù)之間移動的數(shù)據(jù)不會產(chǎn)生存儲費用。例如,WekaIO 公司的Matrix可以在內(nèi)部和外部復制數(shù)據(jù),并將其存檔到對象存儲中。
集成在一起
想要為機器學習和人工智能工作負載實現(xiàn)本地存儲的企業(yè)必須考慮容量和性能。對于性能層,他們可以從頭開始構(gòu)建,也可以部署一個打包的產(chǎn)品,用于機器學習的融合基礎(chǔ)設(shè)施。使用構(gòu)建選項,企業(yè)可以部署內(nèi)部設(shè)備或使用軟件定義存儲(SDS)。軟件定義存儲(SDS)使組織能夠?qū)⒋鎯ψ鳛橐粋€單獨的層來實現(xiàn),或者構(gòu)建一個超融合的基礎(chǔ)設(shè)施。如果數(shù)據(jù)將保留在本地,則組織可以使用設(shè)備或遵循軟件定義的路由,使用對象存儲部署容量層。
轉(zhuǎn)向公共云,IT組織可以使用本機服務(wù),例如對象存儲和塊存儲。要實現(xiàn)機器學習和人工智能應(yīng)用程序的低延遲,文件存儲產(chǎn)品還有很長的路要走。相反,組織可能會使用塊存儲,尤其是與將文件服務(wù)層添加到本機塊資源的軟件定義存儲(SDS)或人工智能存儲產(chǎn)品結(jié)合使用的時候。