Skip to content

feat(model-serving): the muse-glimmer-30b preset on vLLM's own image - #673

Merged
teemow merged 5 commits into
mainfrom
teemow/muse-glimmer-preset-597
Sep 26, 2026
Merged

teemow merged 5 commits into
mainfrom
teemow/muse-glimmer-preset-597

Conversation

@teemow

@teemow teemow commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Problem

The signed model image for Muse Glimmer 30B exists (giantswarm/models/muse-glimmer-30b-fp8:1deb4641ff84). Its architecture (MuseGlimmerForConditionalGeneration) and its muse_glimmer tool and reasoning parsers first ship in vLLM 0.28.0. The platform's llm-d runtime carries vLLM 0.23, and no llm-d release carries 0.28 yet (v0.9.0 ships 0.26), so a preset on the well-known runtime would never start (#597).

Change

  • A new preset, muse-glimmer-30b: Red Hat AI's FP8 block quantization, 32.03 GiB of weights, on one 48 GB GPU (g6e.2xlarge/g6e.4xlarge). It serves 32k context, four concurrent requests and one image per prompt, with --reasoning-parser=muse_glimmer --enable-auto-tool-choice --tool-call-parser=muse_glimmer under vLLM v0.30.0's examples/tool_chat_template_muse_glimmer.jinja (as chat-templates/muse-glimmer-30b.jinja).
  • The runtime: the preset's spec.template.containers[main].image names gsoci.azurecr.io/giantswarm/vllm-openai:v0.30.0. That's the copy of vllm/vllm-openai:v0.30.0 that retagger pins by index digest sha256:8a69ffad… (chore: retag vllm/vllm-openai v0.30.0 pinned by digest retagger#1245), and it verifies against the Giant Swarm CircleCI identity. The well-known template's command runs it unchanged: bash, vllm serve /mnt/models, and version-gated flags read from vllm --version. It's the one shipped preset that names an image, until an llm-d release carries vLLM ≥ 0.28.
  • Sizing: 52 layers × 2 KV heads × 128 dimensions is 52 KiB of bf16 KV per token, so four 32k sequences take 6.5 GiB. The fit is 33 + 11 GiB of 48 at 0.92.
  • tests/verify-gpu-pool.py: the preset is in OCI_PRESETS, and a golden hold leaves its ConfigMaps and discovery name out until origin/main carries them. README and CHANGELOG are updated.

Checks

make verify-presets verify-gpu-pool verify-serving-slice verify-model-images verify-images verify-preset-weights pass. 14 shipped presets' arguments survive the template's eval, and the weights are declared at 33 GiB against the Hub's 32.03 (+3.0%).

Proof

On gazelle, 2026-09-26, one L40S (g6e.4xlarge), this preset rendered as an LLMInferenceService: vLLM 0.30.0 resolved MuseGlimmerForConditionalGeneration and answered a tool-calling request with HTTP 200 in 3.5 s (finish_reason: tool_calls, reasoning via muse_glimmer). Details are on #597. The branch also adds the family's row to model-families.yaml (runtimeImage: vLLM 0.30.0's parsers) and moves the verify-wiring preset count to 14.

Closes #597.

Meta's Muse Glimmer 30B as Red Hat AI's FP8 block quantization, served
from its signed model image on one 48 GB GPU at 32k context, four
concurrent requests, one image per prompt, with vLLM's muse_glimmer
tool and reasoning parsers under vLLM v0.30.0's Muse Glimmer chat
template.

The model's architecture and parsers first ship in vLLM 0.28.0 and the
llm-d runtime carries an older vLLM, so the preset names its runtime in
spec.template: gsoci.azurecr.io/giantswarm/vllm-openai:v0.30.0, the
signed copy retagger pins by digest. The well-known template's command
runs it unchanged.

Part of #597
@teemow
teemow requested a review from a team as a code owner September 24, 2026 16:48
@circleci-architect

circleci-architect Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Published Helm chart agent-platform

4.81.3-rb7c6d220t20260926143123h5c1bc38
Chart agent-platform
Version 4.81.3-rb7c6d220t20260926143123h5c1bc38
OCI reference oci://gsoci.azurecr.io/charts/giantswarm/agent-platform:4.81.3-rb7c6d220t20260926143123h5c1bc38
Digest sha256:a9d3387cbed0f73b289b0e6723b4d21d9beb373bbbdc4d99d5c7c3de31cd22b9
Registry public — gsoci.azurecr.io
Git catalog giantswarm-test-catalog (index)
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform --version 4.81.3-rb7c6d220t20260926143123h5c1bc38

Posted by architect-orb · build 14809 · commit 5c1bc38 · updated in place on every push

@circleci-architect

circleci-architect Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Published Helm chart agent-platform-connectivity

4.81.3-rb7c6d220t20260926143123h5c1bc38
Chart agent-platform-connectivity
Version 4.81.3-rb7c6d220t20260926143123h5c1bc38
OCI reference oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity:4.81.3-rb7c6d220t20260926143123h5c1bc38
Digest sha256:fb27bae6397db24f61763848fa3d05715fe139e3646470e0cde212873de1d0d4
Registry public — gsoci.azurecr.io
Git catalog giantswarm-test-catalog (index)
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity --version 4.81.3-rb7c6d220t20260926143123h5c1bc38

Posted by architect-orb · build 14807 · commit 5c1bc38 · updated in place on every push

…reset-597

* origin/main: (28 commits)
  feat(dashboards): turn done (final flush) p50 and p95 on Klaus Gateway (#701)
  feat: the managers', the portal's and mcp-kubernetes' traces to the platform's OTLP gateway (#700)
  feat(kagent): compact agent histories only past 600000 tokens (#699)
  fix: keep the single-replica components drainable (maxUnavailable 1) (#697)
  feat(model-serving): export the model pods' traces to the platform's OTLP gateway (#695)
  fix(substrate): keep Substrate's metrics on the scrape path (#694)
  feat: one OTLP collector for every exporter (global.observability.traces.otlp) (#696)
  fix(netpol): admit the scrape of the kagent controller and atenet-egress ext-proc (#691)
  fix(serving): make the models Gateway an internet-facing NLB on AWS (#692)
  fix(model-manager): reach the workload clusters' API servers (#689)
  feat(components): the CloudNativePG operator chart and image from gsoci (#671)
  fix(serving): tear the serving slice down in order, configs freed (#679)
  fix: derive the managers' OAuth login from muster's OAuth server (#678)
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)
  feat: the kagent line and the Substrate line at 1.1.0 (#665)
  fix(model-manager): read served models wherever model-manager serves (#681)
  feat(model-serving): check every shipped preset's parsers by model family (#674)
  ...

# Conflicts:
#	CHANGELOG.md
#	tests/verify-gpu-pool.py
…reset-597

* origin/main:
  fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675)
  fix(hooks): serving teardown retries once Flux's API is gone (#707)
  feat(cluster-manager): provider aws opens the CAPA API server LBs (#704)
  feat: the kagent line at 1.2.0 with its SDK-spec OTel values (#693)

# Conflicts:
#	CHANGELOG.md
#	tests/verify-gpu-pool.py
@teemow
teemow merged commit 73ceadc into main Sep 26, 2026
13 checks passed
@teemow
teemow deleted the teemow/muse-glimmer-preset-597 branch September 26, 2026 14:54
teemow added a commit that referenced this pull request Sep 26, 2026
…8-kv-611

* origin/main:
  feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673)
  fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675)
  fix(hooks): serving teardown retries once Flux's API is gone (#707)
  feat(cluster-manager): provider aws opens the CAPA API server LBs (#704)
  feat: the kagent line at 1.2.0 with its SDK-spec OTel values (#693)

# Conflicts:
#	README.md
#	tests/verify-gpu-pool.py
teemow added a commit that referenced this pull request Sep 26, 2026
…okens

* origin/main:
  feat(connectivity): retire the model-manager REST route (#711)
  feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709)
  feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673)
  fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675)
  fix(hooks): serving teardown retries once Flux's API is gone (#707)
  feat(cluster-manager): provider aws opens the CAPA API server LBs (#704)

# Conflicts:
#	CHANGELOG.md
teemow added a commit that referenced this pull request Sep 26, 2026
…n-post-delete

* origin/main:
  fix(connectivity): catalog ModelConfigs inherit the platform maxTokens (#712)
  feat(connectivity): retire the model-manager REST route (#711)
  feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709)
  feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673)
  fix(model-serving): gpt-oss reads its tiktoken encodings from the image (#675)
  fix(hooks): serving teardown retries once Flux's API is gone (#707)
  feat(cluster-manager): provider aws opens the CAPA API server LBs (#704)

Signed-off-by: Timo Derstappen <teemow@gmail.com>

# Conflicts:
#	CHANGELOG.md
teemow added a commit that referenced this pull request Sep 26, 2026
…se-placement

* origin/main:
  fix(hooks): the bundled engine goes after Helm's delete pass (#713)
  fix(connectivity): catalog ModelConfigs inherit the platform maxTokens (#712)
  feat(connectivity): retire the model-manager REST route (#711)
  feat(model-serving): gemma-4-31b at 32k with an fp8 KV cache (#709)
  feat(model-serving): the muse-glimmer-30b preset on vLLM's own image (#673)

# Conflicts:
#	CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

model-serving: a Muse Glimmer 30B preset once the runtime carries vLLM 0.28 or later

1 participant