相信很多人還記得AI芯片公司世界語今年發布的千核RISC-V處理器ET-SoC-1。隨著這款7nm芯片在第二季度的成功流回,世界語得以在芯片上運行代碼,并嘗試新的應用方向,其中之一就是AI-SSD。在最近的三星代工活動上,世界語披露了其AI-SSD的概念模型。
個性化推薦系統的挑戰
當我們刷短視頻,聽歌、瀏覽社交網絡時,部分內容來自我們關注過的用戶,但絕大多數來自推薦系統的推送。推薦系統的準確性很大程度上決定了軟件的用戶體驗,也是當今互聯網經濟體系的命脈。然而,這種推薦往往是服務器上最大的AI處理負載。優化推薦系統可以提高推薦系統的速度,降低服務器的成本。
DLRM深度學習推薦模型/元
說到推薦系統,就不得不說到嵌入,這是目前推薦系統的關鍵組成部分。雖然每個家族都有不同的推薦模型,但或多或少都是利用查找嵌入表的方法來實現分類特征的處理。在這個過程中,嵌入式表存儲在DRAM中,CPU對嵌入式表進行操作,對內存帶寬和內存容量提出了雙重挑戰。
在內存帶寬方面,美團、騰訊等廠商都采用了多GPU加速來充分利用GPU帶寬,但這種方式還是需要多GPU或多服務器的支持來解決容量問題。雖然廠商也可以選擇HBM這樣的大帶寬內存方案,但成本增加是巨大的。
據Meta介紹,在臉書社交網站的個性化推薦系統中,大規模的嵌入式表可以達到百萬行以上,導致推薦模型的大小達到10GB左右,一個神經推薦模型中的所有嵌入式表甚至需要TB級別以上的空間。比如Meta的Instagram已經在開發10TB的推薦模型,百度的廣告排名模型也達到了10TB。這種容量要求對于硬盤來說可能足夠了,但是對于內存來說太奢侈了。
因此,為了解決容量問題,很多人也提出了固態硬盤的存儲解決方案。目前,傳統固態硬盤雖然可以輕松存儲大規模推薦系統,但讀取延遲和帶寬更差,顯著降低了推理性能。
專為推薦而設計的固態硬盤
世界語與三星合作開發了AI-SSD的概念模型,研究將所有嵌入式表處理移入SSD的影響,從而消除了推薦系統中CPU和DRAM的鏈接。三星展示了將使用世界語的ET-SoC-1芯片與其PM9A3 SSD相結合的成果。
在AI-SSD中,所有的嵌入式表都存儲在SSD中,CPU負責所有的用戶數據輸入和深度神經網絡,而SSD中的ET-SoC-1負責嵌入式表的查詢和交互操作。此外,由于選擇了這種內存計算方式,使得PCIe鏈路上的數據傳輸最小化,降低了讀寫的高延遲,最終的分類數據直接發送給CPU生成推薦結果。
AI-SSD帶寬性能測試結果/世界語
在測試中,世界語選擇了Meta的開源推薦模型DLRM,將AI-SSD與傳統的CPU-SSD進行對比。在不同的型號配置下,AI-SSD的讀取帶寬可以提高10到100倍,并且帶寬可以隨著使用內核數量的增加而繼續線性增加。
請注意,在這次測試中,世界語最多只使用了四個Minion Shire,每個節點只有32個內核。整個ET-SoC-1有34個子節點和1088個內核。如果所有計算單元都用于SSD,提升將達到數百倍甚至更多,非常適合數據中心級別的SSD產品。ET-SoC-1的可擴展性也可以使其減少內核數量,用于一些邊緣推薦系統。
計算交換空間
但是,即使使用AI-SSD,也是增加硬件成本的一種方式。除了不缺錢的大公司會用這款產品,一些小的互聯網應用可能不會直接選擇替代SSD的方式。因此,只有一種方法可以繼續優化推薦模型。
佐治亞理工學院和梅塔學院為DLRM提出了一種張量訓練壓縮方法,命名為TT-Rec。這種方法通過將嵌入表乘以幾個小矩陣來壓縮嵌入表,進一步減小了嵌入表的大小。然而,這種額外的計算是不可避免的額外消耗,但幸運的是,它的評估結果足夠優秀。
在Kaggle和Terabyte數據集的測試訓練下,TT-Rec將數據分別從2.16GB和12.57GB壓縮到18.36MB和0.11GB,整體大小壓縮超過100倍,甚至幾乎沒有精度損失。額外的操作體現在訓練時間上,分別增加了14.3%和13.9%。因此,在實際使用中,我們必須在記憶容量、模型精度和訓練時間之間做出一定的權衡。
總結
雖然從推薦系統配置的角度來看,還有很多可供選擇的解決方案,但關于存儲與計算融合的研究已經全面鋪開。存儲市場正在迅速與計算市場重疊。三星、西數、希捷等存儲廠商紛紛開始這種布局,傳統的馮諾依曼架構將被近數據處理取代。