如果你用 Ostris AI Toolkit 訓練 LoRA,大概率遇過這種情況:
- AI Toolkit 的訓練 Samples / Previews 看起來很棒;
- 同一份 LoRA 放到 ComfyUI、Diffusers 或其他推理堆疊裡,結果卻 不一樣。
多數時候 LoRA 並沒有「壞」,問題在於你的 推理 pipeline 和訓練預覽使用的 pipeline 不一致。
很多看似細小的差異會快速累積:基底模型的具體變體、scheduler/steps 語義、VAE/CLIP 預設值、解析度 snapping(按倍數取整)規則,甚至 LoRA 的套用方式(adapter 或 merge/fuse,以及不同模型家族的細節差異)。
為了讓 AI Toolkit 風格推理更容易 復現、審計與除錯,RunComfy 將我們用於 AI Toolkit LoRA 的 參考推理實作(基於 Hugging Face Diffusers)開源:
GitHub 倉庫: runcomfy-com/ai-toolkit-inference
這個開源倉庫適合用來做什麼
當你想要:
- 在 AI Toolkit 之外 復現訓練 Samples/Previews(相同的推理邏輯)
- 以可控、可檢查的方式 排查「訓練預覽 vs 推理」漂移
- 用 Diffusers 打造 自己的推理服務(例如掛在 API 後面)
就很適合用這個 repo。
如果你的目標只是「讓推理結果跟訓練 Samples 一致」,你未必需要讀程式碼——RunComfy 也提供同樣的 preview‑matching 能力:託管推理(Playground/API)與 ComfyUI 工作流程都能直接使用。
倉庫裡包含什麼
這個專案的設計目標是讓 AI Toolkit 的預覽行為 可審計、可復現,通常會包含:
- 按基底模型拆分的 Diffusers pipelines(影像、編輯/控制、影片等,視模型家族而定)
- AI Toolkit 訓練 YAML → 推理設定(把 YAML 當成「契約」)
- LoRA 載入與套用邏輯(adapter vs merge/fuse;以及模型家族的綁定細節)
- 與 AI Toolkit Samples/Previews 一致的 解析度 snapping 規則
- 可選的 非同步服務範例(如 FastAPI),用於把推理放在 API 後面跑
它與 RunComfy Trainer 推理的關係
RunComfy 採用同樣的 preview‑matching 思路:
- 鎖定 完全一致的基底模型/變體
- 對齊 模型家族的推理預設值
- 保持與訓練 Samples/Previews 相同的 pipeline 行為
你可以用兩種方式呼叫這套對齊後的推理:
- Playground / API 推理(快速驗證 + 整合)
- ComfyUI 推理(每個基底模型一個工作流程,載入 LoRA 即可得到接近訓練預覽的結果)
相關指南:
- Playground/API 一致性: AI Toolkit Inference: Get Results That Match Your Training Samples
- ComfyUI 預覽匹配工作流程: AI Toolkit Inference in ComfyUI: Get Results That Match Your Training Samples
- 漂移排查: AI Toolkit Preview vs Inference Mismatch
Ready to start training?
