MuseAI 是一款專為設計專業人士量身定制的先進 AI 繪圖工具,旨在提供卓越的繪畫體驗,并為設計團隊打造一個既穩定又易于管理的創作平臺。
原標題:顯卡在偷懶?阿里大模型創作平臺 MuseAI 極速模型切換技術提升 AI 創作效率
文章來源:AI前線
內容字數:32246字
阿里MuseAI平臺AIGC創作工作臺性能優化實踐
本文介紹了阿里巴巴愛橙科技研發的面向阿里內部的AIGC創作工作臺MuseAI(以及其對公眾開放的魔搭社區AIGC專區)的性能優化實踐。文章重點分析了平臺因頻繁切換Diffusion Pipeline導致的用戶體驗和資源浪費問題,并從網絡傳輸、內存管理、Host-to-Device、模型量化等多個方面進行了優化。
1. 性能問題與挑戰
MuseAI集成了大量的模型(基礎模型、LoRA微調模型、ControlNet控制模型及輔助性模型),導致頻繁的模型切換。這帶來了以下性能問題:
- 端到端生成時間過長:模型下載、加載和切換時間占據了大部分時間。
- 緩存未命中率高:大量模型難以全部緩存到磁盤或內存。
- GPU資源浪費:長時間的模型加載導致GPU空閑。
2. 優化策略與方法
為了解決上述問題,MuseAI團隊從以下幾個方面進行了優化:
2.1 模型加載優化
- 存儲介質選擇:根據業務特性,公司內部使用高性能分布式存儲“盤古”+fsfuse,公有云使用NAS。fsfuse通過緩存機制和Direct I/O技術提升讀取效率。
- NAS最佳實踐:調整Linux內核參數(nconnect),增加NAS與客戶端之間的連接數,提高帶寬利用率。采用多線程并發讀取模型文件。
- 盤古+fsfuse最佳實踐:統一掛載模型父目錄,采用順序讀取模式,充分利用fsfuse的預讀取和緩存機制,使用Direct I/O技術。
2.2 模型切換優化
- 執行順序優化:先加載state dict,再將模型遷移到GPU,避免不必要的CPU-GPU數據拷貝。
- H2D傳輸性能優化:使用內存池管理pinned memory,減少內存分配和拷貝次數,并使用多線程并發傳輸。
- Skip init技術:跳過nn.Module構造時冗余的初始化過程,減少加載時間。
2.3 內存管理與復用
- Pinned memory內存池:避免重復malloc內存,減少內存分配和釋放操作。
- 直接讀取到pinned memory:消除一次內存拷貝,提高效率。
- 兩級內存池設計:根據模型大小分配內存,實現內存復用。
- 在pinned memory上構造state_dict:直接在預分配的pinned memory中構造tensor,減少內存拷貝。
2.4 模型量化
將模型轉換為FP8精度,減少模型大小和顯存占用,利用新一代GPU架構的FP8計算能力提升推理速度。
2.5 T5化部署 (技術儲備)
將T5模型部署為Embedding Server,通過RPC調用獲取文本嵌入向量,減少模型加載和卸載操作。該方案因工程復雜度和穩定性風險,最終未應用到生產環境。
3. 實驗結果與分析
實驗結果顯示,優化后的MuseAI在冷啟動和模型切換性能方面均優于Diffusers和WebUI-forge,尤其是在NAS環境下,性能提升顯著。
4. 結論
通過一系列優化措施,MuseAI平臺顯著提升了模型加載和切換速度,改善了用戶體驗,并有效降低了資源浪費。這項工作為AIGC平臺的性能優化提供了寶貴的經驗和參考。
聯系作者
文章來源:AI前線
作者微信:
作者簡介:面向AI愛好者、開發者和科學家,提供大模型最新資訊、AI技術分享干貨、一線業界實踐案例,助你全面擁抱AIGC。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
相關文章
暫無評論...