Instructions to use bahae98/AAD-1-self-forcing-loras with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Wan2.2
How to use bahae98/AAD-1-self-forcing-loras with Wan2.2:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Inference
- Notebooks
- Google Colab
- Kaggle
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
- AAD-1: Haobo Li, Yanhong Zeng, Yunhong Lu, Jiapeng Zhu, Hao Ouyang, Qiuyu Wang, Ka Leong Cheng, Yujun Shen, Zhipeng Zhang — paper, project page, code, original checkpoint.
- Base checkpoints diffed against: Kijai/WanVideo_comfy bf16 repacks of Wan-AI/Wan2.2-I2V-A14B.
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
- -
Model tree for bahae98/AAD-1-self-forcing-loras
Base model
Wan-AI/Wan2.2-I2V-A14B