sgl-project/sglang · error · ValueError

--minimax-h3-adaln-cache-path requires the unquantized trans

Error message

--minimax-h3-adaln-cache-path requires the unquantized transformer and cannot be combined with a GGUF checkpoint.

What it means

The precomputed AdaLN cache (--minimax-h3-adaln-cache-path) is built from the unquantized transformer's safetensors and cannot be paired with a GGUF checkpoint.

Source

Thrown at python/sglang/multimodal_gen/runtime/loader/transformer_load_utils.py:576

            "Run without --use-fsdp-inference, or keep this component offloaded "
            "so FSDP does not manage it."
        )
    if server_args.lora_path is not None:
        raise ValueError(
            "LoRA is not supported on a GGUF transformer: an adapter cannot be "
            "merged into packed GGML blocks. Use the unquantized checkpoint to "
            "serve LoRA."
        )
    # H3's AdaLN paths read the transformer's safetensors directly -- the cache
    # builder needs unquantized weights, and the online rebuild is handed the
    # safetensors file list, which is empty for a GGUF load.
    if server_args.minimax_h3_adaln_online:
        raise ValueError(
            "--minimax-h3-adaln-online rebuilds AdaLN outputs from the "
            "safetensors checkpoint and cannot read a GGUF transformer."
        )
    if server_args.minimax_h3_adaln_cache_path is not None:
        raise ValueError(
            "--minimax-h3-adaln-cache-path requires the unquantized "
            "transformer and cannot be combined with a GGUF checkpoint."
        )


def resolve_transformer_gguf_to_load(
    server_args: ServerArgs, component_name: str | None = None
) -> Optional[str]:
    """Resolve ``--transformer-weights-path`` to a local ``.gguf``, if it is one.

    Returns ``None`` when the override is absent or is not GGUF, so the caller
    falls through to the safetensors path.
    """
    override = server_args.transformer_weights_path
    if not override:
        return None
    # A `~` can reach us unexpanded from a config file or a quoted argument.
    override = os.path.expanduser(override)

View on GitHub (pinned to 0132848349)

Solutions

  1. Remove --minimax-h3-adaln-cache-path for GGUF serving
  2. Use the unquantized checkpoint if the AdaLN cache is required

Example fix

# before
--minimax-h3-adaln-cache-path cache.safetensors --transformer-weights-path model.gguf
# after
--transformer-weights-path model.gguf
Defensive patterns

Strategy: validation

Validate before calling

if server_args.minimax_h3_adaln_cache_path is not None and str(server_args.transformer_weights_path or '').endswith('.gguf'):
    raise SystemExit('--minimax-h3-adaln-cache-path is incompatible with GGUF')

Prevention

When it happens

Trigger: server_args.minimax_h3_adaln_cache_path is not None while the transformer is loaded from a .gguf file.

Common situations: Pointing at a previously built AdaLN cache while testing a GGUF-quantized copy of the same model.

Related errors


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/0821e9519beacff6. Report an issue: GitHub.