大型語言模型 (LLMs) 的快速進展揭示了模型部署和通信中的關鍵基礎設施挑戰。隨著模型的規模和複雜性增加,它們面臨著重大的儲存、記憶體和網路帶寬瓶頸。模型大小的指數增長對計算和基礎設施造成了壓力,特別是在數據傳輸和儲存機制上。目前的模型如 Mistral 每月生成超過 40 PB 的傳輸信息,並需要大量的網路資源。模型檢查點和分散式更新的儲存需求可能會累積到原始模型大小的數百倍或數千倍。
現有的模型壓縮研究已開發出多種方法來減少模型大小,同時努力保持性能。四種主要的模型壓縮方法已經出現:剪枝、網路架構修改、知識蒸餾和量化。在這些技術中,量化仍然是最受歡迎的,故意以準確性來換取儲存效率和計算速度。這些方法的共同目標是減少模型的複雜性,但每種方法都有其固有的限制。剪枝可能會刪除關鍵的模型信息,蒸餾可能無法完美捕捉原始模型的細微差別,而量化則引入了熵的變化。研究人員也開始探索結合多種壓縮技術的混合方法。
來自 IBM Research、特拉維夫大學 (Tel Aviv University)、波士頓大學 (Boston University)、麻省理工學院 (MIT) 和達特茅斯學院 (Dartmouth College) 的研究人員提出了 ZipNN,這是一種專門為神經網路設計的無損壓縮技術。這種方法在減少模型大小方面顯示出巨大潛力,能夠在流行的機器學習模型中實現顯著的空間節省。ZipNN 可以將神經網路模型壓縮最多 33%,某些情況下顯示出超過 50% 的原始模型大小的減少。當應用於像 Llama 3 這樣的模型時,ZipNN 的表現超過了普通壓縮技術 17% 以上,並提高了壓縮和解壓縮速度 62%。這種方法有潛力每月從大型模型分發平台如 Hugging Face 節省一個 ExaByte 的網路流量。
ZipNN 的架構旨在實現高效的並行神經網路模型壓縮。其實現主要用 C 語言編寫(2000 行),並附有 Python 包裝(4000 行),利用 Zstd v1.5.6 庫及其 Huffman 實現。核心方法圍繞著一種分塊方法,允許對模型片段進行獨立處理,這使其特別適合具有多個並行處理核心的 GPU 架構。壓縮策略在兩個粒度級別上運作:塊級別和字節組級別。為了增強用戶體驗,研究人員實現了與 Hugging Face Transformers 庫的無縫集成,實現自動模型解壓縮、元數據更新和本地緩存管理,並提供可選的手動壓縮控制。
ZipNN 的實驗評估是在一台配備 10 顆核心和 64GB RAM 的 Apple M1 Max 機器上進行的,運行 macOS Sonoma 14.3。模型的可壓縮性顯著影響了性能變化,FP32 常規模型約有 3/4 的內容無法壓縮,而 BF16 模型則為 1/2,乾淨模型則更少。與 LZ4 和 Snappy 的比較測試顯示,雖然這些替代方案更快,但提供的壓縮節省為零。下載速度測量顯示出有趣的模式:初始下載速度範圍為 10-40 MBps,而緩存下載的速度顯著提高,範圍為 40-130 MBps,具體取決於機器和網路基礎設施。
對 ZipNN 的研究突顯了當前機器學習模型的一個關鍵見解:儘管模型的增長和過度參數化,但在模型儲存和通信中仍然存在顯著的低效率。研究顯示模型架構中存在大量冗餘,可以通過針對性的壓縮技術系統性地解決。雖然目前的趨勢偏向大型模型,但研究結果表明,可以在不妨礙模型完整性的情況下節省大量的空間和帶寬。通過針對神經網路架構量身定制壓縮,可以以最小的計算開銷實現改進,為日益增長的模型可擴展性和基礎設施效率挑戰提供解決方案。
新聞來源
本文由 AI 台灣 使用 AI 編撰,內容僅供參考,請自行進行事實查核。加入 AI TAIWAN Google News,隨時掌握最新 AI 資訊!