AAD-1 Self-Forcing LoRA (HIGH / LOW, rank 64)

LoRA adapters extracted from Watay/AAD-1's 1-step self-forcing generator (14b_i2v_1step_transformer) — a one-step autoregressive video generator distilled from a 14B Wan transformer, described in the AAD-1 paper ("Asymmetric Adversarial Distillation for One-Step Autoregressive Video Generation").

What's here

Two rank-64 bf16 LoRA files, in the same diffusion_model.* / lora_up+lora_down / diff+diff_b key format used by community accelerator LoRAs (e.g. Wan2.2-Lightning, lightx2v MoE-Distill), so they load with the same ComfyUI/WanVideoWrapper LoRA nodes:

  • AAD-1_self_forcing_HIGH_lora_rank64_bf16.safetensors (633 MB)
  • AAD-1_self_forcing_LOW_lora_rank64_bf16.safetensors (633 MB)

Each was built by: (1) merging AAD-1's 6 sharded .pt checkpoint files into one safetensors file, then (2) computing delta = AAD-1_generator - base_model per tensor and low-rank SVD-compressing every matching 2D weight to rank 64 (1D norm/bias tensors are stored as full-precision diffs instead, since they aren't matrix-shaped). Of AAD-1's 1095 weight tensors, 1094 matched the base architecture exactly and were included; patch_embedding.weight was skipped (16 vs. 36 input channels — see caveat below).

⚠️ Important caveat — base model mismatch

AAD-1's own README states its actual training base is Wan-AI/Wan2.1-T2V-14B (a single 14B text-to-video model), not Wan2.2's dual high/low-noise A14B mixture-of-experts architecture. There is no "HIGH/LOW" duality in AAD-1's real lineage — that concept belongs to Wan2.2.

This HIGH/LOW pair was instead diffed against Wan2.2-I2V-A14B's HIGH and LOW noise experts (bf16 repack by Kijai), because that architecture happens to share identical tensor names and shapes with AAD-1's generator (same 40-layer, dim-5120 Wan transformer skeleton — only the input patch-embedding channel count differs). Wan2.1 and Wan2.2 are different trained models, though, so this delta does not represent AAD-1's true distillation delta from its actual parent model. Treat these two files as an experimental/unverified by-product of that architectural coincidence, not a validated drop-in accelerator for Wan2.2-I2V-A14B.

A corrected, single LoRA extracted against the real base (Wan2.1-T2V-14B) is planned — that one should be the technically correct artifact to use. For guaranteed-correct results today, use AAD-1's own released checkpoint directly with its official inference code.

Neither of these LoRAs has been validated with an actual video-generation run yet — only structural (key/shape) integrity has been checked.

Method

Standard SVD LoRA extraction (the same technique behind tools like kohya's extract_lora_from_models.py): for each matching linear weight W_target - W_base, take a (randomized, torch.svd_lowrank) rank-64 truncated SVD U, S, V, and store lora_up = U·sqrt(S), lora_down = (V·sqrt(S))ᵀ, so lora_up @ lora_down ≈ delta — no alpha scaling needed (implicit scale = 1).

Credits

License

Derived from AAD-1, released under AAD-1's original license, cc-by-nc-sa-4.0 (non-commercial, share-alike). See AAD-1's repo for full terms.

Downloads last month
-
Inference Providers NEW

Model tree for bahae98/AAD-1-self-forcing-loras

Adapter
(326)
this model

Paper for bahae98/AAD-1-self-forcing-loras