Krea 2 的訓練與推論基礎設施
Infra behind Krea 2: How to train and serve at scale — Gabriel Jorge Menezes, Krea.ai

Krea 的 Gabriel 分享從零訓練 Krea 2 時的基礎設施:大規模訓練怎麼靠指標與 checkpoint 撐過不停的當機,以及訓練和線上推論怎麼共用同一座 GPU 叢集。
這場講了什麼
- Krea 2 是從零訓練的開源模型:Gabriel 說動機是現在的 AI 圖片「沒味道」,想給創作者一個探索分布外圖像的工具。模型沒有用任何 base checkpoint,全部自己做,開源了 pre-trained 的原始版與 post-trained 的 turbo 版兩個 checkpoint。
- 規模一大,當機就變常態:小實驗能穩穩跑好幾天,GPU 加到 128、256、512 張之後就越來越常崩,而且很多是指標全都正常的靜默失敗,一次跑不到 8 小時。團隊一開始緊張到一直換節點,後來學到有時就讓它崩、再重跑。
- 指標決定訓不訓得起來:Gabriel 建議做大規模訓練一定要在指標上重本投資。溫度超過 78 度左右的 GPU 直接請供應商換;GPU utilization 不可信,改看 tensor core 使用率;NVIDIA 預設的指標沒有 InfiniBand,也沒有 NVLink 錯誤,得自己收。
- checkpoint 要勤,檔案系統要可靠:一開始用的 Ceph 常出問題、資料也不敢信,Gabriel 建議有預算就用付費的。現在的叢集讀取約每秒 1.2 TB、寫入將近 1 TB,大約每 20、30 分鐘存一次 checkpoint,1 TB 不到 30 秒寫完,不拖慢訓練。
- 研究員不用想 GPU:訓練工作一律丟進 queue,用 Kueue 做 gang scheduling,再加上 Kubernetes 原本的優先順序,共兩層。訓練 pod 永遠是高優先,一被接受就會把同一批機器上的推論擠走。
- 訓練時線上服務自動搬家:Virtual Kubelet 在 Kubernetes 裡做一個假節點,把放不下的推論 pod 轉到別的叢集或外部 GPU 供應商;再用 taint 與 descheduler,訓練結束後慢慢把 pod 搬回來,服務不會中斷,也不浪費錢。
影片從哪一段開始看15 段
- 00:14Krea 2 是什麼Gabriel 介紹 Krea 2 是從零預訓練的模型,因為覺得現在的 AI 圖片沒味道,想讓創作者探索分布外的圖像。
- 01:21開源的兩個 checkpoint開源了 pre-trained 的原始版給人自己 post-train,以及 post-trained 的 turbo 版,turbo 出一張圖不到一秒。
- 01:55從零訓練與架構在數千張以 InfiniBand 相連的 GPU 上訓練;先用少量 GPU 做 ablation 驗證假設再放大,研究員把許多 LLM 的研究搬到 DiT 上,架構刻意做得很簡單。
- 03:03規模變大後的當機GPU 越多越常崩,很多是 NCCL timeout 這類指標正常的靜默失敗;失敗的模式跟 Meta 那篇論文相似,但每次跑的時間短得多,不到 8 小時。
- 04:25指標是一切指標是讓研究員看得見系統的方法,做大規模訓練要在指標上大量投資。
- 04:41GPU 溫度一張 GPU 降頻就會讓訓練不穩;超過 78 度左右的 GPU 一律移除,不要試著修,直接請供應商換。
- 05:15GPU utilization 不可信預訓練時 utilization 顯示 100%,不代表 GPU 用得有效率;改拿 tensor core 使用率當代理指標,解析度往上拉時它也跟著上升。
- 06:24InfiniBand 與 NVLink 指標多數失敗跟跨節點通訊有關,所以 InfiniBand 指標最重要,團隊自己寫了收集;NVLink 錯誤則能抓出單一節點的怪問題。
- 07:57checkpoint 與檔案系統對付不停的當機就是勤存 checkpoint;Ceph 不可靠,現在的檔案系統能在不到 30 秒內寫完約 1 TB 的 checkpoint。
- 08:47Kueue 排隊與優先順序研究員只管提交,工作進 queue;Kueue 提供 gang scheduling 與 workload priority,缺點是資源額度要手動設定,節點進進出出時容易對不上。
- 10:37訓練與線上推論共用叢集同一座大叢集同時跑線上服務與訓練,GPU 拿去訓練的價值較高,所以線上推論要能自動流到別的叢集或外部供應商。
- 11:44Virtual Kubelet 假節點在 Kubernetes 裡建假節點,收到 pod spec 後挑供應商、翻成對方的格式部署,兩邊再持續對帳。
- 13:04失敗交給 Kubernetes另一邊出問題就把 pod 標成失敗,讓 Kubernetes 自己重建,這一層不用處理錯誤。
- 13:34taint 與 descheduler靠 Prometheus 指標判斷叢集裡有沒有空的 GPU,決定加上或拿掉 taint;訓練結束後由 descheduler 慢慢把 pod 搬回來,不用 NoExecute,免得一次全部踢掉。
- 16:02推論不挑 GPUdiffusion transformer 沒有 LLM 那麼大,什麼 GPU 都跑得動,狀況再差的卡拿來推論也沒問題。
值得記的話5 句
Don't go blind, because you're going to go crazy.
不要讓自己什麼都看不見,不然你會瘋掉04:25Don't try to fix. Don't try to be smart. Just remove the GPU.
別想修,別耍聰明,直接把那張 GPU 拿掉04:59there is GPU utilization, which is a lie. Don't trust this.
GPU utilization 是騙人的,別信它05:15You don't need to try to save the world, let Kubernetes handle for you
你不用想著拯救世界,交給 Kubernetes 處理就好13:19It can be exploding. Inference is still going to run.
GPU 就算快炸了,推論照樣跑得動16:02
名詞與人物8 個
- Krea 2
- Krea 從零預訓練的圖像模型,Gabriel 簡稱 K2,開源了 pre-trained 與 turbo 兩個 checkpoint
- DiT
- diffusion transformer,Gabriel 團隊的研究員把許多 LLM 研究搬到這種架構上
- InfiniBand
- 讓不同機器的 GPU 互相溝通的網路;Gabriel 認為大規模訓練沒有它的指標就是做錯了
- NVLink
- 單一節點內 GPU 之間的連線,團隊自己收集它的錯誤指標
- Kueue
- 開源的 Kubernetes 排隊專案,提供 gang scheduling 與 workload priority,這裡用來排訓練工作
- Virtual Kubelet
- 開源專案,在 Kubernetes 裡建一個行為由自己決定的假節點,這裡用來把 pod 轉到其他叢集或供應商
- taint
- Kubernetes 用來禁止 pod 排進某個節點的標記,這套系統靠它決定推論要不要轉出去
- descheduler
- taint 加回去之後,把不容忍它的 pod 慢慢搬回叢集的元件
提到但沒有展開
- Gabriel 提到 Kubernetes 1.35 內建 gang scheduling,功能跟 Kueue 很像,團隊還沒機會試。
- Kueue 的資源額度目前手動設定,Gabriel 說這部分可以自動化,只是還沒做。
同一站:路線圖外:做模型28 場
- 從環境到非同步 RL 的後訓練工具鏈010 · Will Brown(Prime Intellect) · 47 分
- Cursor 怎麼訓練自己的模型017 · Lee Robinson(Cursor, SpaceXAI) · 21 分
- 自動研究 agent 打進競賽排行榜018 · Zhengyao Jiang(Weco) · 16 分
- 基準、kernel 與獎勵作弊022 · Daniel Han(Unsloth) · 140 分
- 資料市場的內幕與下一步044 · Sean Cai(Independent / State of Data) · 18 分
- 放大預訓練時的合成資料與踩雷045 · Marah Abdin & Robert McHardy(poolside) · 18 分
- AlphaLab:把環境當成真正的資產056 · Brendan Rappazzo · 20 分
- 現成 LLM 為何不懂錢062 · Udi Menkes(Intuit) · 20 分
- 讓 AI 自己做 AI 研究的第一步065 · Richard Socher(CEO Recursive AI) · 20 分
- MiniMax M3 開源與推論實戰068 · Dan Fu and Olive Song · 20 分
- 算力吃緊時,先把資料變好070 · Ari Morcos(DatologyAI) · 19 分
- 後訓練的資料與環境整理方法071 · Mahesh Sathiamoorthy(Bespoke Labs) · 19 分
- 把整間軟體公司放進沙盒訓練 agent072 · Joseph Wang · 17 分
- 把主觀領域拆成模型學得會的題目073 · Thais Castello Branco(Taste Labs) · 16 分
- 讓 agent 在現場邊做邊學的後訓練074 · Raymond Feng(Applied Compute) · 18 分
- 沒有標準答案時怎麼做 RL075 · Will Brown(Prime Intellect) · 19 分
- 從 Galactica 走向長視野強化學習076 · Ross Taylor & Chengxi Taylor(General Reasoning) · 18 分
- Base model 不再只是網路知識庫077 · Varun Singh(Arcee AI) · 18 分
- RLHF 之後:從助理走向自動化079 · Diogo Almeida(TypeSafe AI) · 18 分
- 長時程任務的環境與 judge 設計080 · Rayan Garg(Theta Software) · 21 分
- 教模型找出真正的漏洞081 · Prof. David Brumley(Bugcrowd) · 27 分
- 誰有資格站上 AI 前沿100 · Sara Hooker(Adaption) · 21 分
- 用蒸餾把持續學習帶進企業102 · Samuel Denton(Applied Compute) · 19 分
- 智慧不等於專長,持續學習才是橋105 · Yu Su(NeoCognition) · 20 分
- 在自己的資料上加算力109 · Jack Morris(Engram) · 20 分
- 用自我蒸餾把持續學習做大110 · Ronak Malde(Trajectory) · 23 分
- Krea 2 的訓練與推論基礎設施你在這裡
- Krea 2 訓練心得:資料決定一切117 · Sangwu Lee(Krea.ai) · 22 分