2026 年跨區租用遠端 Mac M4:Stable Diffusion Core ML 圖生圖批次工作階段、統一記憶體佇列與磁碟快取決策矩陣

2026 年 5 月 7 日 · 約 6 分鐘 · MacCompute 技術團隊 · 架構與成本

算力租用者:在香港、新加坡、日本、南韓或美西租用 Mac mini M4,以 Core MLStable Diffusion 圖生圖批次時,權重、圖編譯快取、佇列與解碼暫存會一起壓在統一記憶體與內建 NVMe 上。下文用決策矩陣收斂批推理形狀、並發工作階段、磁碟快取策略與 WqWc 分離逾時,並附可貼上的探針與環境變數(不宣稱固定張/秒)。延伸:《Core ML mlmodelc 與批推理》、《ONNX Runtime CoreML EP 矩陣》、《WhisperKit 佇列逾時》、《跨區延遲與租購成本》。公開頁:首頁方案/定價購買說明中心

租用痛點(遠端 M4 上最常見的三件事)

  1. 首次編譯像「吞吐掉線」。 mlmodelc 與圖優化與張量共用統一記憶體;第二條工作階段在快取未暖好前開跑,常把 p95 拉得比平均張/分更糟。
  2. 單一逾時混雜失敗型別。 排程等待與擴散步數共用同一倒數時,WAN 拉檔會被記成「模型壞了」,重試還會刷爆磁碟快取目錄。
  3. 物件儲存當暫存。 每張經 TLS 讀磚塊會吃掉 CPU 在加解密,表面看像批推理閒置—請先把熱路徑放回 APFS 前綴再談加機。

決策矩陣(工作負載輪廓 × 批推理 × 磁碟快取 × 逾時)

符號:Wq=取得裝置工作槽前的等待逾時;Wc=單次擴散/批次計算逾時(含首次編譯與暖機)。列為營運出發點,請以自家 checkpoint、macOS 與轉換器版本重跑階梯。

輪廓 批推理形狀 並發工作階段 磁碟快取立場 WqWc
夜間大量圖生圖 固定解析度階梯上調 batch,觀察常駐位元組轉折 16GB:一條主線;24GB:第二條 lane 僅在 swap 平坦時 本機 mlmodelc 與 tile 前綴;冷 bundle 離機歸檔 Wq 寬鬆;Wc 覆蓋編譯+擴散 p95
低延遲 API 批 1~2;步數與 scheduler 鎖版 第二條 lane 用信號量;若編譯與服務共機優先 24GB 部署即暖快取;冷模型次要碟或延後載入 Wq 緊;Wc 中等;編譯與線上分欄位監控
多租戶切片 每租戶 batch/解析度上限 帳號級並發上限;匯出佇列深度 每租戶 TMPDIR 在 APFS 先縮 batch 再放寬 Wc

不宣稱固定張/秒或通用加速比。 ANE/GPU 路由與算子覆蓋率高度依模型與精度;表內為護欄,非 SLA。

模型轉換與批大小

將 UNet/VAE 轉成支援的 mlprogrammlpackage,並把轉換器版本與 checkpoint 指紋寫進主機紀錄。批推理可在固定解析度下階梯加大 batch,直到統一記憶體壓力、planner 警告或尾延遲惡化;若尾端膨脹,優先降步數或改 scheduler,再動 batch。若混用執行期,請同步閱讀《Core ML 編譯與推理》與《ORT CoreML EP》以免兩套堆疊搶快取。

並發工作階段上限

每個佇列工作者同時握有計算圖與解碼狀態。加第二條 lane 前,請確認 vm.swapusage 與記憶體壓力在連續兩輪十分鐘視窗內皆平穩。編排器側請仿《WhisperKit 批次矩陣》拆開 Wq(等節點/等槽)與 Wc(實算),儀表板也分欄,避免把「排隊」誤標成推理失敗。

節點選擇(港新日韓美西)

原則是讓權重儲存與控制面和租用的 Mac 盡量同區或鄰區東京/首爾利東北亞低 RTT;香港/新加坡利大中華與東協 API/桶區;美西利對齊奧勒岡或加州鄰近物件儲存。遷移後請用單次 TLS 大檔校準拉取吞吐,再回寫佇列預算。分區瀏覽(免登入):香港新加坡日本南韓美西;總覽 購買/套餐,並先對照 方案與定價

成本

總成本=時租+跨區出網+冷啟編譯時間+因逾時塌縮造成的重試。未建立磁碟快取紀律就拉高 batch 或並發,往往比換大記憶體檔位更貴(時間與流量)。節點搬遷後請重讀《區域延遲與批次租購心算》再定租期;尖峰驗證可用短租,穩定後再月租。

可執行參數(啟動前可貼)

下列為唯讀探針環境變數範例;數值帶為分類提示,上線前請以實測替換。

# 統一記憶體與交換(唯讀)
sysctl -n hw.memsize
sysctl -n hw.perflevel0.physicalcpu
sysctl vm.swapusage

# Core ML 與解碼暫存離開擁擠的家目錄
export TMPDIR="/Users/shared/scratch/coreml-sd/$JOB_ID"
mkdir -p "$TMPDIR"

# 範例閾值—請對照矩陣列調整
export SD_MAX_BATCH=2
export SD_MAX_CONCURRENT_SESSIONS=1
export SD_WQ_SEC=120
export SD_WC_SEC=900
  • SD_MAX_BATCH:與固定解析度階梯連動;變 checkpoint 時重跑曲線。
  • SD_MAX_CONCURRENT_SESSIONS:與信號量一致;多租戶時再乘每帳號上限。
  • SD_WQ_SECSD_WC_SEC:分別對應 WqWc,勿混成單一 wall clock。

常見問題

外接 SSD? 適合冷歸檔與次要 bundle;熱 Core ML 產物請留在內建 NVMe。

RTT 變低能解 OOM? 不能—低延遲只改善拉檔與控制面,不增加統一記憶體空間。

小結

Stable Diffusion 圖生圖在租用的 M4 上要同時顧好轉換與批大小、並發上限、都市圈對齊,以及把磁碟快取與 WAN 算進成本Slug:2026-rent-remote-mac-m4-stable-diffusion-coreml-batch-unified-memory.html(繁中路徑:/tw/blog/articles/2026-rent-remote-mac-m4-stable-diffusion-coreml-batch-unified-memory.html)。

租用 M4 跑 SD Core ML