Infra behind Krea 2: How to train and serve at scale — Gabriel Jorge Menezes, Krea.ai
三句話摘要
訓練大型文生圖模型 CREA2 的基礎設施與監測最佳實踐。 大規模模型訓練的成功不在演算法優化,而在於建立精細監測系統和自動化基礎設施,讓系統自我修復與自我調度。 監測是基礎設施的基石 — 大規模訓練容易出現不明崩潰(8 小時以內),無法診斷原因。投資完善的監測系統讓研究員能掌握系統狀態,決定何時移除故障 GPU 或調查跨節點通訊問題。
重點整理
重點- 1
監測是基礎設施的基石 — 大規模訓練容易出現不明崩潰(8 小時以內),無法診斷原因。投資完善的監測系統讓研究員能掌握系統狀態,決定何時移除故障 GPU 或調查跨節點通訊問題。
- 2
GPU 利用率指標是誤導的 — 官方的 GPU 利用率顯示 100% 不代表 GPU 在做有效工作。Tensor Core 利用率才能反映真實工作效率,且隨著影像解析度擴展而動態變化。
- 3
Infinite Band 監測是必需的 — 訓練過程中大量跨節點通訊,Infinite Band 監測能捕捉訊息延遲、封包遺失與通訊錯誤,往往是訓練失敗的根本原因。
- 4
Kubernetes Taints 實現自動資源平衡 — 當訓練任務搶占所有 GPU 時,系統自動標記節點且遷移低優先級工作負載,無需人工操作,既節省成本又保證生產穩定。
實用技巧與重點
乾貨- 模型與平台
- CREA2(K2):支援文生圖、pixel art、photoreal 等風格的預訓練模型
- 開放 checkpoint(pre-trained)與加速版 Turbo(< 1 秒推理)
- 平台:Hugging Face、GitHub、CREA.ai
- 監測指標(必須監控)
- GPU 溫度 > 78°C → 立即移除該 GPU
- Tensor Core 利用率(代替 GPU 利用率)
- Infinite Band 監測:訊息等待時間、錯誤類型、封包計數
- NVLink 監測:單節點通訊狀態
- 訓練解析度階段
- Pre-training: 128 → 256 → 512 pixels
- Mid-training 與 Post-training: 逐步擴展至 1024 pixels
- 基礎設施
- 檔案系統:SafeTensors(推薦,比 Safe 更可靠)
- 排程:Kubernetes Horizontal Pod Autoscaler (HPA)
- 虛擬 Kubelet:整合多個雲端提供商
- Taints 系統:GPU 集群自動標記,無 GPU 時移除 Taints 允許其他 Pod 排程
結論
結論“大規模模型訓練的成功不在演算法優化,而在於建立精細監測系統和自動化基礎設施,讓系統自我修復與自我調度。”
完整解析
詳細CREA 團隊最近推出了名為 CREA2(內部代號 K2)的大型文生圖模型,這個模型是從零開始訓練的預訓練模型。與現有模型不同,CREA2 提供了多種創意應用方向,從 pixel art 風格到逼真攝影級別的影像生成都能支持。團隊開放了兩個版本:完整的 pre-trained checkpoint 供研究員進行微調,以及經過優化的 Turbo 加速版本,能在不到一秒內完成推理。
訓練這樣的大規模模型面臨巨大挑戰。Gabriel 描述初期訓練時,單個運行常常在 8 小時以內莫名其妙崩潰,研究團隊完全無法診斷根本原因。這個問題使得 GPU 利用率極低,高昂的計算成本被浪費在無效的訓練重啟上。解決方案不是調整演算法或模型架構,而是建立完善的監測系統。Gabriel 強調,監測是一切的基礎——沒有可見性,你只能盲目試錯,最終會陷入瘋狂。
監測系統揭露了幾個關鍵問題。首先是 GPU 溫度——單個溫度過高的 GPU(超過 78°C)會降頻,導致整個訓練變得不穩定。解決方式很簡單:不要嘗試修復,直接移除那個 GPU 並請提供商更換。其次是 GPU 利用率的誤導性。官方顯示的 100% 利用率實際上是謊言——它只代表 GPU 在做「某種」工作,但不能反映工作效率。真正有用的指標是 Tensor Core 利用率,它顯示張量核心真正被使用的程度。訓練時,隨著影像解析度從 128 擴展到 1024 pixels,Tensor Core 利用率會逐步上升,因為更高解析度的影像需要更多計算。
最重要但經常被忽視的是 Infinite Band 監測。在分佈式訓練中,大量 GPU 需要跨越節點邊界進行通訊。Infinite Band 是 NVIDIA 的高速互連技術,監測它能捕捉訊息等待時間、不同類型的通訊錯誤、封包遺失等細節。Gabriel 團隊發現,他們大多數訓練失敗實際上源於跨節點通訊問題。此外,NVLink 監測(節點內 GPU 通訊)能幫助識別單節點內的詭異故障——GPU 本身看起來正常,但底層通訊出錯。透過這些細粒度的監測,問題變成可診斷的:看到 NVLink 錯誤?更換 GPU。看到 Infinite Band 延遲尖峰?聯繫網路供應商。
訓練過程中還需要激進地使用檢查點機制。初期 SafeTensors 的實現不夠可靠,團隊改用更穩定的備份策略。檢查點不只是為了恢復,更是應對頻繁崩潰的現實策略——預期訓練會在各種詭異的時間點失敗,建立完整的恢復流程是必要的。
基礎設施層面,Gabriel 的團隊建構了一套基於 Kubernetes 的自動化排程系統,整合多個雲端 GPU 提供商(虛擬 Kubelet)。這個系統透過 Kubernetes 的 Taints(污點)機制實現自我修復。當大型訓練任務啟動並搶占所有 GPU 時,系統自動在節點上添加 Taints 標記,阻止其他 Pod 排程到這些節點,從而保留 GPU 給訓練使用。當訓練完成釋放 GPU 時,系統移除 Taints,低優先級的推理或生產工作負載得以重新排程到這些 GPU。整個過程完全自動化,無需人工干預。相比直接使用 noexecute Taints 直接踢出所有 Pod(會導致服務中斷),這個漸進式遷移機制保證了生產穩定性。系統使用 Kubernetes HPAs(水平 Pod 自動擴展器)和簡單的 Prometheus 監測觸發邏輯,既優雅又高效。
這套自動化系統的美妙之處在於,研究團隊不再需要手動管理 GPU 資源。他們只需提交訓練任務,系統自動處理資源分配、故障遷移、優先級平衡。推理伺服器和生產工作可以共享同一個 GPU 集群,文生圖模型甚至能容忍「壞」GPU(溫度過高、接近故障邊界)進行推理,因為推理任務對單個 GPU 故障的容錯能力遠強於訓練任務。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


