h3-metal: Apple Silicon 原生 MiniMax-H3 推理引擎

h3-metal 為 Apple Silicon 提供原生的 MiniMax-H3 推理功能,實作了一系列優化的垂直切片技術,包括確定性的主機/模型元數據、可移植的 Metal block 等效性,以及對 prompt-to-video/audio、首/尾幀條件控制和有序參考的端到端支援。該專案專注於在 M3 Max 和 M5 Max 硬體上實現效能與記憶體效率的最大化。

高效能推理預設值

使用者可以透過幾個獨立的控制項來平衡生成速度與輸出品質。預設配置為 20 次去噪次數(denoising passes)、50 個 transformer blocks 以及 1 的重用因子(reuse factor)。

速度與品質權衡

控制項 慢速參考值 預設值 激進模式 主要影響
去噪次數 --steps 50 --steps 20 --steps 4..7 實際去噪次數的總量。
整體去噪器重用 --reuse 1 --reuse 2 --reuse 3 減少新的 DiT 評估次數(例如,20 步 $\to$ 11 或 8 步)。
啟動 DiT Blocks --layers 50 --layers 45 --layers 40 減少運算量與常駐的 transformer weights。
核心殘差重用 --core-reuse 1 --core-reuse 4 --core-reuse 6 每一步都刷新 patch/head 工作,但減少昂貴的核心運算次數。
Token 減少 Off Optional --token-reduction 在中間層將水平影片 Token 配對;速度較快但可能影響構圖。
內部畫布 輸出尺寸 384x384 320x320 以較小的 DiT/VAE 運行,然後透過 vImage 進行放大。

效能基準測試

在 M5 Max 上,針對 512 平方、22 幀的測試進行四次去噪大約需要 3.5 秒,而 29 次去噪的參考值則需要 26.4 秒。在 512 平方畫布上使用 token reduction 將去噪時間從 16.69 秒減少到 12.60 秒。

進階條件控制與媒體支援

h3-metal 支援多種條件控制路徑,以實現超越簡單文字提示詞的影片生成控制。

幀錨定與參考

  • FL2VA 路徑: 使用 --first-frame--last-frame 來錨定影片序列的開始與結束。
  • Ref2VA 路徑: 透過 --ref-image--ref-silent-video--ref-video 使用有序參考,以維持主體與場景的一致性。
  • 音訊整合: 支援透過 --ref-audio 使用獨立音訊參考,或在影片參考中嵌入音訊。音訊輸入總計上限為 15 秒,最多支援三個輸入。

解析度與時長

寬度與高度必須是 32 的倍數,最大乘積為 $768 \times 1344$ 像素。模型會將幀請求向上對齊到特定的時間形狀 ($5 + 17n$)。例如,22 幀會產生大約 0.917 秒的影片(在 24 fps 下),而 243 幀則會產生 10.125 秒。

技術實作與 Metal 優化

h3-metal 引擎採用了多種深層優化技術,以減少 Apple Silicon 上的記憶體佔用並提高吞吐量。

記憶體與權重管理

在 M5 級別的 GPU 上,transformer weights 直接從 safetensor shards 映射,以保持 37 GiB 的模型檔案為檔案後備(file-backed)且可回收。Qwen 文字編碼器使用串流方式,透過由 I/O 工作員填充的未來層緩衝區環形結構,使編碼過程與 Metal 執行重疊。

Metal 4 與 TensorOps

M5 GPU 利用原生的 BF16 Metal 4/TensorOps 進行 DiT QKV 與注意力輸出投影。實作中使用了緊湊的 Morton schedule 來將 Q/K/V 直接路由至 head-major 注意力輸入,從而避免了三次 MPSGraph 輸入轉置。

Int8 量化

預設的 M5 路徑使用原生的 int8 MLP 引擎,具備動態激活量化與每輸出通道的權重縮放。這顯著地將峰值張量儲存從 36.4 GiB (BF16) 減少到 25.9 GiB。進一步的優化包括:

  • 量化 QKV: 在 M5 上將去噪時間從 25.80 秒減少到 19.32 秒。
  • 融合核心(Fused Kernels): 將 QKV 與 MLP 激活量化整合進前一個 gated AdaLN kernel,在每次 50 層的前向傳播中減少了 99 次獨立的量化器派遣(dispatches)。

社群洞察與替代方案

使用者之間的討論突顯了原生 Metal 實作與通用框架之間的顯著效能差距。

"在我的 128GB M4 Max Mac Studio 上,使用 ComfyUI 中的 MiniMax H3 生成 15 秒 480p 影片需要一個半小時。"

使用者指出,雖然高記憶體配置(例如 128GB)對於達到峰值效能是理想的,但能夠在 Mac 硬體上本地運行這些模型是對於「本地優先」工作流的重要進展,即使專門的 CUDA 硬體仍然更快。

Sources

相關