⚙️ MiniMax H3 多卡分布式採樣 + 跨機 3080 Ti 獨立解碼 — 異構流水線 Workflow
① 核心流水線 DAG(單任務:採樣 → 跨機交接 → 解碼出片)
flowchart TD
subgraph HOSTA["🖥️ Host A:G292-Z20 2U(EPYC 7402P 24C/48T,單路單 NUMA,PCIe 4.0 原生 P2P)"]
direction TB
A1["Prompt + Reference Image
(FL2V 圖生影片)"] --> A2
A2["A6 基線:H3MultiGPUCLIPLoader
Qwen3-VL 32B 條件編碼
視覺/Embedding/Decoder 分散跨 4×T10
編碼 27s → 13.06s"] --> A3
A3["編碼後強制卸載
offload_after_encode=true
H3_MP_RETAIN_CPU_WEIGHTS=1
(16GB 顯存完整騰退給採樣)"] --> A4
A4["Raylight 序列並行 DiT 採樣
Ulysses=4 或 8 / FSDP=true
6-step Euler/simple + Turbo LoRA
主 DiT INT8 ~20GB"]
end
A4 --> B1
B1["💾 Latent 存盤(video+audio 特徵 ≈13MB)"] --> B2
B2["🔗 10GbE DAC 銅纜直連(ping <0.3ms)
SCP/Socket 傳輸 0.5~0.9s
SHA-256 完整性校驗"] --> C1
subgraph HOSTB["🖥️ Host B(RTX 3080 Ti 12GB,安培)"]
direction TB
C1["輕量 ComfyUI 實例
只載入 INT8 VAE
minimax_h3_video_vae_int8_convrot"] --> C2
C2["INT8 VAE 解碼 + AAC 音訊封裝
5s 影片僅 11.8s
(老卡 FP16 硬解要 72.6s,快 6 倍+)"]
end
C2 --> D1["🎬 成片輸出"]
E1["🧩 選配第三採樣源:RX 7900 XTX 24GB
ROCm Comfy Kitchen(CK attention)
僅高清檔加值顯著(+33.2%)"] -.-> A4
style HOSTA fill:#0d2137,stroke:#58a6ff
style HOSTB fill:#1a2f1a,stroke:#7ee787
style B2 fill:#2d2106,stroke:#d29922
style D1 fill:#3d1f1f,stroke:#f85149
② 批量生產 CLI 工作流(pipeline.py 七步)
flowchart LR
S1["1️⃣ 部署補丁
comfy-turing-lerp.patch
raylight-sm75-ulysses.patch
安裝 A6 CLIP 節點 +
h3_latent_handoff 節點"] --> S2
S2["2️⃣ config-adapt
填 host-map.json
(內網 IP/SSH 別名/venv 路徑)
→ 產生 local.json"] --> S3
S3["3️⃣ plan
離線模擬排期
不联网不調 GPU
驗證拓撲調度序列"] --> S4
S4["4️⃣ preflight
服務預檢"] --> S5
S5["5️⃣ start
一鍵拉起遠端
分布式服務"] --> S6
S6["6️⃣ run --background
提交批次任務
回傳 run_id"] --> S7
S7["7️⃣ wait RUN_ID
等待出片"] --> S8
S8{{"⚡ 異常中斷?
resume RUN_ID
掃描已有 Latent
只補缺的解碼/採樣"}} -.斷點恢復.-> S6
style S8 fill:#2d2106,stroke:#d29922
③ 拓撲決策樹(依解析度選池)
flowchart TD
Q1{"出片規格?"}
Q1 -->|"416×736 標清 5s"| T1["★ four_four_plus_one
雙 4 卡 T10 獨立池輪流出片
+ 3080 Ti 共用解碼佇列"]
Q1 -->|"736×1280 高清"| T2["★ four_four_xtx_plus_one
4×T10 + 4×T10 + XTX 三源併發
+ 3080 Ti 解碼"]
T1 --> R1["6 片 Makespan 296.9s
72.75 片/小時(+48.5%)
⚠️ 加 XTX 僅再 +11.5%
未達 15% 硬體複雜度門檻 → 不加"]
T2 --> R2["6 片 Makespan 677.5s
31.88 片/小時(+33.2%)
XTX 分數解後 3080 Ti 閒置被消除"]
style T1 fill:#1a2f1a,stroke:#7ee787
style T2 fill:#1a2f1a,stroke:#7ee787
④ 實測效能對照(作者數據)
| 路線 | 規格 | 探樣 | 解碼尾段 | 結論 |
| 單張 7900 XTX 全流程 | 736×1280 10s | E2E 863s(~14.4 分) | 不 OOM 但鎖死整機吞吐 |
| 4×T10 单机全流程 | 736×1280 5s | E2E 806s | 10s 長片直接 OOM |
| 8×T10 → 3080 Ti | 416×736 5s | 110.4s | 11.9s | 4 卡比 2.08× 加速 |
| 8×T10 → 3080 Ti | 736×1280 5s | 167.3s | 31.7s | 3 分多鐘出片(單卡 11~19 分) |
| 8×T10 → 3080 Ti | 736×1280 10s | 442.1s | 59.3s | 突破 4 卡顯存極限 |
| 8×T10 → 3080 Ti | 544×960 15s | 328.7s | 50.4s | 超長影片穩定 ✅ |
| 8×T10 → 3080 Ti | 640×1152 15s | ~204s 後 torch.OutOfMemoryError | ❌ 8 卡物理容量天花板 |
🔑 核心設計哲學:多卡部署不等於「所有卡做一樣的事」——廉價圖靈老卡(T10 980元/張)專攻序列並行 DiT 探樣,消費卡(3080 Ti)專精 INT8 VAE 解碼,10GbE 交接 13MB Latent 開銷可忽略。
⚠️ 生產排坑四則:① Ray Unix Socket 路徑 >107 bytes 無聲卡死 → 縮短至 /tmp/ray;② 雙池同機搶 comfyui.db → 每池獨立 SQLite(comfyui_pool1.db);③ 斷點用 resume 只補缺項不重算;④ 單解碼卡佇列 Pending 最大僅 1,解碼被探樣時間完全掩蓋,不需加解碼卡。