MOSS-Image LoRA 訓練:Fizgig、AI Toolkit、KohakuMossTrainer、sd-scripts

比較 KohakuMossTrainer、AI Toolkit、sd-scripts 與 Fizgig,附社群證據、安裝、設定、顯存限制與 ComfyUI 驗證步驟。

schedule
article 13 分鐘閱讀
MOSS-Image LoRA 訓練教學:KohakuMoss、AI Toolkit 等四款工具

第一次訓練 MOSS-Image LoRA,建議從 Base 開始並凍結 Qwen3.5-9B。依操作與設定工作由簡到繁,本文排序為 Fizgig、AI Toolkit、KohakuMossTrainer、sd-scripts:Fizgig 以引導介面與預設為主;AI Toolkit 用工作介面調整欄位;KohakuMossTrainer 產生 Python 設定後,仍需以命令執行快取與訓練;sd-scripts 則要自行管理相依套件、TOML 與執行命令。這是流程複雜度的排序,並非畫質排名。

四款都有公開 MOSS-Image 訓練證據,但成功匯出不等於角色相似度一定好。流程最後應在 ComfyUI 測試陌生姿勢、背景和提示詞。訓練迴圈低於 8GB,也不代表文字快取和預覽都能在同一張卡上完成。

依流程與證據選工具

工具 適用方式 主要限制
Fizgig 引導介面、預覽與視覺化 epoch 選擇 MOSS 支援仍屬實驗性;預覽條件影響相似度判斷
AI Toolkit 資料集/工作 UI、YAML、LoRA 與 LoKr 實驗 本機與雲端不同;LoKr 結果不能當一般 LoRA 指標
KohakuMossTrainer MOSS 專用 CLI、GPU 設定、LyCORIS 與 ComfyUI 匯出 仍須規劃主記憶體、快取及 token 預算
sd-scripts 清楚的 TOML 與可重現命令列 文字快取尖峰使 8GB 無法一概保證

查核日期:2026 年 11 月 3 日。本篇分析官方程式/文件、公開訓練紀錄與模型卡。AirMore 未執行訓練或 GPU 效能測試。路徑與試跑參數需自行調整;構文與選項核對不代表畫質驗證。AI 協助研究、撰寫及本地化,封面為編輯示意圖。

準備圖片、描述與模型

先以規模不大、變化足夠的資料試跑。人物或物件應涵蓋角度、距離、表情、配置;風格資料應分散主體,避免把畫風和單一人物綁在一起。保留評估圖片與提示詞,並使用取得授權的素材。

001.png 搭配同名 UTF-8 的 001.txt。描述看得到的內容、構圖及變動因素,圖片文字應照原樣記錄。OpenMOSS 建議詳細自然語言,但 long/medium/short JSON 是產生描述的格式,不能原封不動當成每個訓練器的輸入。以下是示範描述,不是實際訓練成果:

mossbird, a small teal ceramic bird in a three-quarter view on a wooden table. Its beak points left. Soft daylight enters from the right, with a plain cream wall behind it.

英文範例是保守的共用起點,不代表要翻譯圖片中的日文、中文或重音文字。不要保留自動描述臆測的資訊。人物訓練需一致的觸發詞及合理描述界線;每次都強調固定髮型、服裝和背景,可能造成不必要的連結。

Comfy-Org 的 MOSS-Image 配布有 diffusion_models、text_encoders、vae。低記憶體 CLI 範例使用 moss_image_base_int8_convrot.safetensors、qwen3.5_9b_int8_convrot.safetensors 和對應 FLUX.2 VAE。Kohaku 快速流程用 flux2-vae_small.safetensors;下方 sd-scripts 例子用 flux2-vae.safetensors。請與 ComfyUI 分開 Python 環境。

Comfy-Org MOSS-Image模型檔

Fizgig:引導操作與 epoch 比較

Fizgig — 官方文件頁面
Fizgig — 官方文件頁面

Fizgig — 官方工具說明

Fizgig 9.x 適合想把訓練介面與視覺化檢查點選擇整合的人。MOSS 支援仍屬實驗性,使用 Base 訓練、通常以 SFT 預覽,Fast、Standard、Style 是不同預設。未統一條件就和純 Base 比較,容易誤判為訓練失敗。

公開回饋有好有壞:開發者的 Clean-end share 實驗在自己的資料上較早出現相似度;其他使用者仍回報不佳,也有人分享三張圖片的小型成功試驗。都是特定資料經驗,不是普遍相似度或最低圖片數。

公開訓練證據: u/shootthesound · r/StableDiffusion

1. 安裝及模型下載

取得查核版本。Windows 執行 install_fizgig.bat,再用 Launch Fizgig.bat 或 Launch Fizgig in browser.bat;Linux 用 python install_fizgig.py,再 ./launch_fizgig.sh。Training 選 MOSS-Image,Preferences → Download models for me。預留磁碟空間,主記憶體以32GB較合適。

git clone https://github.com/shootthesound/Fizgig.git
cd Fizgig
git checkout 11ce867242b3cba3f8d72cf4dab6810de8eee14a

2. 依頁籤整理資料

Start 指定圖片資料夾;Image Prep 裁切縮放;Captions 編輯描述;Samples 設定固定評估提示。加入資料中沒有的姿勢或場景,觀察是否只在記憶。不要照單全收自動描述。

3. 選擇適當預設

Fast:rank16、LR1e-4、70epoch、0.25MP;Standard:rank32、LR1e-4、70epoch、1MP;Style:rank16、LR5e-5、50epoch、1MP。不是每組資料都要70epoch;一般LoRA不要誤選Slider或完整微調。

4. 記錄排程與預覽模型

第一次沿用目前 Clean-end share 預設並記錄。舊貼文有60和30的演進,現行文件改用Slide,不要混搭不同版本。建立畫質基準時先關Turbo預覽。

5. 訓練、選epoch、匯出

Start Training 後,用 Runs & outputs 或 LoRA Royale 固定種子和提示比較。輸出可在 Training 設定,預設 output_loras。選出的.safetensors仍須在ComfyUI驗證。ArcFace/DINOv2僅輔助篩選,並非校準後的身分準確率。

AI Toolkit:工作介面與 YAML

AI Toolkit — 官方文件頁面
AI Toolkit — 官方文件頁面

AI Toolkit — 官方工具說明

AI Toolkit 提供 MOSS-Image Base/SFT 的不同架構,可用 UI 和設定檔管理工作。一般文生圖 LoRA 選 moss_image:base 與 OpenMOSS-Team/MOSS-Image-Base,編輯條件版本是另一項任務。train_text_encoder 應保持 false。

日本使用者かみもと報告 Windows 11、RTX 4070 12GB、RAM 48GB,以 30 張動畫圖片、1024px bucket、2,000 步完成訓練;rank/alpha 16/16、LR 1e-4、AdamW8bit、模型與文字編碼器 ConvRot8、Transformer 卸載 50%、編碼器卸載 100%、使用快取且不產生預覽。作者真人照片版本是在 A100 上執行,不能把那個耗時當成另一份 4070 成績。

公開訓練證據: かみもと · u/FitEgg603

1. 安裝並開啟介面

複製儲存庫,Windows 執行 run_windows.bat、Linux 執行 run_linux.sh。目前內建 Manager 仍屬實驗性,會準備環境並開啟 localhost:8675;也可用下方 CLI。啟動器可能更新程式,因此應記錄最後提交版本並匯出工作設定。

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
python3 -m manager install
python3 -m manager doctor
python3 -m manager launch

2. 建立資料集與工作

指定描述完成的資料夾、新工作名稱和 MOSS-Image Base,確認 architecture 為 moss_image:base。先選一般 LoRA、rank/alpha 16/16,模型與編碼器量化 convrot8、計算 bf16,關閉編碼器訓練。

3. 套用低記憶體起點

batch 1、累積1、1024 bucket、LR 1e-4、AdamW8bit、gradient checkpointing、latent/text cache。編碼器卸載1.0、Transformer 0.5,首次先關預覽。這是有社群紀錄的起點,不是每台 12GB 都可用的保證。

4. 儲存 YAML 後執行

將完整範例存成 config/moss_subject.yaml,替換資料夾並檢查保存數量。先另存不同名稱、steps: 1 的驗證工作,再執行正式設定。也可在 UI 輸入對應欄位,匯出 YAML 保留。

AI Toolkit YAML範例
job: extension
config:
  name: moss_subject
  process:
    - type: diffusion_trainer
      training_folder: output
      device: cuda
      trigger_word: mossbird
      network:
        type: lora
        linear: 16
        linear_alpha: 16
      save:
        dtype: bf16
        save_every: 250
        max_step_saves_to_keep: 8
        save_format: diffusers
        push_to_hub: false
      datasets:
        - folder_path: /absolute/path/to/moss-data
          caption_ext: txt
          resolution: [1024]
          cache_latents_to_disk: true
          num_repeats: 1
      train:
        batch_size: 1
        steps: 2000
        gradient_accumulation: 1
        train_unet: true
        train_text_encoder: false
        gradient_checkpointing: true
        noise_scheduler: flowmatch
        optimizer: adamw8bit
        lr: 0.0001
        timestep_type: shift
        dtype: bf16
        cache_text_embeddings: true
        disable_sampling: true
      model:
        name_or_path: OpenMOSS-Team/MOSS-Image-Base
        arch: moss_image:base
        quantize: true
        qtype: convrot8
        quantize_te: true
        qtype_te: convrot8
        low_vram: true
        layer_offloading: true
        layer_offloading_text_encoder_percent: 1.0
        layer_offloading_transformer_percent: 0.5
      sample:
        sampler: flowmatch
        sample_every: 250
        width: 1024
        height: 1024
        samples:
          - prompt: mossbird, a teal ceramic bird on a windowsill
        seed: 42
        guidance_scale: 3
        sample_steps: 30
python run.py config/moss_subject.yaml

5. 比較中途檢查點

範例每250更新保存、保留8份。確認命名輸出資料夾。另有社群 LoKr 使用不同 factor、6,600 步與額外 guidance;所謂90%相似是作者目視估計,不能當成一般 LoRA 的客觀成績。

KohakuMossTrainer:設定、快取、訓練及匯出

KohakuMossTrainer — 官方文件頁面
KohakuMossTrainer — 官方文件頁面

KohakuMossTrainer — 官方工具說明

KohakuMossTrainer 是獨立的 MOSS 訓練框架,不是 ComfyUI 自訂節點。特色是把 GPU 記憶體層、資料來源與 LyCORIS 方法組成已檢查的 Python 設定。OpenMOSS 也列出此專案,支援 Base/SFT 及 ComfyUI 格式匯出;LoRA、LoKr、完整微調是不同模式。

除了功能清單,yoru 公開了 13 張圖片、50 步的風格試驗、訓練日誌和 ComfyUI/LyCORIS 匯出;作者表示必須提高強度才能明顯看見效果。這證明有實際訓練匯出流程,不代表 50 步就能完成風格。該作者私人製作的 GUI 並未開放下載。

公開訓練證據: yoru

1. 建立獨立環境

取得查核的修訂版。Windows 需文件指定的 C++ Build Tools;安裝助手依 GPU、驅動選擇套件。執行下方 Windows 命令,或 Linux 的 bash scripts/install/install.sh,再以 cmd 的 .venv\Scripts\activate.bat 或 Linux 的 source .venv/bin/activate 啟用。無須變更全系統指令碼政策。

git clone https://github.com/KohakuBlueleaf/KohakuMossTrainer.git
cd KohakuMossTrainer
git checkout b06ac60e54321955c24e818add5d32b2fad23ed6

Windows

powershell -ExecutionPolicy Bypass -File scripts\install\install.ps1

Linux

bash scripts/install/install.sh

2. 檢查環境並下載

執行 kohakumoss-doctor,處理缺少元件。下一個單行下載會保留模型目錄結構,也能沿用相容的 ComfyUI models。首次權重與快取需額外磁碟空間,不能只計 LoRA 大小。

hf download Comfy-Org/MOSS-Image diffusion_models/moss_image_base_int8_convrot.safetensors text_encoders/qwen3.5_9b_int8_convrot.safetensors vae/flux2-vae_small.safetensors --local-dir ComfyUI/models

3. 產生資料計畫

替換絕對路徑,–source folder_nl 明確指定自然語言圖片+描述資料夾。先檢查計畫,再建立文字與 latent 快取。命令皆從儲存庫根目錄、專用環境中執行。

kohakumoss-doctor
kohakumoss-config new train --weights ComfyUI/models --data /absolute/path/to/moss-data --source folder_nl --name moss_subject
kogine run scripts/data/inspect_data.py --config configs/user/moss_subject_data.py
kogine run scripts/data/cache_text.py --config configs/user/moss_subject_data.py
kogine run scripts/data/cache_latents.py --config configs/user/moss_subject_data.py

4. 設定試跑參數

保留產生的 use_config 層,在 configs/user/moss_subject.py 調整下列參數。這是初始實驗,不是通用最佳值。確認每批圖片及 token 數,不能把每次更新都視為一張圖。小顯存設定若被長描述超過預算,應在快取前降低面積。

STEPS = 1200
DIM = 16
ALPHA = 16.0
LR = 0.0001
SAVE_EVERY = 200
SAMPLE_EVERY = 0

5. 先驗證再正式訓練

100 步驗證使用獨立名稱。檢查 nonfinite 訊息和真實匯出,再開始正式工作。短跑成功不等於角色已學好;初次核心調校可能較慢。RESUME=latest 回復狀態,INIT_FROM 則只繼承權重、重新開始最佳化與排程。

kogine run scripts/train/moss.py --config configs/user/moss_subject.py --set RUN_NAME=moss_smoke --set STEPS=100 --set SAMPLE_EVERY=0
kogine run scripts/train/moss.py --config configs/user/moss_subject.py

6. 找到正確輸出

查看 runs/moss/moss_subject/export/ 及各檢查點的 export。ComfyUI 使用 -comfy.safetensors,不能混用 LyCORIS 或已合併模型。保留 config.json、日誌與基底版本供後續比較。

sd-scripts:以 TOML 固定條件

sd-scripts — 官方文件頁面
sd-scripts — 官方文件頁面

sd-scripts — 官方工具說明

sd-scripts 有專用 moss_image_train_network.py 和日英文件。查核版本包含 v0.12.3 的 truncated_logit_normal 與 INT8/compile 改善;這是後端支援,不代表舊版 kohya_ss GUI 必定有相同欄位。

エマノン記錄了500張生成圖片的風格訓練,也報告只訓練 FFN 後多出髮飾的問題。可下載的 FFF_MOSS-Alba-style 模型卡另記載 sd-scripts、Base、凍結編碼器、dim 16/alpha 1。這些證明有實際流程,並不表示限定某些層是最佳預設。

公開訓練證據: エマノン · FFF_MOSS-Alba-style

1. 準備 Python 與 CUDA PyTorch

複製固定版本並建立 venv。Windows cmd 用 venv\Scripts\activate.bat,Linux 用 source venv/bin/activate。先安裝符合 GPU 的 CUDA PyTorch,README 的 torch 2.6/CUDA 12.4 不是 RTX 50 配方。安裝需求、確認 CUDA 為 True,將 Accelerate 設為本機單 GPU、bf16。

git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
git checkout cb70b96858477e716a2096292ab8aab433277f38
python -m venv venv
python -m pip install --upgrade -r requirements.txt
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
accelerate config

2. 建立 dataset.toml

image_dir 改絕對路徑,Windows 可寫 C:/…。範例是 batch 1、1024 bucket、不打亂描述、repeat 1;尺寸須16倍數。未確認快取相容性前,不要加隨機描述改寫或影像增強。

dataset.toml
[general]
caption_extension = ".txt"
shuffle_caption = false
enable_multiline_caption = true

[[datasets]]
resolution = 1024
batch_size = 1
enable_bucket = true
bucket_reso_steps = 64

  [[datasets.subsets]]
  image_dir = "/absolute/path/to/moss-data"
  num_repeats = 1

3. 建立 train_moss.toml

指定兩個預先量化 ConvRot INT8 檔與 FLUX.2 VAE;會自動辨識,因此範例無須量化旗標。只訓練 DiT、凍結編碼器。rank 16/alpha 1 保留官方例子的縮放,單獨把 alpha 改16不是同一實驗。

train_moss.toml
pretrained_model_name_or_path = "/absolute/path/to/moss_image_base_int8_convrot.safetensors"
text_encoder = "/absolute/path/to/qwen3.5_9b_int8_convrot.safetensors"
vae = "/absolute/path/to/flux2-vae.safetensors"
dataset_config = "dataset.toml"
output_dir = "/absolute/path/to/moss-output"
output_name = "moss_subject"
save_model_as = "safetensors"
save_precision = "bf16"
network_module = "networks.lora_generic"
network_dim = 16
network_alpha = 1
network_train_unet_only = true
learning_rate = 0.0001
optimizer_type = "AdamW"
lr_scheduler = "constant"
timestep_sampling = "truncated_logit_normal"
logit_mean = -1.09
logit_std = 0.95
discrete_flow_shift = 1.0
max_train_epochs = 10
save_every_n_epochs = 1
gradient_accumulation_steps = 1
mixed_precision = "bf16"
gradient_checkpointing = true
cache_latents = true
cache_latents_to_disk = true
cache_text_encoder_outputs = true
cache_text_encoder_outputs_to_disk = true
blocks_to_swap = 20
max_data_loader_n_workers = 2
persistent_data_loader_workers = true
seed = 42

4. 啟動並查輸出

以單行 Accelerate 命令啟動。30張圖、repeat1、batch1、累積1、單卡時,10epoch 約300次最佳化更新,是試跑而非保證完成。快取與匯出檢查點位置不同,請留足空間。

accelerate launch --num_cpu_threads_per_process 1 moss_image_train_network.py --config_file train_moss.toml

5. 逐項調整顯存

範例交換20個block,增加至36可省顯存但增加傳輸;H2D-only 需要 gradient checkpointing。block swap 不能搭配 unsloth/CPU offload checkpointing。此路徑不支援 FP8 base 或 W4A8 GPTQ 編碼器。Windows 少量常駐 worker 可避免反覆建立程序。

顯存與 RAM 要看完整流程

路徑/公開條件 訓練/啟動 如何解讀
KohakuMoss 6–8GB設定 卸載權重與狀態;6GB需離線快取 處理期間RAM約19GiB、含預覽建立時約32GiB,不是完整流程6GB保證
AI Toolkit 4070社群紀錄 VRAM12GB、RAM48GB、快取卸載、無預覽 特定實驗,非所有工作最低需求
sd-scripts bf16 訓練13.2GB/啟動15.3GB 開發者測量:1024²、batch1、dim16、AdamW及checkpointing
sd-scripts INT8+swap20 訓練6.9GB/啟動7.9GB 單獨文字快取工具可能約8.3GB,不保證8GB跑完整流程
Fizgig現行MOSS文件 開發者稱12GB卡含SFT預覽可低於約10.5GB 編碼器串流方式不同,並非AirMore測量

各組實驗與指標不同,不能當速度排名。預熱、快取、訓練、預覽的所有峰值都須容納;檔案大小不等於常駐顯存。Kohaku token預算包含圖文,小顯存設定遇到極長描述可能減少保留的圖片token。

免費原始碼不代表租GPU、儲存空間或API描述免費。需要保密的資料應留本機,雲端工作與外部描述服務是另外的上傳行為。

在 ComfyUI 載入並評估 LoRA

  1. 更新ComfyUI並載入原生MOSS-Image流程,先不用新LoRA生成一張。確認MOSS、Qwen3.5-9B和FLUX.2 VAE正確,可分開載入問題和學習問題。
  2. 將ComfyUI格式.safetensors複製到ComfyUI/models/loras,更新列表。bf16模型使用DiT-only LoRA時,在擴散模型loader通往sampler的MODEL線路插入LoraLoaderModelOnly,文字編碼線不變。
  3. INT8 SFT模型,Fizgig建議用核心LoraLoaderBypassModelOnly,讓LoRA另行運算。顯示名稱包含for debugging,屬實驗節點;若找不到應更新或確認註冊,不能把合併量化權重視為相同操作。
  4. 固定種子、提示、尺寸、模型、VAE、編碼器和sampler,測0、0.5、1.0強度,再比較多個檢查點與保留提示。這是評估點,不保證最佳。ComfyUI提示欄輸入<lora:…>不能取代節點接線。
  5. 對齊Fizgig文件預覽:SFT、res_multistep/simple、30步、CFG4、shift5,SkipLayerGuidanceDiTSimple layer22、start0/end0.5。純Base的官方基準則是Euler、至少50步、CFG3、shift5。比較epoch時不要默默更換。
  6. 第一次比較先移除加速/蒸餾adapter,再另外測確實對應Base或SFT的加速版本。角色LoRA和DMD加速LoRA任務不同,排程不可隨意混用。
mossbird, a teal ceramic bird on a rainy windowsill, side view, soft watercolor illustration

增加步數前先排除問題

還沒進第1步就OOM

先分辨發生在文字快取、latent、核心預熱、訓練或預覽。降低訓練解析度不一定能解決編碼器載入。關預覽、降低token或batch,使用該工具支援的卸載路徑,不要混用其他訓練器旗標。

LoRA key未載入或沒有效果

確認MOSS架構、匯出格式及新版ComfyUI。Kohaku的恢復狀態、LyCORIS、-comfy及合併模型不同。重訓前先驗證強度與節點接線。

訓練器像,ComfyUI不像

對齊Base/SFT、量化、VAE、SLG、CFG、排程及預覽專用adapter。loss不能判斷這種不一致;也要測未見姿勢而非只看熟悉臉部裁切。

loss起伏或越訓練越差

擴散loss取樣不同噪聲,不需要平滑下降。保留中間檢查點,以提示遵循、人物/畫風及記憶化選擇。一次只改一組參數;長描述、更大rank和更多步不是萬靈丹。

哪個流程適合先開始

想從介面與預設開始、直觀比較 epoch,優先考慮 Fizgig;需要重用 UI/YAML 工作,選 AI Toolkit;希望管理 MOSS 專用設定與快取,選 KohakuMossTrainer;需要直接控制 CLI/TOML,選 sd-scripts。熟悉的環境也會影響上手難度。先短跑確認流程,再於外部比較匯出的 LoRA,之後才投入長時間訓練。

授權各異:KohakuMoss License1.0對衍生軟體、產品、服務名稱加上Kohaku條件,文字明列訓練模型、adapter及生成圖片不受該條件影響。AI Toolkit為MIT,Fizgig為Apache-2.0,sd-scripts主要Apache-2.0、部分元件另有條款。模型及資料權利仍須另外確認,並非概括商用許可。

MOSS-Image模型評測 · LoRA訓練基礎指南

評測標籤

#AI Toolkit #ComfyUI #Fizgig #KohakuMossTrainer #LoRA #MOSS-Image #sd-scripts

登入

或

建立帳戶

密碼必須為 8-20 位,且包含字母和數字

或

忘記密碼

密碼必須為 8-20 位,且包含字母和數字