在 GCP 上對第五代 Xeon 進行語言模型效能基準測試
介紹
該文章說明輕量級代理 AI 工作負載可以在僅 CPU 的實例上高效運行,這透過在兩個基於 Xeon 的 Google Cloud VM 上進行文字嵌入與生成的基準測試得以證明。
建立實例
N2 實例建立
在 Google Cloud 中建立具有 96 個 vCPU(一個 Ice Lake 插槽)的 N2 實例,選擇 N2 機型 n2-standard-96,將 CPU 平台設為 Ice Lake,保持 OS 和存儲的預設值,然後點擊 CREATE。
C4 實例建立
為了建立與 N2 核心數匹配、具有 96 個 vCPU(一個 Emerald Rapids 插槽)的 C4 實例,選擇 C4 機型 c4-standard-96,可選擇啟用所有核心的 Turbo 以獲得穩定效能,保持與 N2 相同的 OS 和存儲設定,然後點擊 CREATE。
設置環境
透過克隆 optimum‑benchmark 儲存庫、檢出提交 d58bb2582b872c25ab476fece19d4fa78e190673、構建 Docker 映像、安裝帶有 IPEX 支持的 optimum‑intel、設置 OpenMP 線程親和性,以及登入 Hugging Face 以訪問 Llama 模型來準備環境。
基準測試
文字嵌入基準測試
該基準測試使用 WhereIsAI/UAE-Large-V1 模型,序列長度為 128,批次大小從 1 到 128,在更新 YAML 以綁定兩個 NUMA 節點後,透過執行 optimum-benchmark --config-dir examples/ --config-name ipex_bert 來運行。
文字生成基準測試
該基準測試使用 meta-llama/Llama-3.2-3B 模型,輸入長度為 256,輸出長度為 32,批次大小從 1 到 64,在更新 YAML 以綁定兩個 NUMA 節點後,透過執行 optimum-benchmark --config-dir examples/ --config-name ipex_llama 來運行。
結果與結論
文字嵌入結果
在測試的批次大小範圍內,C4 實例的文字嵌入吞吐量約比 N2 實例高 10× 到 24×。
文字生成結果
C4 實例在文字生成方面的吞吐量約比 N2 實例高 2.3× 到 3.6×;對於批次大小 1 到 16,吞吐量提升約為 13×,且不顯著增加延遲,從而允許併發查詢服務。
結論
效能提升源自第五代 Xeon(Emerald Rapids)CPU 的 Intel AMX 與記憶體改進。隨著即將推出的 Granite Rapids(Xeon 6)預計可在 Llama 3 上再帶來約 2× 的效能提升,作者預期能夠完全在 CPU 上運行輕量級代理 AI 解決方案,以避免主機‑加速器流量開銷,前提是 Google Cloud 能提供 Granite Rapids 實例。