Thank you very much! Also, a LoRA!
This model is very excellent and I just wanted to express my gratitude! Also, I've extracted it as a LoRA which you can find at https://huggingface.co/Blyss/BlissfulModels/tree/main/wan_lcm and which seems to also work for I2V and even https://github.com/SkyworkAI/SkyReels-V2 ! I found previous extractions I encountered had some structural weirdness and were Rank 32, this is Rank 16 which seems sufficient and plays nicer with other LoRA. Both a Musubi Tuner format (blissful) and diffusion-pipe (Comfy) format are provided. Please feel free to make use of it if it's helpful and thanks again.
works great for cui. I'm interested in the rank32 weirdness - is it washed out?
When I said structural weirdness I meant in the LoRA model itself. The Rank 32 that's floating around has some param types that I've not encountered before - diff, diff_b - in addition to the usual up+down/a+b params. Also it includes the text_embedding, time_projection, patch_embedding, norm, and head params which are not necessary for this purpose and degrade compatibility with other LoRA. As such according to my own tests and reports of others who've used my LoRA, it's more compatible with other Wan LoRA than the R32. I've had success inferencing Wan T2V + this LoRA + two other Wan LoRA! The distilled model that lightx2v made is excellent! I've been waiting for a distilled Wan that was up to my quality standards and this is it!
It's good and very fast. 4-6 steps and it plays well with my other loras that are various ranks. mostly 32 though. I haven't messed around enough with Kijai's to make any opinion there.
I'm finding lower strengths <sub .3> all things considered especially w/ other Loras seem to scratch the itch. but using .25 yours and .25 Kijai's produces great stuff (no other loras) in that example. I'm sub 2 minutes 720x480@24/4/6 seconds on a regular ol 4090 and the output is very very good. Some color control would be needed at the end but that's a snap. I don't even have SA in the workflow!
Who doesn't like rock climbing?!
https://www.youtube.com/watch?v=sbg6uWQ0pPI
Works fine with 2.2 5B too.
@Blyss Awesome—thank you for the few-step LoRA. I’m wondering how you extract it. If I simply take the difference between the few-step weights (from this repo) and the base model weights (Wan2.1-T2V-14B), I still can’t directly obtain the LoRA A and B matrices. It would be great to know whether your LoRA extraction approach also works well with other models.
Heya I'm glad it's been useful for everyone! As far as how I made it, I used a script that implements the SVD (Singular Value Decomposition) method which was originally from sdscripts/Flux that I extended and made more generic. Like most of my useful work, this script has been incorporated into Blissful Tuner (https://github.com/Sarania/blissful-tuner/), in this case as extract_lora.py under src/blissful_tuner in the project root. It should be able to extract a LoRA from the difference of any two diffusion models of the same architecture but you'll likely need to know the model's key names etc to use it optimally(another tool of mine, src/blissful_tuner/model_utility.py can help with this by showing the model structure in the terminal).
In the case of this Wan acceleration LoRA, I don't remember the exact settings I used but I tried to extract on the minimum amount and type of params that would give me the result I wanted. I had noticed the available kijai LoRA around that time extracted on every single param even including embeds and thought that might be hampering it's compatibility with other LoRA. It's worth noting that while I was able to successfully extract a LoRA for Wan using base and lightx2v's excellent distilled model, I was NOT successful in creating one for HunyuanVideo against FastHunyuan no matter what I targeted! So it's not a perfect method but it's still definitely useful and hopefully this answers your question, cheers!