AI時(shí)代,非結(jié)構(gòu)化數(shù)據(jù)帶來(lái)的存儲(chǔ)挑戰(zhàn)與解決方案
原創(chuàng)隨著5G、物聯(lián)網(wǎng)、計(jì)算機(jī)視覺(jué)等技術(shù)的廣泛應(yīng)用,非結(jié)構(gòu)化數(shù)據(jù)(如圖像、視頻、音頻、文本等)正以前所未有的速度增長(zhǎng)。據(jù)IDC DataSphere數(shù)據(jù)顯示,到2027年,全球非結(jié)構(gòu)化數(shù)據(jù)將占到數(shù)據(jù)總量的86.8%,達(dá)到驚人的246.9ZB。
面對(duì)海量增長(zhǎng)的非結(jié)構(gòu)化數(shù)據(jù),如何更好地進(jìn)行數(shù)據(jù)存儲(chǔ),一方面解決AI應(yīng)用中存儲(chǔ)性能瓶頸的問(wèn)題,另一方面簡(jiǎn)化非結(jié)構(gòu)化數(shù)據(jù)的管理難度,降低存儲(chǔ)成本呢?實(shí)際上,通過(guò)構(gòu)建文件存儲(chǔ)系統(tǒng)和對(duì)象存儲(chǔ)系統(tǒng),即可以很好的解決這一問(wèn)題。本文,我們來(lái)重點(diǎn)探討一下如何利用文件存儲(chǔ)和對(duì)象存儲(chǔ)解決非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)帶來(lái)的挑戰(zhàn)。
首先,我們來(lái)簡(jiǎn)單的了解一下非結(jié)構(gòu)化數(shù)據(jù)帶來(lái)了哪些存儲(chǔ)難題。
一是對(duì)存儲(chǔ)性能提出了更高的要求。我們知道,AI訓(xùn)練過(guò)程需要頻繁讀取海量數(shù)據(jù),傳統(tǒng)存儲(chǔ)系統(tǒng)往往難以滿足這種高吞吐量、低延遲的需求。以ChatGPT為例,其訓(xùn)練數(shù)據(jù)集規(guī)模高達(dá)45TB,訓(xùn)練過(guò)程中需要持續(xù)不斷地從存儲(chǔ)系統(tǒng)加載數(shù)據(jù)。當(dāng)存儲(chǔ)性能不足時(shí),昂貴的GPU計(jì)算資源將被迫閑置,造成巨大浪費(fèi)。
二是數(shù)據(jù)管理復(fù)雜性的挑戰(zhàn)。非結(jié)構(gòu)化數(shù)據(jù)缺乏固定格式,類(lèi)型多樣且結(jié)構(gòu)復(fù)雜,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)難以有效管理。以AI模型訓(xùn)練為例,通常需要處理數(shù)百萬(wàn)甚至數(shù)十億個(gè)文件,如何高效組織這些數(shù)據(jù)、快速檢索特定樣本、維護(hù)數(shù)據(jù)一致性,都是存儲(chǔ)系統(tǒng)必須解決的問(wèn)題。
三是存儲(chǔ)成本控制問(wèn)題。眾所周知,AI訓(xùn)練數(shù)據(jù)的長(zhǎng)期保存需要大量存儲(chǔ)空間,而企業(yè)又希望盡可能降低存儲(chǔ)成本。如何在性能和成本之間找到平衡點(diǎn),成為存儲(chǔ)架構(gòu)設(shè)計(jì)的關(guān)鍵考量。
以上三點(diǎn),便是非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)面臨的主要挑戰(zhàn)。那么,文件存儲(chǔ)和對(duì)象存儲(chǔ)在非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)中有哪些優(yōu)勢(shì)?企業(yè)又該如何根據(jù)不同的應(yīng)用來(lái)選擇合適的存儲(chǔ)系統(tǒng)?先說(shuō)結(jié)論。
雖然文件存儲(chǔ)和對(duì)象存儲(chǔ)是非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的兩大類(lèi)型,但兩者之間還是有著相對(duì)比較明顯的區(qū)別:
當(dāng)AI應(yīng)用需要快速實(shí)時(shí)訪問(wèn)和頻繁修改數(shù)據(jù)的時(shí)候,文件存儲(chǔ)便是更好地選擇。
當(dāng)需要收集海量數(shù)據(jù),做模型訓(xùn)練以及備份歸檔等應(yīng)用場(chǎng)景時(shí),對(duì)象存儲(chǔ)是更好的選擇。
文件存儲(chǔ)的技術(shù)特點(diǎn)與架構(gòu)優(yōu)勢(shì)
文件存儲(chǔ)(File Storage)是一種將數(shù)據(jù)以文件的形式存儲(chǔ)在存儲(chǔ)介質(zhì)上的方法。每個(gè)文件都有一個(gè)文件名,并存儲(chǔ)在一個(gè)目錄結(jié)構(gòu)中,用戶(hù)可以通過(guò)文件路徑來(lái)訪問(wèn)和管理文件。
文件存儲(chǔ)在AI應(yīng)用中擁有比較明顯的性能優(yōu)勢(shì)。例如在AI模型開(kāi)發(fā)環(huán)境中,工程師通常使用文件系統(tǒng)來(lái)組織和管理他們的代碼、配置文件和實(shí)驗(yàn)數(shù)據(jù)。在分布式訓(xùn)練場(chǎng)景中,當(dāng)AI訓(xùn)練任務(wù)跨多個(gè)節(jié)點(diǎn)運(yùn)行時(shí),所有計(jì)算節(jié)點(diǎn)需要并發(fā)訪問(wèn)相同的訓(xùn)練數(shù)據(jù)集和模型文件。文件存儲(chǔ)系統(tǒng)如Lustre、GPFS專(zhuān)門(mén)針對(duì)這種高并發(fā)訪問(wèn)模式優(yōu)化,能夠?yàn)閿?shù)百甚至數(shù)千個(gè)計(jì)算節(jié)點(diǎn)提供一致的全局命名空間和高吞吐數(shù)據(jù)訪問(wèn)。
除此之外,TensorFlow和PyTorch等AI訓(xùn)練框架都針對(duì)文件系統(tǒng)訪問(wèn)進(jìn)行了優(yōu)化。當(dāng)處理少量大文件或需要復(fù)雜目錄結(jié)構(gòu)的場(chǎng)景時(shí),文件存儲(chǔ)的性能也通常要優(yōu)于對(duì)象存儲(chǔ)。
文件存儲(chǔ)的一致性模型也是其重要優(yōu)勢(shì)。大多數(shù)文件系統(tǒng)提供強(qiáng)一致性保證,即當(dāng)一個(gè)進(jìn)程寫(xiě)入文件后,其他進(jìn)程立即能看到更新后的內(nèi)容。這種特性對(duì)于需要頻繁修改數(shù)據(jù)的應(yīng)用場(chǎng)景非常重要,如多人協(xié)作編輯文檔或?qū)崟r(shí)更新AI模型參數(shù)。我們知道,在模型開(kāi)發(fā)階段,研究人員需要頻繁地修改和測(cè)試不同版本的代碼和參數(shù)。為此,文件存儲(chǔ)提供的強(qiáng)一致性保證和高效小文件操作使其成為理想選擇。
最后,元數(shù)據(jù)操作性能是文件存儲(chǔ)的另一強(qiáng)項(xiàng)。由于文件系統(tǒng)專(zhuān)門(mén)針對(duì)文件和目錄操作進(jìn)行了優(yōu)化,創(chuàng)建、刪除、重命名文件或目錄等操作非常高效。這對(duì)于AI工作流中常見(jiàn)的臨時(shí)文件創(chuàng)建、數(shù)據(jù)集重組等場(chǎng)景至關(guān)重要。某些高級(jí)文件系統(tǒng)還支持?jǐn)U展屬性(xattr),允許用戶(hù)為文件附加自定義元數(shù)據(jù),這為數(shù)據(jù)管理提供了額外靈活性。
因此,文件存儲(chǔ)的這些特點(diǎn)使其特別適合需要頻繁修改、強(qiáng)一致性保證和復(fù)雜權(quán)限管理的應(yīng)用場(chǎng)景,這也解釋了為什么它在AI模型的開(kāi)發(fā)、測(cè)試和推理階段廣受歡迎。
不過(guò),文件存儲(chǔ)通常會(huì)面臨擴(kuò)展性限制。傳統(tǒng)文件系統(tǒng)的目錄結(jié)構(gòu)雖然直觀,但當(dāng)目錄中包含數(shù)百萬(wàn)個(gè)文件時(shí),性能會(huì)顯著下降。此外,文件存儲(chǔ)系統(tǒng)通常需要集中式的元數(shù)據(jù)服務(wù)器來(lái)維護(hù)目錄層次結(jié)構(gòu),這在超大規(guī)模部署時(shí)可能成為瓶頸。為解決這一問(wèn)題,新一代分布式文件系統(tǒng)如CephFS采用了更先進(jìn)的元數(shù)據(jù)管理架構(gòu),但仍無(wú)法完全達(dá)到對(duì)象存儲(chǔ)的擴(kuò)展水平。
對(duì)象存儲(chǔ)的技術(shù)特點(diǎn)與架構(gòu)優(yōu)勢(shì)
對(duì)象存儲(chǔ)(Object Storage)是一種以對(duì)象為單位來(lái)處理、存儲(chǔ)和檢索數(shù)據(jù)的存儲(chǔ)架構(gòu)。與傳統(tǒng)的文件存儲(chǔ)和塊存儲(chǔ)不同,對(duì)象存儲(chǔ)將數(shù)據(jù)作為對(duì)象進(jìn)行管理,每個(gè)對(duì)象都包含了數(shù)據(jù)本身、元數(shù)據(jù)以及一個(gè)全局唯一的標(biāo)識(shí)符。這種獨(dú)特的存儲(chǔ)方式使得對(duì)象存儲(chǔ)在處理大量、非結(jié)構(gòu)化的數(shù)據(jù)時(shí)具有明顯的優(yōu)勢(shì)。
由于對(duì)象存儲(chǔ)是通過(guò)API(應(yīng)用程序編程接口)調(diào)用進(jìn)行數(shù)據(jù)的讀寫(xiě),通常基于HTTP或HTTPS協(xié)議,這種設(shè)計(jì)使其天生適合云環(huán)境和分布式應(yīng)用場(chǎng)景。
首先,無(wú)限擴(kuò)展性是對(duì)象存儲(chǔ)最突出的優(yōu)勢(shì)。由于數(shù)據(jù)是作為單獨(dú)的對(duì)象進(jìn)行管理,因此在不同的物理設(shè)備上能夠無(wú)縫地分布這些對(duì)象,從而實(shí)現(xiàn)幾乎無(wú)限的擴(kuò)展能力。因此,對(duì)象存儲(chǔ)非常適合存儲(chǔ)大量非結(jié)構(gòu)化數(shù)據(jù),例如圖片、視頻和日志文件。在實(shí)際應(yīng)用中,單個(gè)對(duì)象存儲(chǔ)系統(tǒng)可以輕松管理EB級(jí)(百萬(wàn)TB)數(shù)據(jù),而無(wú)需像文件系統(tǒng)那樣面臨目錄結(jié)構(gòu)復(fù)雜度的限制。
其次,對(duì)象存儲(chǔ)能夠提供更高的數(shù)據(jù)可靠性。由于對(duì)象存儲(chǔ)系統(tǒng)通常會(huì)將數(shù)據(jù)復(fù)制到多個(gè)服務(wù)器和地理位置,以確保數(shù)據(jù)的持久性和高可用性。這意味著即使發(fā)生硬件故障或其他類(lèi)型的系統(tǒng)故障,數(shù)據(jù)仍然可以安全地恢復(fù)。
最后,對(duì)象存儲(chǔ)能夠更好地降低數(shù)據(jù)存儲(chǔ)成本。由于采用了按照使用量付費(fèi)的模式,用戶(hù)可以根據(jù)實(shí)際需求進(jìn)行付費(fèi),而不用提前投資大量的存儲(chǔ)設(shè)備。此外,對(duì)象存儲(chǔ)的硬件利用率也更高,因?yàn)樗梢栽谕ㄓ梅?wù)器上部署,不需要專(zhuān)門(mén)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)設(shè)備。同時(shí),對(duì)象存儲(chǔ)支持多種存儲(chǔ)層級(jí)(標(biāo)準(zhǔn)、低頻訪問(wèn)、歸檔、冷歸檔等),用戶(hù)可以根據(jù)數(shù)據(jù)訪問(wèn)頻率選擇最經(jīng)濟(jì)的存儲(chǔ)方式,進(jìn)一步降低成本。因此,對(duì)于AI訓(xùn)練數(shù)據(jù)這類(lèi)通常只需一次性讀取的大數(shù)據(jù)集,低頻訪問(wèn)存儲(chǔ)能顯著降低存儲(chǔ)成本。
雖然對(duì)象存儲(chǔ)有諸多優(yōu)勢(shì),但其通常針對(duì)大文件順序讀寫(xiě)優(yōu)化,對(duì)于頻繁的小文件隨機(jī)訪問(wèn)或修改操作,性能不如文件存儲(chǔ)系統(tǒng)。此外,大多數(shù)對(duì)象存儲(chǔ)系統(tǒng)也不支持文件鎖定機(jī)制,不適合需要強(qiáng)一致性保證的應(yīng)用場(chǎng)景。因此,在AI工作流中,對(duì)象存儲(chǔ)更適合存儲(chǔ)靜態(tài)的訓(xùn)練數(shù)據(jù)集和模型快照,而不適合頻繁更新的臨時(shí)文件或?qū)崟r(shí)日志。
寫(xiě)在最后:
雖然文件存儲(chǔ)和對(duì)象存儲(chǔ)有著比較大的區(qū)別,但在實(shí)際應(yīng)用過(guò)程中,兩者并非互斥選擇。企業(yè)可以根據(jù)自己的實(shí)際需求,將活躍數(shù)據(jù)放在文件存儲(chǔ)中,而將冷數(shù)據(jù)歸檔到對(duì)象存儲(chǔ),這種混合式的存儲(chǔ)架構(gòu),更能夠滿足AI應(yīng)用的需求。