Comfy-Org / Comfy-Org/ComfyUI

Question about default Unet processing precision (in particular Wan 2.2 case)

Open
#14,090 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 7h
Merged PRs (30d)
158

Description

Hi, in order to try various optimizations, quantizations and trade offs when it comes to quality vs speed on my system I went and downloaded Wan 2.2 I2V safetensors in their original FP32 precision and started experimenting with different precisions.

Trying to compare the effects when using the FP16 vs BF16 variants of the same FP32 safetensors I noticed from the messages in console that ComfyUI by default processes both as FP16, unless started with `--bf16-unet`. My question is if that is what is supposed to be happening, my (non developer) logic would tell me that the processing should be happening in the same precision as the native safetensors precision (we are talking only about BF16 and FP16, not lower precision quantizations) in order to avoid lossy conversions between different FP formats.

I'm not complaining or anything, it turns out that the best between BF16 and FP16 in wan 2.2 case is to use the FP16 safetensors, which is the precision ComfyUI published them on their Hugging Face repository. It's more a question about principle, I didn't make an extensive research to see if other models are in the same situation.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.