sgl-project/sglang · error · ValueError

muse_glimmer_mlx_format {self.muse_glimmer_mlx_format} is no

Error message

muse_glimmer_mlx_format {self.muse_glimmer_mlx_format} is not supported by this model file (expected {MUSE_GLIMMER_MLX_FORMAT_VERSION}); regenerate the artifact with a matching packager

What it means

If config.json sets muse_glimmer_mlx_format, its value must equal MUSE_GLIMMER_MLX_FORMAT_VERSION supported by this model file. Any other version string/int means the packaged artifact was produced by an incompatible packager and the loader refuses it up front.

Source

Thrown at python/sglang/srt/hardware_backend/mlx/models/muse_glimmer_mlx.py:326

                )
            if self.layer_types != derived_layer_types:
                mismatches = [
                    i
                    for i, (got, want) in enumerate(
                        zip(self.layer_types, derived_layer_types)
                    )
                    if got != want
                ]
                raise ValueError(
                    "layer_types disagrees with no_rope_layers (NoPE layers "
                    "must be the full_attention layers) at layer indices "
                    f"{mismatches}"
                )

        if self.muse_glimmer_mlx_format is not None and (
            self.muse_glimmer_mlx_format != MUSE_GLIMMER_MLX_FORMAT_VERSION
        ):
            raise ValueError(
                f"muse_glimmer_mlx_format {self.muse_glimmer_mlx_format} is not supported by "
                f"this model file (expected {MUSE_GLIMMER_MLX_FORMAT_VERSION}); "
                "regenerate the artifact with a matching packager"
            )


class ScalelessRMSNorm(nn.Module):
    """RMS norm with no learnable scale (reference MuseGlimmerScalelessRMSNorm)."""

    def __init__(self, dims: int, eps: float):
        super().__init__()
        self.dims = dims
        self.eps = eps

    def __call__(self, x: mx.array) -> mx.array:
        return mx.fast.rms_norm(x, None, self.eps)

View on GitHub (pinned to 0132848349)

Solutions

  1. Upgrade (or pin) sglang to the version whose packager produced the artifact
  2. Repackage the artifact from the raw HF export using the currently installed toolchain
  3. Check the artifact's format value against MUSE_GLIMMER_MLX_FORMAT_VERSION and remove the key only if the weights are actually raw (then error 3575 semantics apply)

Example fix

// before (artifact format 2, library expects 1)
"muse_glimmer_mlx_format": 2
// after: repack with matching packager, or upgrade sglang so expected version == 2
Defensive patterns

Strategy: try-catch

Validate before calling

from sglang.srt.hardware_backend.mlx.models.muse_glimmer_mlx import MUSE_GLIMMER_MLX_FORMAT_VERSION
assert cfg.get("muse_glimmer_mlx_format", MUSE_GLIMMER_MLX_FORMAT_VERSION) == MUSE_GLIMMER_MLX_FORMAT_VERSION

Try / catch

try:
    model = MuseGlimmerMLXConfig(**cfg)
except ValueError as e:
    if "muse_glimmer_mlx_format" in str(e):
        raise RuntimeError("Artifact packaged by incompatible version; repack or upgrade sglang") from e
    raise

Prevention

When it happens

Trigger: Loading a packaged MLX artifact whose config.json carries a muse_glimmer_mlx_format value from a newer or older packaging tool than the installed sglang supports.

Common situations: Upgrading/downgrading sglang across a packaging-format change, sharing artifacts between machines with different sglang versions, or downloading a repacked model from a source using a newer packager.

Related errors


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