[diffusion] quant: support nvfp4 for Flux.2 (#20137)
Co-authored-by: zcnrex <zcnrex@gmail.com> Co-authored-by: BBuf <1182563586@qq.com> Co-authored-by: Yikang Cai <dcai@catalyst-fleet1.cs.cmu.edu> Co-authored-by: CHEN Xi <78632976+RubiaCx@users.noreply.github.com> Co-authored-by: RubiaCx <1084281732@qq.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Mick <mickjagger19@icloud.com>
This commit is contained in:
co-authored by
zcnrex
BBuf
Yikang Cai
CHEN Xi
RubiaCx
gemini-code-assist[bot]
Mick
parent
37420dce0b
commit
281fe10b5e
@@ -18,6 +18,13 @@ from sglang.multimodal_gen.runtime.utils.logging_utils import init_logger
|
||||
|
||||
logger = init_logger(__name__)
|
||||
|
||||
_QUANTIZED_DTYPES = {
|
||||
torch.uint8,
|
||||
torch.float8_e4m3fn,
|
||||
torch.float8_e5m2,
|
||||
torch.int8,
|
||||
}
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def set_default_torch_dtype(dtype: torch.dtype):
|
||||
@@ -135,6 +142,25 @@ def hf_to_custom_state_dict(
|
||||
del to_merge_params[target_param_name]
|
||||
else:
|
||||
continue
|
||||
existing_tensor = custom_param_sd.get(target_param_name)
|
||||
if existing_tensor is not None and existing_tensor.dtype != full_tensor.dtype:
|
||||
existing_is_quantized = existing_tensor.dtype in _QUANTIZED_DTYPES
|
||||
current_is_quantized = full_tensor.dtype in _QUANTIZED_DTYPES
|
||||
if existing_is_quantized and not current_is_quantized:
|
||||
logger.debug(
|
||||
"Keeping quantized duplicate for %s: existing=%s new=%s",
|
||||
target_param_name,
|
||||
existing_tensor.dtype,
|
||||
full_tensor.dtype,
|
||||
)
|
||||
continue
|
||||
if current_is_quantized and not existing_is_quantized:
|
||||
logger.debug(
|
||||
"Replacing non-quantized duplicate for %s: existing=%s new=%s",
|
||||
target_param_name,
|
||||
existing_tensor.dtype,
|
||||
full_tensor.dtype,
|
||||
)
|
||||
custom_param_sd[target_param_name] = full_tensor
|
||||
return custom_param_sd, reverse_param_names_mapping
|
||||
|
||||
|
||||
Reference in New Issue
Block a user