Instructions to use CornLogic/10EROS-INT8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use CornLogic/10EROS-INT8 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("CornLogic/10EROS-INT8", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
is there fp8 version of this?
is there fp8 version of this?
I'm not sure, I'm just doing int8 variants and then int4 blends. Check in the discord that's your best bet.
I'm interested also in a fp8 version of the new 10Eros v1.5
Which discord are you referring to, if I may ask?
In my tests, no matter what I do usually the int8 quant ends up being a bit faster but giving worse quality output than the original v1.4 fp8 checkpoint by TenStrip for the same settings. I know that in theory int8 convrot quants usually perform closer to the original fp16 reference, but for some reason here it's not the case (maybe it's the new DMD LORA, not sure).
Problem is how many gens have you done with each realistically with noise input decoupled? Are you running deterministically like cublas and --deterministic flags?, no sage attention? I've seen people attribute body horror to which ever quant they want and really its just LTX. I've had to do a lot of same seed gens for comparison but I don't run deterministic because I just don't have the time. I've seen bf16's deliver body horror just as much as int8 and fp8.
The quality difference between all three is really small and its not what people think its going to be. It's going to be the fine detail, smooth gradients and complex lighting that changes between them because of rounding errors. You might be attributing a bad gen to the quant when really...its just a bad gen.
At some point I would like to run a lpips comparison of bf16, 2 int8 variants and fp8. But that's a lot of work and I'd rather work on the tool I'm making to produce better int8's.
Oh and sorry. To answer you actual question
Discord is here https://discord.gg/C3d56f39Ah
Thanks for the dc link 😃
As for the tests, it's not "body horror" gens, I know weird gens can happen in any LTX derivative or quant.
At this point I've done more than 50 side-by-side generations of int8 vs fp8 of 10Eros of the same same source images with same settings (v1.4 with the original DMD reshaped LORA for the fp8, and the new v1.5 with the embedded hybrid LORA for int8 when it got released), and I'm only taking the outputs that are "perfectly clean", (no body horror, color drifts or obvious glitches). And in the vast majority of cases, the motion, consistency and color retention is better in the fp8 version. So I can be pretty sure at this point that it's a trend and not outlier cases.
I have to say that I'm also pretty sure that the new DMD hybrid Lora from TenStrip has something to do here, because using that on the fp8 v1.4 also degrades the quality in the same direction.
The only thing in which int8 is clearly better (besides slightly better gen speed ofc) is the generated anatomy when using the v1.5 int8 version, but I guess thats thanks to the changes implemented by TenStrip on the weights of certain attention gates for the v1.5 release.
I would be more than willing to also test v1.5 fp8 vs v1.5 int8 but at this point I simply cant because the fp8 quant for the latest model doesn't exist yet and my machine cannot handle the transformation.
It could also be interesting if the v1.5 int8 convrot had the base transformer only (no DMD LORA included) and then try to use it with the older DMD reshaped LORA, but I'm not sure that's feasible after TenStrip latest changes.
If you have 50 side by sides of int8/fp8 try doing 25 bf16 and run a lpips comparison or put the dataset out there for someone to run it. 25 per model 20 second long gens at 1920x1024 is a pretty good dataset for it.
I have put up the DMD free int8 if you want to try it, its been there a few days now. I know people mix the distil's for different results and preferences like with 1.4 so I made sure to get it up after the DMD int8.
edit I just reread your post. I misread what you wrote. You can't do comparisons of 1.4 anything vs 1.5 anything. They will give different gens completely on same seed. I just ran one and the person in the scene crossed their legs with the opposite leg to the other for example. If you want to compare int8 vs fp8 then use 1.4 fp8 and 1.4 int8 that would be a fair comparison. For seed most workflows will have a seed node that feeds into a noise gen for both passes. You need to decouple them and set the noise gen's to fixed and keep that value constant. No sage attention, another source of variance .And then you need to account for the variance introduced by pytorch algorithm in the backend because they are non deterministic to speed up ltx. But comparing 1.4 to 1.5 is not something that makes sense for comparing quality in quant variants. You want to compare how they stay true to the bf16 of the same model. So if I was comparing 1.5 DMD I would compare 10Eros_v1.5_bf16_DMD_transformer_only to 10Eros_v1.5_INT8_TFO and the fp8 of that if I had it.
That's precisely why I want the v1.5 fp8 version of the model ;)
I also have some tests of v1.4 fp8 vs v1.4 int8, not as much as I've done now with v1.5, but the result is mostly the same. About 10-15 videos, and overall the fp8 had better feel. I decided to upgrade to v1.5 int8 when it got released because at least with the latest TenStrip release it has somewhat better understanding of anatomy that was lost after the v1.2 10Eros checkpoint.
In any case, no, I don't plan on doing PNSR or LPIPS checks, if only because my machine won't be able to handle the source fp16 generation anyhow. I'm just doing this testing for myself. I don't want to publish a paper or anything. My subjective appraisal is enough for my own needs, and even as I completely understand that the randomness of the seeds (or same seed on different revisions of the model), wont give the same output, I believe that a trend of about 50-ish videos and the perceived overall quality is enough for me to be quite certain of which quant I prefer to use for the kind of scenario I’m using now. ;)
Maybe other different use cases for different kind of scenes or setups will yield different results, favoring int8, and that’s perfectly fine (and the expected result)
PS. Many thanks for the int8 file without the embedded lora. I'm going to check if somehow things are better when using the previous revision of the DMD reshaped lora over your int8 quant.
"My subjective appraisal is enough for my own needs" I'm glad for you but its not just subjective it was a flawed comparison. Kind of like I compare apples to oranges and have found out I like lemons over limes.