作者:西部數據公司 企業級Device產品管理部副總裁Ulrich Hansen 各領域的業務都在將以AI為例的機器學習技術引入其流程中,以期為客戶帶來更好的產品,為股東創造更高的營收成果。然而,要有效部署AI,需要自定義的機器學習模型、大量的計算和數量不可預估的數據。處理PB級數據,無論這數據是來自于最小的物聯網設備還是世界上最大的城市,這一任務對設計于兆字節和毫秒的時代的存儲技術來說都將是一大挑戰。 為機器學習提供所有的數據,就需要為內存速度存儲設計一項新的存儲接口技術:NVM Express (NVMe)。NVMe與SATA和SAS不同,它消除了磁盤為中心協議的延遲誘導水平,而使用更快的通用處理器連接技術和PCI Express (PCIe)來減少延遲,為每個設備提供大量的帶寬能力。對于PB級別的專注和微秒的處理使得NVMe非常適合機器學習。 數據是AI傳遞途徑 機器學習的關鍵是數據。生成有意義的結果需要處理大量數據,這就要求我們有經過深思熟慮的數據工作流程。每個公司都有著不同的數據工作流程,以滿足其自身的業務需求,流程可大概分為以下階段:收集、準備、設計和訓練。這四個階段的數據工作流程輸出的通常是可以對邊緣或核心的新數據進行推斷的模型。由于需要大量的數據,因此所有階段都需要通過其對數據流的優化,避免出現瓶頸。NVMe接口的設計就是為了滿足此要求,可以通過以下四種方式為AI的傳遞途徑提供幫助: • 更快捷、更經濟實惠的數據收集 • 更快速的數據集準備周期 • 更短的模型設計周期轉變時間 • 更有硬件效率的模型訓練 NVMe用于更智能的數據收集 實現AI首先會面臨到的挑戰即是如何將原始數據收集到集中式數據存儲中。這些數據的種類幾乎是無限的:包括來自IOT設備的傳感器報告、網絡日志、制造質量報告等。事實上,數據是由例如Apache Spark之類的工具或商業服務對該任務進行處理,然后在新的數據流中進行篩選,最后將非結構化數據輸出到NoSQL數據庫集群中。NVMe在提高其反應速度的同時,還能減少占用這些服務器的物理空間。 傳統的非結構化查詢語言(NoSQL=Not Only SQL)集群由具有多個本地硬盤接口的服務器和SATA硬盤組成。硬盤確實為PB級的數據提供了經濟實惠的存儲方法,但要實現更大的帶寬,需要通過幾十個SATA或SAS硬盤與服務器連接。此架構明顯增加了單個服務器的大小,并且快速填充數據中心的機架,其中CPU服務器卻大多處于空閑的狀態。 單獨的NVMe接口即可為多種獨立的SATA或SAS接口提供所需的帶寬,且只需要一個附加卡或2.5寸硬盤。用更小的NVMe SSD替換單個NoSQL服務器的大硬盤陣列,可以縮小單個NoSQL節點并顯著減少整個機架的空間。 NVMe用于更智能數據準備 當今AI訓練的一個必要前提就是擁有TB級或PB級的數據。但通常該數據并不是隨時可用的格式。需要將數據轉化成更容易被AI傳遞途徑處理的格式,過濾掉異常值和虛假數據。對于部分不適合使用或不能合法使用的數據,例如受到保護的個人信息,也可能需要在這一階段將其過濾掉。 這種處理需求可能會超過一個存儲系統的可受范圍,如果該存儲系統不是為高吞吐量而設計的話。與NVMe基于PCIe高達6.4GB/s或更高的帶寬相比,SAS和SATA的每個接口的有限帶寬顯得相對緩慢。同時在這一準備階段,帶寬不是存儲系統的唯一要求:并行性也是一大關鍵因素。由于處理的數據量非常大,因此,在這一處理階段,并行操作存在于集群中的多個服務器,以及在單個服務器中多個核心上。NVMe支持高達64K的命令隊列和64K的命令,簡化了這些服務器內的并行操作。 NVMe用于更智能的模型設計 在將數據清理、準備成統一且容易理解的格式后,數據科學家的工作才正要開始。由于每個問題都是不同的,因此很多時候,科學家需要迭代地開發出獨特的機器學習結構。只有在多次試驗和失敗后,較小的數據子集才能成為候選的可訓練模型,發送到下一個處理階段。畢竟在所有科學工程項目在得到最終解決方案前,都會經歷過許多錯誤,因此需要進行多次的嘗試。 在試錯的過程中,單個循環的速度會對最后的模型設計和產生的機器學習模型的質量造成外部影響。而將設計測試的循環時間從10個小時縮短到8個小時,會使數據科學家的效率翻倍。科學家可以在早上設計和運行測試,獲得結果,并及時調整參數,而不是在早上開始工作,直到第二天才看到結果。以每天進行一個測試的效率來說,科學家在下午下班前就能開始另一項工作,每天能有兩個循環的效率。 就如之前的階段,NVMe帶寬和并行性發揮其作用,幫助提高數據科學家的效率。在科學家們的個人工作室,他們對模型進行沙盤推演的測試,利用NVMe的低延時性運行系統、測試數據集,并為分析和測試運行提供更快的暫存空間。 NVMe用于更智能的模型訓練 在數據工程師將數據格式化成為可用于機器學習的格式,同時數據科學家對學習模型的結構進行設計后,網絡的實際訓練才正式開始。通過無數配備了加速器的機器將格式化后的數據提取出來,并用它來提煉模型的參數,直到將數據匯聚成一個模型,才可用于實際的推理應用。 基于GPU的早期加速技術很少受到I/O的限制,因此存儲性能往往不是我們關注的焦點。運行服務器的通用CPU有充足的時間處理I/O操作,并為GPU準備下一批數據。但這在現今早已不適用了,其擁有FPGA,甚至實現了ASIC硬件定制以進行模式訓練。 相比以前的技術,由于現代機器學習加速器可以更快地處理數量級的數據,運行服務器的通用CPU需要能有效地處理I/O數量級的模式。像SATA和SAS這樣的傳統I/O棧浪費了寶貴的CPU周期,將I/O請求轉換為上世紀設計的協議。這樣就增加了I/O請求的延遲,會直接影響加速器的使用。這些遺留I/O棧也增加了主機CPU的負載,限制了每個處理器上可運行的加速器的數量。 由于從一開始就將NVMe設計成為內存速度存儲協議,因此其不會產生協議轉換的成本。這就減少了處理器的負載,有助于保證及時將數據反饋到下一代加速器中。目前正在研究的NVMe協議具有一個激動人心的擴展—控制器內存緩沖(CMB),允許NVMe設備在不受主機干預的情況下,得以直接處理內存轉換并進一步減少負載。 NVMe-用于更智能的AI 機器學習和AI是建立在數據之上。從最初的數據收集、將其處理為可用的格式、開發學習架構、到最后訓練的模型都需要一個在PB級規模上有效的存儲接口,并且針對微秒級延遲進行優化。NVMe作為一項提升內存速度的存儲技術能為機器學習和其它應用提供所需的存儲接口。 關于作者: Ulrich Hansen,西部數據公司企業級Device產品管理部副總裁。他負責西部數據公司企業級SSD產品組合的產品策劃、生產線管理和技術市場,包括確保在新產品和技術成功引入公司和數據中心市場時,對公司下一代的SSD產品進行定義。同時他還負責市場機遇和新興產品的評估、新產品需求定義、將客戶和行業合作伙伴與西部數據的產品和技術戰略相結合。 Ulrich Hansen擁有超過20年的高科技領域經驗,包括服務器、存儲、網絡和通訊系統。在HGST加入西部數據之前,Ulrich Hansen曾任Entorian Technologies市場部的高級總監,并在A.T. Kearney和戴爾等管理咨詢公司和科技公司擔任產品開發、市場規劃和企業策略等高級職位。 Ulrich Hansen擁有德克薩斯大學奧斯汀分校企業管理碩士學位以及德國亞琛工業大學電氣工程的碩士學位。 |