AI Toolkit LoRA 訓練指南

使用Ostris AI Toolkit訓練Wan 2.2 I2V 14B圖生影片LoRA

本教學說明如何用Ostris AI Toolkit訓練Wan 2.2 I2V 14B(Image-to-Video)LoRA:Wan的高噪/低噪專家(experts)機制、多階段(Multi-stage)設定思路,以及面向運動、風格與角色的片段資料集設計方法。並介紹如何調整Num Frames、解析度桶與量化設定,讓I2V訓練能在24GB本地顯卡或H100/H200環境中穩定執行。

使用 Ostris AI Toolkit 訓練擴散模型

水平滾動查看完整表單

Ostris AI ToolkitOstrisAI-Toolkit

New Training Job

Job

Model

Use a Hugging Face repo ID (e.g. owner/model-name).
⚠️ full URLs, .safetensors files, and local files are not supported.

Quantization

Target

Save

Training

Datasets

Dataset 1

Sample

Wan 2.2 I2V 14B LoRA 訓練(圖像轉影片)可以將單張圖像轉化為具有可控運動、攝影機移動和時間連貫性的 5 秒短片。透過本教學,你將能夠:

  • 為運動、風格和角色用例設計 Wan I2V LoRA 資料集(並了解真正需要多少片段)。
  • 理解 Wan 的雙專家 high-noise / low-noise 架構、timestep 設定、Num Frames 和解析度在訓練中的交互作用。
  • 配置 AI Toolkit 面板(JOB、MODEL、QUANTIZATION、MULTISTAGE、TARGET、TRAINING、DATASETS、SAMPLE),以便在 24GB 顯存下穩定運行,以及在更大的 H100/H200 雲端配置下高效訓練。
本文是 AI Toolkit LoRA 訓練系列的一部分。如果你是 Ostris AI Toolkit 的新手,請先閱讀 AI Toolkit LoRA 訓練入門指南 後再進入本教學。

目錄


1. Wan 2.2 I2V 14B 有何特別之處?

Wan 2.2 I2V 14B("A14B")是 Wan 2.2圖像轉影片變體。從架構上看,它是一個雙階段 Mixture-of-Experts (MoE) Transformer,包含兩個獨立的 14B 參數 TransformerHigh-noise Transformer 處理早期高噪聲的 timestep,負責全局構圖、運動軌跡和攝影機移動。Low-noise Transformer 處理後期低噪聲的 timestep,負責精細細節、身份特徵和紋理。

在推理過程中,pipeline 會在噪聲調度大約 875/1000 處分割 timestep,並將其分配給 high-noise 或 low-noise Transformer。實際上,每個專家大約處理一半的去噪過程。Wan 2.2 I2V 可以在 16 FPS 下生成最多 81 幀,約為 5 秒影片。

對於 WAN 2.2 I2V 14B LoRA 訓練(圖像轉影片),這有三個關鍵影響。你可以選擇訓練一個或兩個階段。你可以將訓練偏向構圖和運動(high noise)或身份和細節(low noise)。由於你處理的是幀序列,幀數、解析度、顯存以及量化/卸載設定比純圖像模型重要得多。

AI Toolkit 主要透過 MULTISTAGETRAININGTARGETDATASETS 面板提供這些控制選項。


2. 在哪裡運行 WAN 2.2 LoRA 訓練

你可以在 RunComfy 雲端 AI Toolkit本機 AI Toolkit 安裝上運行此 Wan 2.2 I2V LoRA 訓練工作流程。介面和面板相同,只是硬體不同。

2.1 RunComfy 雲端 AI Toolkit(推薦首次使用)

如果你不想管理 CUDA、驅動程式或大型模型下載,請使用 RunComfy 雲端 AI Toolkit

👉 RunComfy AI Toolkit 訓練器

在這個頁面上,你可以獲得一個預裝好的瀏覽器版 AI Toolkit 介面。你可以上傳資料集,按照本教學配置任務,並在 H100 (80 GB)H200 (141 GB) GPU 上運行訓練。這是無需本機設定即可可靠複現本教學的最簡單方式。


2.2 本機 AI Toolkit

如果你更喜歡本機運行:按照 README 安裝 AI Toolkit 倉庫(訓練需要 Python + PyTorch,介面需要 Node),然後啟動介面(在 ui/ 中運行 npm run build_and_start)。開啟 http://localhost:8675,你將看到與本文截圖和說明相同的面板。


3. Wan I2V LoRA 資料集設計

Wan 2.2 I2V 使用影片片段 + 字幕配對進行訓練。每個訓練樣本是一個幀序列加上文字。在 AI Toolkit 中,你不需要手動將每個片段裁剪到相同長度。相反,你在 DATASETS 面板中配置 Num Frames,資料載入器會從每個影片中均勻取樣該數量的幀,自動處理不同長度的片段。

3.1 確定你要訓練的 LoRA 類型

如何設定超參數很大程度上取決於你的目標:

  • 運動/攝影機 LoRA 專注於「環繞物體 360 度旋轉」、「緩慢推進變焦」、「手持抖動」或特定動作節拍等模式。
  • 風格 LoRA 使影片看起來像特定膠卷、動漫風格或繪畫外觀,同時保持 Wan 的基礎運動和場景構圖。
  • 角色 LoRA 試圖在多個場景和運動中保持特定角色或面部的一致性。

Wan 2.2 I2V 可以實現這三種。運動 LoRA 更多依賴於 high-noise 階段,而風格和角色 LoRA 更多依賴於 low-noise 階段以及高度一致的視覺效果。


3.2 影片片段和裁剪

使用真實影片片段(.mp4.mov 等),不要用 GIF。片段長度可以變化(例如 5-30 秒)。AI Toolkit 會根據你的 Num Frames 設定沿每個片段均勻取樣訓練幀。

你總是需要手動做的一件事是裁剪和修剪每個片段,使你感興趣的運動快速開始,開頭或結尾沒有太多「靜止」時間。特別是對於運動 LoRA,你希望運動佔據幾乎整個片段——例如,完整的環繞、完整的推進運動或完整的手勢。


3.3 你需要多少片段?

作為粗略規則:

  • 簡單的運動 LoRA,訓練一種攝影機運動類型,通常用 10-30 個短片段(約 3-8 秒)就能訓練好,其中目標運動非常清晰並佔據大部分畫面。
  • 風格 LoRA 通常需要 10-40 張圖像或片段,涵蓋不同場景、光線和物件,但都具有相同的外觀和調色。
  • 角色 LoRA 在 I2V 上的表現更像圖像 LoRA。至少需要 10-30 個短片段,包含同一角色的各種姿勢、比例、角度和背景;如果你能舒適地達到 20-40 個片段,相似度和可靠性通常會提高。

3.4 I2V 片段的字幕

每個影片檔案可以選擇性地有一個同名的 .txt 字幕檔案(例如 castle_orbit.mp4castle_orbit.txt)。AI Toolkit 還支援 Default Caption,當片段沒有自己的字幕時使用。

好的字幕模式:

  • 對於運動 LoRA,在文字中明確編碼運動,例如:

    orbit 360 around the subjectorbit 180 around the subjectslow dolly in toward the character

  • 對於風格 LoRA,描述外觀而非場景內容,例如:

    grainy 16mm film look, high contrast, warm tint

  • 對於角色 LoRA,包含觸發詞加類別,例如:

    frung, young woman, casual clothing(其中 frung 是你的觸發 token)。

你還可以將 JOB 面板中設定的 Trigger Word 與包含 [trigger] 的字幕結合使用。AI Toolkit 會在載入資料集時將 [trigger] 替換為你選擇的觸發字串,這樣你就不需要在每個字幕中硬編碼觸發名稱。


4. 需要了解的 Wan 2.2 I2V 特性

4.1 High-noise vs Low-noise Transformer

Wan 的兩個 Transformer 大致行為如下:

High-noise Transformer 在接近擴散過程開始的 timestep(約 1000 到 ~875)上工作。它確定全局構圖和粗略形狀,決定物體位置、攝影機移動方式以及運動軌跡。它對運動和佈局至關重要。

Low-noise Transformer 在約 875 到 0 的 timestep 上工作。它細化細節、紋理、面部相似度和微運動。它對身份、紋理和銳度至關重要。

實際上,只訓練 high-noise 階段可以教授新的運動類型和構圖,但往往會欠擬合細節。只訓練 low-noise 階段難以顯著改變運動或佈局。對於大多數 LoRA,你應該同時訓練兩個階段,然後使用 TRAINING 面板中的 Timestep Bias 來引導重點。


4.2 幀數、FPS 和速度

Wan 2.2 I2V 14B 可以在 16 FPS 下生成最多 81 幀,即 5 秒。實際上,有效的影片幀數遵循 「4n+1」規則(例如 9、13、17、21、33、41、81…)。你可以按這個系列考慮影片長度;1 幀也支援,實際上在 AI Toolkit WAN 2.2 LoRA 訓練中將 I2V 簡化為類似圖像的單幀模式。

在 AI Toolkit 中有兩個獨立的 Num Frames 控制項。DATASETS 面板中的 Num Frames 控制每個片段取樣多少幀用於訓練。SAMPLE 面板中的 Num Frames 控制預覽影片的長度。它們不需要完全匹配,但保持相似可以使行為更容易理解。

一個好的訓練起點是 41 幀(約 2.5 秒)。在 80-96 GB GPU(H100 等級)上,你可以達到完整的 81 幀配置。較短的長度如 21 或 33 幀可用於降低小型 GPU 上的顯存負擔和步進時間,代價是擷取較少的時間上下文。


4.3 解析度和像素面積

Wan 的官方示範通常將有效面積保持在約 480×832 ≈ 400k 像素左右,Hugging Face spaces 會將尺寸四捨五入到 16 或 32 的倍數。

對於使用 AI Toolkit 進行的 WAN 2.2 I2V 14B LoRA 訓練(圖像轉影片)

  • 24 GB GPU 上,使用 512768 等解析度桶。避免 1024×1024,除非你進行了非常激進的量化和/或使用層卸載;1024² 加 41-81 幀的影片非常佔用資源。
  • 48 GB+ 或 H100/H200 上,你可以安全地添加 1024 桶,甚至使用電影寬銀幕解析度,如 1024×576、1024×608 或 1024×640。

AI Toolkit 會在載入資料集時自動分配並縮放你的影片到選定的解析度。


5. 使用 AI Toolkit 逐步訓練 WAN 2.2 I2V 14B LoRA

我們假設你至少有 24 GB 等級的 GPU,因此以下設定是一個安全的基線。如果你有更強大的顯示卡或使用 RunComfy 雲端 AI Toolkit,某些面板還包括如何擴展設定的簡要說明。


5.1 JOB 面板

JOB 面板中,你設定基本中繼資料和可選的觸發 token。

  • Training Name

    使用任何描述性名稱;它成為檢查點和樣本的資料夾名稱。例如:wan_i2v_orbit_v1wan_i2v_style_neonwan_i2v_char_frung_v1

  • GPU ID

    本機安裝時,這指向你的實體 GPU。在 RunComfy 雲端 AI Toolkit 上,你可以保持預設;實際的機器類型(H100/H200)稍後在 Training Queue 中選擇。

  • Trigger Word(可選)

    為角色或風格 LoRA 使用觸發詞,其中你需要一個專用 token 如 frungwan_cam_orbit。如果你的資料集字幕包含 [trigger],AI Toolkit 會在載入時自動將其替換為你的 Trigger Word 值。

    對於純運動 LoRA,你通常不需要觸發詞,因為行為已經編碼在「orbit 360 around the subject」等短語中。對於角色和風格,強烈建議使用觸發詞,以便稍後有一個乾淨的 LoRA 開/關切換。


5.2 MODEL 和 QUANTIZATION 面板

這些面板控制使用哪個 Wan 模型檢查點以及量化的激進程度。

MODEL 面板

  • Model Architecture

    選擇 Wan 2.2 I2V (14B)

  • Name or Path

    基礎檢查點的 Hugging Face model id(repo id),例如:ai-toolkit/Wan2.2-I2V-A14B-Diffusers-bf16

    在大多數 AI Toolkit 構建中,選擇 Wan 2.2 I2V (14B)自動填充此值;除非有理由更改,否則保持原樣。

  • Low VRAM

    對於 24 GB 消費級 GPU 或任何同時管理顯示器的顯示卡,啟用 Low VRAM ON。在 48 GB+(包括 H100/H200)上,如果你保持訓練負載合理(例如 512/768 桶和約 41 幀),通常可以保持 OFF 以提高速度。如果你看到偶發 OOM(通常由最大解析度桶引起)或想要推進 1024 桶和/或 81 幀,請啟用 Low VRAM ON 以保持穩定。

  • Layer Offloading

    此開關將模型的部分傳輸到 CPU RAM 而不是將所有層保留在顯存中。只有當你嘗試在非常小的 GPU(約 10-12 GB 顯存)上運行 Wan I2V 並且有大量系統 RAM(64 GB+)時才需要。這可能會使步進時間大約翻倍,但可以將峰值顯存降到約 9 GB 以下。對於 24 GB GPU,從 Layer Offloading OFF 開始,只有在仍然遇到記憶體不足錯誤時才啟用。

在大型 GPU / RunComfy 上:

在 48 GB+ 或 H100/H200 上,從 Layer Offloading OFF 開始。如果你想要最大速度,保持 Low VRAM OFF,但首先搭配保守的桶(512/768)和幀數(約 41)。如果你推進 1024/81 並遇到 OOM 峰值,啟用 Low VRAM ON(或移除 1024)以穩定運行。

QUANTIZATION 面板

  • Transformer

    24-32 GB GPU 上,將 Transformer 設定為 4bit with ARA。這使用 4 位元量化配合 Accuracy Recovery Adapter,使顯存使用接近純 4 位元,同時品質保持更接近 bf16。

  • Text Encoder

    Text Encoder 設定為 float8(或 qfloat8)。這降低了文字編碼器的顯存和計算量,對 Wan 2.2 I2V LoRA 品質影響很小。

這反映了 AI Toolkit 對 Wan 2.2 影片 LoRA 的官方範例配置,也是訓練在 24 GB 顯示卡上可行的主要原因。如果你在特定配置上遇到 ARA 的穩定性問題或嚴重減速,可以將 Transformer 回退到 qfloat8;這會使用更多顯存,但品質表現非常相似。

在大型 GPU / RunComfy 上:

在 H100/H200 或 48-96 GB 工作站上,你可以保持 4bit with ARA 並將額外顯存用於更高解析度、更多幀或更高的 LoRA rank,或者將 Transformer 切換為純 float8 / qfloat8 變體以簡化堆疊。完全回退到全 bf16 對於 WAN 2.2 LoRA 訓練來說很少需要。


5.3 MULTISTAGE 面板(high / low noise)

MULTISTAGE 面板允許你決定訓練哪個專家以及訓練時切換頻率。

  • Stages to Train

    對於大多數 LoRA,保持 High NoiseLow Noise 都為 ON。High noise 控制構圖和運動;low noise 控制細節和身份。

  • Switch Every

    此值控制在切換到另一個專家之前,在一個專家上執行多少步。當 High Noise = ONLow Noise = ONSwitch Every = 10Steps = 3000 時,AI Toolkit 訓練:

    • 步驟 1-10 在 high-noise transformer 上,
    • 步驟 11-20 在 low-noise transformer 上,
    • 並重複此交替直到訓練完成。

在大型 GPU 上,只有當兩個專家都保留在顯存中(無 Low VRAM/卸載/交換)時,你才能使用 Switch Every = 1(每步交替)。如果啟用了 Low VRAM 或任何卸載/交換,每次切換可能導致昂貴的卸載/載入,Switch Every = 1 會變得極慢。在這種情況下,優先使用 Switch Every = 10-50 以減少交換開銷。

對於基線 24 GB GPU,使用:

  • High Noise = ON
  • Low Noise = ON
  • Switch Every = 10-50

在大型 GPU / RunComfy 上:

如果兩個專家都保留在顯存中(Low VRAM OFF,無卸載),你可以設定 Switch Every = 1 以獲得略微更平滑的交替。如果你看到步進時間緩慢或交換,改用 10-50


5.4 TARGET 面板(LoRA 網路設定)

TARGET 面板中,你配置訓練什麼類型的適配器以及它有多「寬」。

  • Target Type

    Target Type 設定為 LoRA

  • Linear Rank

    Linear Rank 控制每個區塊的 LoRA 容量。更高的 rank 增加容量,但也增加顯存使用和過擬合風險。對於 Wan 2.2 I2V,實用的預設值:

    • 運動和攝影機 LoRA:Rank 16 通常足夠,因為它們更多地修改行為而非細微視覺細節。
    • 風格 LoRA:從 Rank 16 開始;只有當風格複雜且你有顯存餘量時才升至 32
    • 角色 LoRA:從 Rank 16 開始(即使在大型 GPU 上)。只有在確認運行穩定(無 OOM 峰值)且你確實需要更大容量用於高解析度面部特寫時,才升至 32

在非常大的 GPU 上,Rank 32 對於豐富的風格和要求苛刻的角色工作可能有幫助,但獲得好的 LoRA 並不需要它,而且與大桶和多幀結合時可能使 OOM 峰值更有可能。


5.5 SAVE 面板

SAVE 面板控制檢查點寫入頻率和精度。

  • Data Type

    使用 BF16FP16。兩者都適合 LoRA。BF16 在現代 GPU 上數值上稍微更穩定。

  • Save Every

    Save Every 設定為約 250。這樣每 250 步你就有一個檢查點。

  • Max Step Saves to Keep

    Max Step Saves to Keep 設定在 46 之間。這控制磁碟使用,同時為你留下幾個較早的檢查點以備回滾。

你不需要使用最後一個檢查點。最佳樣本通常來自 2000-4000 步左右的某處。下面的 SAMPLE 面板配置解釋了如何判斷。

如果你在訓練期間停用取樣(對於當前 Wan I2V 構建推薦如下),儲存多個檢查點(例如每 250 步)並稍後使用單獨的推理工作流程評估它們。


5.6 TRAINING 面板

TRAINING 面板包含大多數重要控制項:batch size、learning rate、timestep、損失函數和文字編碼器處理。

基本超參數

為 24 GB Wan I2V 影片 LoRA 配置基本訓練參數如下:

  • Batch Size

    1 開始。影片模型很重,即使在 24 GB 顯示卡上 1 也是現實的。在 H100/H200 上,你可以稍後嘗試 2-4 的 batch size。

  • Gradient Accumulation

    最初保持 Gradient Accumulation1。有效 batch size 是 batch size 乘以 gradient accumulation。如果顯存非常有限且你想要稍大的有效批次,可以增加到 2 或 4,但對於影片來說收益有限。

  • Learning Rate

    Learning Rate = 0.0001 開始。這是 AI Toolkit 範例中的預設值,對 Wan LoRA 穩定。如果訓練看起來嘈雜或 LoRA 很快超出範圍,你可以在運行中降至 0.00005 並從最後一個檢查點繼續。

  • Steps – 典型範圍:
    • 小型、專注的運動 LoRA,約 10-20 個片段:1500-2500 步
    • 角色或風格 LoRA,20-50 個片段2000-3000 步
    • 非常大的資料集可以更高,但通常提高資料品質(字幕、多樣性)比遠遠超過 3000-4000 步更好。
    • 1000 步:~12-18 小時
    • 1500 步:~18-27 小時
    • 2000 步:~24-36 小時
    • 3000 步:~35-55 小時
  • Weight Decay

    除非有特定原因更改,否則保持 Weight Decay0.0001;這提供輕度正則化。

  • Loss Type

    保持 Loss TypeMean Squared Error(MSE)。Wan 2.2 使用 flow-matching 噪聲排程器,MSE 是這種設定的標準損失函數。


Timestep 和排程器

  • Timestep Type

    對於 Wan 2.2 I2V,Linear 是標準的 Timestep Type,對大多數 LoRA 類型效果良好。它沿 flow-matching 排程均勻分布更新,與 high-noise 和 low-noise 專家的分離配合良好。

  • Timestep Bias

    Timestep Bias 控制你強調軌跡的哪個部分:

    • Balanced – 更新分布在 high-noise 和 low-noise timestep 之間;這是所有 LoRA 類型的安全預設值
    • Favor High Noise – 更多關注 Wan 決定全局佈局、運動和顏色的早期嘈雜步驟。
    • Favor Low Noise – 更多關注細節和身份所在的後期乾淨步驟。
    • 運動/攝影機 LoRA – 從 Timestep Type = LinearTimestep Bias = Balanced 開始。對於非常「乾淨」的攝影機運動 LoRA,你可以嘗試 Favor High Noise 以更多依賴 high-noise 專家。
    • 風格 LoRA – 使用 Timestep Type = Linear(或 Shift)Timestep Bias = Favor High Noise,讓 LoRA 覆蓋全局色調和顏色,同時基礎模型仍處理後期細節。
    • 角色 LoRA – 使用 Timestep Type = Sigmoid(或 Linear)Timestep Bias = Balanced。身份和相似度更多依賴 low-noise 步驟,但保持 Balanced 偏置讓兩個專家都貢獻;只有當你特別想要額外關注微細節時,才應該嘗試輕微偏向 low-noise。

在底層,Wan 2.2 I2V 使用 flow-matching 噪聲排程器。AI Toolkit 為 Wan 2.2 架構自動設定排程器和相應的取樣器,所以你主要透過上面的 Timestep TypeTimestep BiasMulti-stage 設定來引導行為。


EMA(指數移動平均)

  • Use EMA

    對於 LoRA,EMA 是可選的,會消耗額外的顯存和時間。大多數 Wan LoRA 使用者保持 Use EMA OFF,除非你在做完整模型微調,否則很少需要。


文字編碼器最佳化

在 TRAINING 面板底部是 Text Encoder Optimizations 設定。這些控制文字編碼器卸載或快取的激進程度。

  • Unload TE

    此模式卸載文字編碼器權重,使其在步驟之間不再消耗顯存。對於 Wan 2.2 I2V LoRA,你幾乎總是依賴每個片段的豐富字幕,所以在正常的基於字幕的訓練中應該保持 Unload TE OFF。只有當你故意訓練一個根本不使用資料集字幕的非常窄的「僅觸發/空提示」LoRA 時,才考慮 Unload TE。

  • Cache Text Embeddings

    此選項預先計算一次字幕嵌入並重複使用它們,避免重複的文字編碼器傳遞。只有當你的字幕是靜態的且你沒有使用在每步修改或隨機化提示的功能時,才啟用 Cache Text Embeddings ON,例如 Differential Output Preservation、字幕中的動態 [trigger] 重寫,或任何嚴重依賴 caption dropout 行為的功能。在這種情況下,AI Toolkit 編碼所有訓練字幕一次,將嵌入快取到磁碟,並可以從顯存中移除文字編碼器。

如果你計劃使用 DOP、Caption Dropout 或其他動態提示技巧,保持 Cache Text Embeddings OFF,以便文字編碼器可以在每個批次重新編碼實際提示。Differential Output Preservation 和 Datasets 部分更詳細地解釋了這些交互。


正則化 – Differential Output Preservation (DOP)

Regularization 部分展示了 Differential Output Preservation (DOP),它幫助 LoRA 表現為殘差編輯而不是覆蓋基礎模型。

DOP 比較基礎模型輸出(無 LoRA)與啟用 LoRA 的輸出,並在 LoRA 改變與你的目標概念無關的方面時添加懲罰。它試圖教「當觸發詞存在時什麼變化」而不是「過擬合整個模型」。

對於運動/攝影機 LoRA,你通常不需要 DOP,因為運動行為已經相當局部化。啟用 DOP 大約會使計算翻倍,添加額外的前向傳遞。

對於風格和角色 LoRA,DOP 通常非常有助於保持 Wan 強大的基礎真實感不受影響。一個好的起始配置:

  • Differential Output Preservation:ON
  • DOP Loss Multiplier1
  • DOP Preservation Class:角色 LoRA 用 person,如果你的構建提供這些選項,風格 LoRA 用 scenelandscape 等合適的類別。

重要的相容性說明:Differential Output Preservation 在每步重寫或增強提示文字(例如用保留類別詞替換你的觸發詞)。因此,DOP 與 Cache Text Embeddings 不相容。如果你啟用 DOP ON,確保 Cache Text Embeddings OFF,以便文字編碼器在每個批次看到更新的提示。


5.7 ADVANCED 面板(Differential Guidance)

如果你的 AI Toolkit 構建為此模型展示了 ADVANCED 面板,它可能包含 Do Differential GuidanceDifferential Guidance Scale

Differential Guidance 計算「有 LoRA」vs「無 LoRA」的預測,並將訓練推向它們之間的差異,精神上類似於 DOP,但在 guidance 層面而非單獨的損失函數項實現。

實用建議:

  • 對於有針對性的風格編輯 LoRA(例如「讓攝影機旋轉」、「套用霓虹風格」),啟用 Do Differential Guidance ON 並將 Differential Guidance Scale 設為約 3,當你希望 LoRA 表現為純修改器時。
  • 對於重寫整個外觀的非常寬泛、厚重的風格 LoRA,你可以嘗試較低的比例(1-2)或保持 OFF 如果 LoRA 看起來太弱。

如果你在計算上受限,可以安全地在首次運行時保持 Differential Guidance OFF,稍後再試驗。


5.8 DATASETS 面板

AI Toolkit 中的每個資料集區塊對應 datasets: 列表中的一個條目,但在 UI 中你只是配置一個或多個資料集卡片。

典型的單一 Wan I2V 資料集配置如下:

  • Target Dataset

    選擇你上傳的 Wan I2V 影片資料集資料夾,例如 wan_orbit_clips

  • Default Caption

    當片段沒有 .txt 字幕檔案時使用此字幕。例如:

    運動 LoRA:orbit 360 around the subject

    風格 LoRA:cinematic neon cyberpunk style

    角色 LoRA:frung, person, portrait(其中 frung 是你的觸發 token)。

  • Caption Dropout Rate

    這是訓練樣本的字幕被丟棄(替換為空字幕)的機率。對於 Wan I2V LoRA,少量 dropout 鼓勵模型同時使用視覺上下文和文字。當文字編碼器保持載入時,典型的起始範圍是 0.05-0.10(5-10%)。如果你決定在 TRAINING 面板中啟用 Cache Text Embeddings,通常更容易設定 Caption Dropout Rate = 0 以避免某些片段永久缺少字幕。

  • LoRA Weight

    通常設為 1。只有當混合多個資料集且你希望一個資料集在訓練中權重更大或更小時才更改。

  • Settings → Cache Latents

    對於 Wan I2V 影片資料集(Num Frames > 1),保持此項 OFF。許多當前的 AI Toolkit 構建不支援多幀資料集的潛在變數快取,會在資料載入器初始化期間失敗並報錯:

    caching latents is not supported for multi-frame datasets

    如果你故意設定 Num Frames = 1(類似圖像的訓練),潛在變數快取可能有效並加速訓練。

  • Settings → Is Regularization

    對於主資料集保持 Is Regularization OFF。如果你稍後添加單獨的正則化資料集,將該資料集的 Is Regularization 設為 ON。

  • Flipping

    Flip XFlip Y 水平或垂直翻轉幀。對於大多數影片任務,應該保持兩者 OFF,特別是對於運動 LoRA(翻轉可能反轉左/右運動語義)或具有不對稱特徵的角色。對於純風格 LoRA,你可以嘗試 Flip X 以增加變化。

  • Resolutions

    選擇一個或多個解析度桶。在 24 GB GPU 上,你通常啟用 512 並停用 768 和 1024。在 48 GB+ 或 H100/H200 上,從 512 和 768 開始以保持穩定,然後只有在你有明確的顯存餘量且運行穩定時才添加 1024(桶訓練在遇到最大桶時可能導致顯存峰值)。AI Toolkit 會自動將片段分配到最近的桶並根據需要縮小。

  • Num Frames

    Num Frames 設定為你希望每個片段取樣用於訓練的幀數。一個好的起點是 41。在非常小的 GPU(10-12 GB)上使用大量量化和卸載時,你可以降到 21 甚至 9 只是為了讓訓練運行,代價是較短的時間上下文。

如果你需要多個資料集(例如主運動資料集加小型「風格」資料集),你可以在 DATASETS 面板中全部添加,並使用 LoRA WeightIs Regularization 標誌來控制它們的相對影響。


5.9 SAMPLE 面板(訓練預覽)

SAMPLE 面板不直接影響訓練;它控制 AI Toolkit 如何定期生成預覽影片,以便你選擇最佳檢查點。

重要(Wan I2V 要求):Wan 2.2 I2V 取樣是圖像→影片。每個樣本必須包含提示 + 控制圖像配對。

如果取樣在訓練期間觸發(例如 disable_sampling: falseskip_first_sample: falseforce_first_sample: true)且任何樣本缺少 ctrl_img,預覽取樣步驟可能失敗並過早停止任務。在許多環境中,這表現為令人困惑的張量不匹配錯誤:

RuntimeError: The size of tensor a (36) must match the size of tensor b (16)

修復:在 samples 中確保每個 prompt 都有對應的 ctrl_img(它們應該總是成對出現)。不要留下只有提示的樣本行。

推薦的取樣設定(啟用預覽)

如果你想在訓練期間預覽,使用這些設定:

  • Sample Every

    Sample Every 設定為 250。這與 Save Every 設定匹配,所以每個檢查點都有對應的預覽影片集。

  • Sampler

    使用與 Wan 的 flow-matching 排程器相容的取樣器,通常在你的構建中顯示為 FlowMatch 或類似名稱。

  • Width / Height

    在 24 GB GPU 上,使用 768 × 768 或垂直格式如 704 × 1280 作為樣本。避免 1024×1024 預覽影片除非你能接受較慢的取樣;訓練本身不需要 1024² 預覽。

  • Guidance Scale

    從約 3.5-4Guidance Scale 開始,這與許多 Wan 2.2 示範配置一致。

  • Sample Steps

    Sample Steps 設定為 25。更多步驟很少顯著改變運動品質,主要是增加時間。

  • Seed / Walk Seed

    設定固定的 Seed42。如果你想讓每個預覽獲得不同的種子同時保持接近原始值,啟用 Walk Seed ON

  • Num Frames

    將 SAMPLE 面板中的 Num Frames 設定為等於或接近你的訓練值。如果你用 41 幀訓練,也用 41 取樣。當 LoRA 看起來不錯時,你可以透過生成 81 幀的更長片段來測試泛化;41 幀訓練通常對 81 幀推理有驚人好的泛化能力。

  • FPS

    通常保持 FPS = 16。改變 FPS 只影響播放速度,不影響學到的運動本身。

對於提示,添加 2-4 行提示,反映你的訓練分布。對於每行,附加一個控制圖像,類似於你在推理時使用的。


6. AI Toolkit WAN 2.2 LoRA 訓練:運動、風格和角色的配置

以下是常見 Wan 2.2 I2V LoRA 類型的快速配方。將它們視為起點,並根據檢查點評估進行調整(訓練期間的預覽可能被停用;見 SAMPLE 面板)。

6.1 運動/攝影機 LoRA

目標:教 Wan 新的運動,如 orbit 360、orbit 180 或特定的攝影機轉向。

使用 10-30 個短片段(約 3-8 秒),其中目標運動非常清晰並佔據大部分片段。字幕應明確描述運動,例如 orbit 180 around the subjectorbit 360 around a futuristic city

面板建議:

  • MULTISTAGE:High Noise = ON,Low Noise = ON,Switch Every = 10(如果 Low VRAM/卸載導致交換緩慢則用 20-50)。
  • TARGET:Linear Rank = 16。
  • TRAINING:Learning Rate = 0.0001,Steps ≈ 1500-2500,Timestep Type = Linear,Timestep Bias = Balanced,DOP OFF。
  • DATASETS:Resolutions 在 512/768,Num Frames = 33-41(從 41 開始;81 在 H100/H200 上可行,但預計約 2× 時間和更多顯存),Caption Dropout Rate ≈ 0.05-0.1。多幀資料集的 Cache Latents OFF。

使用 Save Every = 250 訓練。預覽取樣:如果你在訓練期間啟用預覽,設定 Sample Every = 250 並確保 samples 中的每個條目都包含 promptctrl_img(Wan I2V 取樣需要控制圖像)。

評估檢查點時,關注目標運動是否在不同提示和場景中穩定;如果它只在你訓練片段的近乎複製品上有效,優先提高資料多樣性或略微增加步數,而不是將偏置從 Balanced 移開。


6.2 風格 LoRA(影片外觀/調色)

目標:改變視覺風格,同時尊重 Wan 的基礎運動和構圖。

使用 10-40 張圖像或片段,它們都具有相同的外觀但涵蓋不同的場景和物件,例如 grainy 16mm film look, high contrast, warm tint

面板建議:

  • MULTISTAGE:High Noise = ON,Low Noise = ON,Switch Every = 10(如果 Low VRAM/卸載導致交換緩慢則用 20-50)。
  • TARGET:Linear Rank = 簡單風格用 16;複雜或電影外觀用 16-32
  • TRAINING:Learning Rate = 0.0001,Steps ≈ 1500-2500,Timestep Type = Linear(或 Shift),Timestep Bias = Favor High Noise
  • Regularization (DOP):Differential Output Preservation ON,DOP Loss Multiplier = 1,DOP Preservation Class 匹配你的主導物件(通常是 personscene),Cache Text Embeddings = OFF。
  • DATASETS:24 GB 上 Resolutions 512/768(大型 GPU 上也是 512/768,只有在穩定後才選擇性添加 1024),24 GB 上 Num Frames = 33-41(如果你能負擔時間,H100/H200 上 41-81),如果 Cache Text Embeddings OFF 則 Caption Dropout Rate 約 0.05。多幀資料集的 Cache Latents OFF。

監控風格是否在場景和光線之間一致套用。如果它開始壓倒內容或使所有內容看起來相同,嘗試在運行中降低 learning rate,回滾到較早的檢查點,或降低 LoRA rank。


6.3 角色 LoRA(影片中的相似度)

I2V 上的角色 LoRA 比 text-to-image 模型更複雜,但是可行的。

使用 10-30 個短片段,包含同一角色的各種姿勢、比例、角度和背景;字幕應始終包含你的 Trigger Word 加類別,例如 frung, young woman, casual clothing。如果你能收集 20-40 個片段,身份可靠性通常會提高,但獲得可用結果並不嚴格必需。

面板建議:

  • MULTISTAGE:High Noise = ON,Low Noise = ON,Switch Every = 10(如果 Low VRAM/卸載導致交換緩慢則用 20-50)。
  • TARGET:Linear Rank = 24 GB 上用 16;高顯存 GPU 上用 16-32(當你有餘量且關心高解析度面部特寫時用 32)
  • TRAINING:Learning Rate = 0.0001,Steps ≈ 2000-3000,Timestep Type = Sigmoid(或 Linear),Timestep Bias = Balanced
  • Regularization (DOP):Differential Output Preservation ON,DOP Loss Multiplier = 1,DOP Preservation Class = person
  • DATASETS:從 512/768 開始(只有在穩定後才添加 1024),24 GB 上 Num Frames = 33-41,H100/H200 上 41-81(81 明顯更慢)。多幀資料集的 Cache Latents OFF。

社群經驗表明,身份和相似度更多依賴 low-noise 專家,但保持 Timestep Bias = Balanced 並使用成形的 Timestep Type (Sigmoid) 通常在相似度和整體影片穩定性之間提供比強烈偏向 low noise 更好的權衡。


7. Wan I2V LoRA 常見問題排查

The size of tensor a (36) must match the size of tensor b (16) at non-singleton dimension 1

原因:在 WAN 2.2 14B I2V(arch: wan22_14b_i2v)上,訓練期間的預覽取樣是圖像→影片,需要控制圖像。如果 samples任何條目有 prompt 但缺少 ctrl_img,預覽取樣步驟可能失敗,有時表現為上述張量不匹配。

解決方法:samples 中確保每個 prompt 都有對應的 ctrl_img(它們應該總是成對出現)。不要留下只有提示的樣本行。


caching latents is not supported for multi-frame datasets

當在影片資料集(Num Frames > 1)上啟用潛在變數快取時發生。

修復:在 DATASETS 面板中,對 Wan I2V 影片資料集設定 Cache Latents / Cache Latents to Disk = OFF


運動比源影片快太多

這通常發生在你訓練時每個片段的幀數少於推理設定時。例如,你可能用 21 或 41 幀訓練,但在固定 FPS 16 下用 81 幀取樣。相同的運動以不同方式「拉伸」。

你可以透過降低 SAMPLE 面板中的 FPS(僅用於播放)來修復,或者用一致的 Num Frames 如 41 進行訓練和取樣,以使時間行為更可預測。


攝影機不移動或構圖幾乎不變

如果攝影機幾乎不移動或構圖看起來像基礎模型:

檢查你是否實際在訓練 high-noise 階段,以及 Timestep Bias 是否沒有設定得太偏向低 timestep。確保 MULTISTAGE 面板中 High Noise ON 且運動 LoRA 的 Timestep Bias 是 Favor High。還要檢查字幕是否清楚描述了期望的運動;Wan 無法學習既看不到也沒有命名的運動。


細節和面部比基礎 Wan 更差

如果你的 LoRA 移除細節或降低面部品質:

嘗試略微增加 Linear Rank(例如從 16 到 32)並在 Timestep Bias 中偏向 low noise,以便更多訓練訊號進入身份和細節所在的後期 timestep。你也可以降低 learning rate 並從較早的檢查點繼續。


LoRA 過擬合,只在與訓練類似的場景上有效

如果 LoRA 只在非常類似於訓練資料的場景上看起來正確:

減少總 Steps(例如從 5000 到 3000),增加資料集多樣性,如果當前關閉則考慮啟用 Differential Output Preservation。如果 DOP 已經 ON 且效果仍然太窄,略微降低 LoRA rank 和/或 learning rate。


顯存不足錯誤

如果訓練頻繁耗盡顯存:

減少以下任意組合:

  • 解析度桶(移除 1024,保留 512/768),
  • Num Frames(例如從 41 到 21),
  • batch size(如果還沒有保持在 1)。

啟用 Low VRAM ON,如果你只有 10-12 GB 顯存和大量系統 RAM 則啟用 Layer Offloading ON,並確保 QUANTIZATION 面板中 transformer 和 text encoder 的量化都設定為 float8。如果本機顯存仍然不夠,考慮在 RunComfy 雲端用 H100 或 H200 GPU 運行相同的 AI Toolkit 任務,在那裡你可以保持設定更簡單。

如果你在大型 GPU(如 H100)上也看到 OOM,這通常是桶峰值問題:

  • 移除 1024 桶直到運行穩定,然後再添加回來。
  • 減少 Num Frames(41 → 33 → 21)。
  • 除非真正需要,否則保持 Layer Offloading OFF(它可能使運行更慢且更容易交換)。
  • 如果涉及交換,增加 MULTISTAGE Switch Every(10-50)以避免每步的卸載/載入開銷。
  • 對於記憶體優先選擇更激進的量化:Transformer 4bit with ARA(如果 ARA 不穩定則 qfloat8),Text Encoder float8/qfloat8

訓練比預期慢得多(每步幾十秒)

Wan 2.2 I2V LoRA 訓練本質上很慢:每步處理許多幀,訓練兩個專家意味著你通常需要更多總步數來給每個階段足夠的更新。

現實檢查(典型時間預期):在 41 幀和混合 512/768/1024 桶下,H100 上 3000 步通常需要數十小時(通常 ~35-55 小時)。81 幀取樣大約是 ~2× 計算量/時間。在較小的 GPU 上(特別是使用量化+卸載),看到每步幾十秒可能是正常的。

如果這看起來不合理地慢或隨時間持續變慢:

  • 減少 Num Frames(41 → 33 → 21)。
  • 移除 1024 桶(保持 512/768)。
  • 除非真正需要,避免 Layer Offloading
  • 如果啟用了 Low VRAM/卸載/交換,不要使用 Switch Every = 1;使用 10-50
  • 如果啟用了預覽,保持取樣稀疏(例如 Sample Every = 250),這樣取樣不會太頻繁地中斷訓練。

👉 RunComfy AI Toolkit 訓練器


8. 匯出和使用你的 Wan I2V LoRA

訓練完成後,你可以透過兩種簡單方式使用你的 Wan 2.2 I2V 14B LoRA:

  • Run LoRA – 開啟 Wan 2.2 I2V 14B Run LoRA 頁面。在這個基礎模型的推論頁面裡,你可以直接選擇你在 RunComfy 上訓練出來的 LoRA 資產,也可以 import 你用 AI Toolkit 訓練好的 LoRA 檔案,接著透過 playground 或 API 進行推論。RunComfy 會使用與你訓練設定一致的 base model,並復用訓練設定裡完整的 AI Toolkit pipeline 定義,所以訓練時看到什麼,推論就得到什麼;這種 training/inference 的強對齊能特別保證推論效果與訓練採樣的一致。
  • ComfyUI 工作流程 – 啟動 ComfyUI 實例,構建工作流程,連接你的 LoRA,並微調其權重和其他參數以獲得更細粒度的控制。

其他 AI Toolkit LoRA 訓練教學

準備好開始訓練了嗎?