人工智能和機器學習將成為幫助企業利用其核心數字資產創造競爭優勢的兩個最重要的工具。但在采用人工智能數據存儲之前,企業必須考慮一系列基于機器學習平臺如何獲取、處理和保留數據的需求。
首先,企業需要檢查機器學習軟件使用的數據的生命周期,因為這可以幫助企業了解為人工智能選擇存儲時應考慮的事項。最初,企業必須獲取數據來訓練機器學習或人工智能算法。這些是處理數據以學習任務的軟件工具,例如識別對象、處理視頻和跟蹤運動。數據可以從多種來源產生,并且通常本質上是非結構化的,例如對象和文件。
人工智能的訓練過程需要使用數據資產,并使用機器學習或人工智能軟件創建算法,以處理未來的數據源。在訓練或開發算法時,人工智能軟件將處理源數據,以開發一個模型,該模型可以創建企業需要獲得的洞察力或收益。
開發機器學習算法很少作為一個單一的過程來完成。隨著企業積累新的數據,其算法得到了改進和完善。這意味著很少的數據被丟棄,相反,它會隨著時間的推移而增長并重新處理。
購買人工智能數據存儲的標準
在企業為人工智能平臺選擇存儲之前,必須首先考慮以下注意事項:
1.成本。人工智能數據存儲的成本是企業考慮的關鍵因素。顯然,企業管理層和參與采購決策的管理人員都希望其存儲盡可能具有成本效益,并且在許多情況下,這將影響企業的產品選擇和策略。
2.可擴展性。在此需要強調收集、存儲和處理大量數據以創建機器學習或人工智能模型的必要性。機器學習算法要求源數據呈指數增長,以實現精度的線性提高。創建可靠和準確的機器學習模型可能需要數百TB甚至PB的數據,而且這只會隨著時間的推移而增加。
構建PB級存儲系統通常意味著使用對象存儲或橫向擴展文件系統。現代對象存儲當然可以解決人工智能工作負載的容量需求,但是它們可能無法滿足其他標準,例如高性能。橫向擴展文件系統可以提供高性能和良好的可擴展性,但是將整個數據集存儲在單個平臺上可能會很昂貴。由于可擴展性要求和大容量產品的成本,塊存儲通常不是機器學習或人工智能的正確選擇,因為高容量產品的可擴展性要求和成本。這里唯一的例外是在公共云中。
存儲成本的變化引入了分層或使用多種存儲類型來存儲數據的思想。例如,對象存儲是存儲大量非活動人工智能數據的良好目標。當需要處理數據時,可以將其移動到高性能文件存儲集群或為高性能而設計的對象存儲中的節點,并且在處理完成后可以將數據移回。
3.性能。人工智能數據的存儲性能包括三個方面。首先可能也是最重要的是延遲。這定義了軟件發出的每個I/O請求的處理速度。低延遲很重要,因為改善延遲會直接影響創建機器學習或人工智能模型所需的時間。復雜的模型開發可能需要數周或數月的時間才能運行。通過縮短此開發周期,企業可以更快地創建和完善模型。在檢查延遲功能時,由于對象訪問的數據流特性,對象將引用時間存儲到第一個字節,而不是單個I/O請求的延遲。
存儲性能的另一個方面是吞吐量,這是可以將數據寫入存儲平臺或從存儲平臺讀取數據的速度。系統吞吐量很重要,因為人工智能培訓會處理大量數據集,通常會反復讀取和重新讀取相同的數據以準確地開發模型。機器學習和人工智能數據的來源(例如自動駕駛汽車上的傳感器)每天可以產生數TB的新數據。所有這些信息都必須添加到現有數據存儲中,并且對任何現有處理的影響最小。
正確設置存儲平臺至關重要,因為涉及的數據量非常大。
存儲性能的最后一個方面是并行訪問。機器學習和人工智能算法并行處理數據,運行多個任務,這些任務可以多次讀取同一數據,并跨越多個并行任務。對象存儲擅長并行讀取I/O處理,因為沒有對象鎖定或屬性可管理。文件服務器跟蹤內存中打開的I/O請求或文件句柄。因此,I/O請求的數量取決于平臺上可用的內存。
機器學習的數據可以由大量的小文件組成。在這個領域,文件服務器可以提供比對象存儲更好的性能。向人工智能存儲供應商提出的一個關鍵問題是,其產品的性能特征將如何在大文件類型和小文件類型之間發生變化。
4.可用性和耐用性。機器學習和人工智能學習模型可以長期連續運行。通過訓練開發算法可能需要幾天或幾周的時間。在此期間,存儲系統必須啟動并持續可用。這意味著任何升級、技術更換或系統擴展都需要在不停機的情況下進行。
在大型系統中,部件故障是正常的,必須按此處理。這意味著用于人工智能工作的任何平臺都應該能夠從設備(例如HDD硬盤或SSD硬盤)和節點或服務器故障中恢復。對象存儲使用擦除編碼在多個節點上廣泛分布數據,并將組件故障的影響降到最低。有擦除編碼技術可以擴展文件系統以提供同等的彈性級別。擦除編碼方案的效率非常重要,因為它直接關系到讀寫I/O的性能,特別是對于小文件。
由于大多數大型對象存儲太大而無法定期備份,因此可靠的擦除編碼成為人工智能存儲平臺的基本功能。
5.公共云。開發機器學習和人工智能算法既需要高性能的存儲又需要高性能的計算。許多人工智能系統都基于GPU(例如Nvidia DGX),可以減輕開發精確算法所涉及的許多復雜數學計算的負擔。
公共云服務提供商已開始提供可用于機器學習的GPU加速虛擬實例。在公共云中運行機器學習工具可以降低構建機器學習開發基礎設施的投資和成本,同時提供擴展開發機器學習模型所需基礎設施的能力。
使用公共云計算面臨的挑戰是如何以經濟高效和實用的方式將數據導入公共云。基于云計算的對象存儲速度太慢,無法滿足機器學習的I/O需求;因此,必須使用本地塊存儲。每延遲一分鐘傳輸數據以及執行機器學習的延遲,就意味著增加運行基礎設施的成本。
公共云的另一個問題是數據出口的成本。盡管云計算服務提供商不收取將數據移動到其平臺的費用,但他們確實會收取從其平臺之外的公共網絡訪問的任何數據的費用。因此,盡管公共云在計算方面提供了靈活性,但以一種及時且經濟高效的方式在云中進出數據并不總是那么簡單。
供應商正在開發存儲產品,以在其內部部署和公共云中運行其產品。這些產品可以有效地復制數據或將數據移至云中,并且只在完成后才將結果移回。這些復制技術具有高帶寬效率,使在本地存儲數據并導入到云中進行分析工作變得切實可行。
6. 整合。在本文中,將機器學習和人工智能的存儲方面與計算隔離開來。構建人工智能數據存儲可能很困難,因為存儲網絡和調整存儲必須考慮其他因素才能與機器學習應用程序一起工作。
產品的預包裝使供應商能夠在將產品交付給客戶之前對其產品進行測試和優化。如今,有一些存儲產品將流行的人工智能軟件、通用CPU和GPU等計算、網絡和存儲設備結合在一起,以提供支持人工智能的平臺。在部署這些系統之前,許多詳細的調整工作已完成。盡管成本可能是一個問題,但對于許多客戶而言,預包裝的系統可以減少采用人工智能存儲的障礙。
顯然,選擇合適的人工智能數據存儲平臺是性能、可擴展性和成本等指標的平衡。正確使用存儲平臺至關重要,因為涉及的數據量很大。選擇錯誤的產品可能是一個代價高昂的錯誤。與任何存儲產品決策一樣,重要的是與供應商溝通,以準確了解他們的產品如何滿足人工智能和機器學習的需要。該參與過程應該包括演示和評估,并作為企業采購決策的前奏。