Muse Glimmer 30B GGUF Precision Ladder

Omega Factory Verified

Official Release & Multi-Quant Benchmarks:
View full precision comparison tables (Q8_0, Q4_K_M, Q2_K vs. FP16 Base), item-level McNemar discordance flips, and verified cryptographic receipts on the Omega Factory Muse Glimmer 30B GGUF Precision Ladder Model Page.

Certified GGUF precision quantization ladder for meta-models/Muse-Glimmer-30B dense multimodal architecture.

Certified quant ladder

Every rung below was certified on its own exact bytes (sha256-bound). A verdict is never transferred between formats or rungs, and a rung that did not clear its bands is published with its real verdict rather than omitted.

Rung Verdict Seeds Size SHA256 Receipt
Q8_0 CERTIFIED 1 29.61 GB 9c8ed26257c9 receipts/cert_Q8_0.json
Q4_K_M CERTIFIED 1 16.94 GB 6d8112c565f5 receipts/cert_Q4_K_M.json
Q2_K CERTIFIED 1 10.69 GB 2e294ba3c5db receipts/cert_Q2_K.json

SCREEN means the result did not use the full seed set and therefore is not a certification.

FP16 Baseline vs. Quantization Precision Comparison

To evaluate quantization precision loss and capability retention, quant variants were benchmarked against the unquantized base model (meta-models/Muse-Glimmer-30B) under controlled deterministic evaluation settings.

Precision & Accuracy Matrix vs. FP16 Baseline

Variant / Format Size (Disk/VRAM) GSM8K Accuracy MATH-500 Accuracy ARC-MC Accuracy Babble Rate Status
FP16 Baseline 59.55 GB 95.5% (191/200) 65.0% (130/200) 95.5% (191/200) 0.0000 Baseline Ground Truth
Q8_0 29.61 GB 95.5% (ฮ” +0.0 pp) 64.0% (ฮ” -1.0 pp) 95.5% (ฮ” +0.0 pp) 0.0000 CERTIFIED
Q4_K_M 16.94 GB 93.0% (ฮ” -2.5 pp) 62.0% (ฮ” -3.0 pp) 96.0% (ฮ” +0.5 pp) 0.0000 CERTIFIED
Q2_K 10.69 GB 74.0% (ฮ” -21.5 pp) 32.0% (ฮ” -33.0 pp) 92.0% (ฮ” -3.5 pp) 0.0000 CERTIFIED

Detailed Item-Level Contingency & Flips vs. FP16

Per-item McNemar discordance analysis measuring questions that changed answer status relative to the unquantized FP16 baseline:

Quantization Variant Category Quant Correct FP16 Base Correct Flips Broke (FP16 โœ“ โ†’ Quant โœ—) Flips Fixed (FP16 โœ— โ†’ Quant โœ“) Net Delta (pp)
Q8_0 ARC-MC 191 / 200 191 / 200 0 0 +0.0 pp
Q8_0 GSM8K 191 / 200 191 / 200 0 0 +0.0 pp
Q8_0 MATH-500 128 / 200 130 / 200 7 5 -1.0 pp
Q4_K_M ARC-MC 192 / 200 191 / 200 1 2 +0.5 pp
Q4_K_M GSM8K 186 / 200 191 / 200 6 1 -2.5 pp
Q4_K_M MATH-500 124 / 200 130 / 200 16 10 -3.0 pp
Q2_K ARC-MC 184 / 200 191 / 200 8 1 -3.5 pp
Q2_K GSM8K 148 / 200 191 / 200 44 1 -21.5 pp
Q2_K MATH-500 64 / 200 130 / 200 70 4 -33.0 pp

Hardware & VRAM Allocation Recommendations

Artifact size is disk usage, not a measured VRAM requirement. Runtime memory and the KV cache depend on architecture, backend, batch settings, and context length. Validate actual deployment with peak-memory profiling.

Reference capacity bands only:

Artifact size (disk) Reference capacity band
Up to 8 GB 6โ€“8 GB
Over 8 GB through 16 GB 12โ€“16 GB
Over 16 GB through 24 GB 20โ€“24 GB
Over 24 GB through 48 GB 32โ€“48 GB
Over 48 GB Multi-GPU or CPU offload; no single listed tier
Quant Variant Artifact Size (disk) Deployment sizing notes
Q8_0 29.61 GB 32โ€“48 GB reference capacity. Candidate only, not a measured fit guarantee.
Q4_K_M 16.94 GB 20โ€“24 GB reference capacity. Candidate only, not a measured fit guarantee.
Q2_K 10.69 GB 12โ€“16 GB reference capacity. Candidate only, not a measured fit guarantee.

Recommended Sampling Parameters

  • Default Mode:
    • temperature = 0.7
    • top_p = 0.9
    • top_k = 20
    • repetition_penalty = 1.0

Model Architecture Specifications

  • Parameters: 29.6 Billion
  • Layers: 52
  • Context Length: 131072
  • Attention: Grouped-Query Attention (GQA) with Sliding-Window Attention (2048)
  • Vision: ViT-G/14 (1.8B frozen) Perception Encoder

Chat template

{#
  Template: Muse Glimmer ATEM Chat Template
  Renders the ATEM tool-calling protocol: reasoning channel (to=self), tool
  channels (to=<tool>), and the user channel, plus tool definitions and the
  valid-recipient list in the system block.

  Whitespace note: every tag uses the {%- -%} / {{- -}} stripping markers, so
  the indentation below is purely for readability and contributes nothing to
  the rendered output.
#}
{%- macro render_content(content) -%}
    {%- if content is string -%}
        {{- content -}}
    {%- elif content is not none -%}
        {%- for part in content -%}
            {%- if part['type'] == 'image' -%}
                {{- '<|patch|>' -}}
            {%- elif part['type'] == 'video' -%}
                {{- '<|video|>' -}}
            {%- elif part['type'] == 'text' -%}
                {{- part['text'] -}}
            {%- endif -%}
        {%- endfor -%}
    {%- endif -%}
{%- endmacro -%}
{%- macro render_atem(tc) -%}
    {%- set args = tc.function.arguments -%}
    {%- if args is not mapping -%}
        {{- raise_exception('Muse Glimmer ATEM chat template requires tool_call.function.arguments to be a dict (mapping); a JSON string cannot be parsed in the HF jinja sandbox.') -}}
    {%- endif -%}
    {{- '<atem:function_calls>\n<atem:invoke name="' + tc.function.name + '">\n' -}}
    {%- for k, v in args.items() -%}
        {{- '<atem:parameter name="' + k + '">' -}}
        {%- if v is boolean -%}
            {%- if v -%}
                true
            {%- else -%}
                false
            {%- endif -%}
        {%- elif v is none -%}
            null
        {%- elif v is mapping or (v is iterable and v is not string) -%}
            {{- v | tojson -}}
        {%- else -%}
            {{- v -}}
        {%- endif -%}
        {{- '</atem:parameter>\n' -}}
    {%- endfor -%}
    {{- '</atem:invoke>\n</atem:function_calls>' -}}
{%- endmacro -%}
{%- macro render_tool_defs(tools) -%}
    {{- 'In this environment you have access to a set of tools you can use to answer the user\'s question.\n\n' -}}
    {{- 'You can invoke a function by writing a "<atem:function_calls>" block like the following:\n' -}}
    {{- '<atem:function_calls>\n<atem:invoke name="$FUNCTION_NAME">\n<atem:parameter name="$PARAMETER_NAME">$PARAMETER_VALUE</atem:parameter>\n...\n</atem:invoke>\n</atem:function_calls>\n\n' -}}
    {{- 'String and scalar parameters should be specified as is, while lists and objects should use JSON format. Note that spaces for string values are not stripped. The output is not expected to be valid XML and is parsed with regular expressions.\n' -}}
    {{- 'Here are the functions available in JSONSchema format:\n' -}}
    {{- '// Tool metadata\n' -}}
    {%- set nsns = namespace(seen=[]) -%}
    {%- for tool in tools -%}
        {%- set fn = tool.function if tool.function is defined else tool -%}
        {%- set tns = fn.name.split('.')[0] -%}
        {%- if tns not in nsns.seen -%}
            {%- set nsns.seen = nsns.seen + [tns] -%}
        {%- endif -%}
    {%- endfor -%}
    {%- set nd = tool_namespace_descriptions if tool_namespace_descriptions is defined else {} -%}
    {%- for tns in nsns.seen -%}
        {{- '{"name": ' + (tns | tojson) + ', "description": ' + ((nd[tns] if tns in nd else '') | tojson) + '}\n' -}}
    {%- endfor -%}
    {{- '// Function schemas' -}}
    {%- for tool in tools -%}
        {%- set fn = tool.function if tool.function is defined else tool -%}
        {{- '\n{"name": ' + (fn.name | tojson) + ', "description": ' + (fn.description | tojson) + ', "parameters": ' + (fn.parameters | tojson) + '}' -}}
    {%- endfor -%}
    {{- '\n\nHere\'s an example of how to call a function in the tool set:\n' -}}
    {{- '(If the tool namespace is not specified, invoke the function directly as `example_function_name` rather than `example_tool_name.example_function_name`)\n\n' -}}
    {{- 'to=example_tool_name.example_function_name\n\n' -}}
    {{- '<atem:function_calls>\n<atem:invoke name="example_tool_name.example_function_name">\n' -}}
    {{- '<atem:parameter name="example_parameter_1">value_1</atem:parameter>\n' -}}
    {{- '<atem:parameter name="example_parameter_2">This is the value for the second parameter\nthat can span\n"multiple" lines\n</atem:parameter>\n' -}}
    {{- '</atem:invoke>\n</atem:function_calls>' -}}
{%- endmacro -%}
{%- macro render_reasoning() -%}
    {%- set rs = reasoning_strength if reasoning_strength is defined and reasoning_strength else 'high' -%}
    {{- 'Reasoning strength: ' + rs + '.' -}}
{%- endmacro -%}
{%- macro render_system_meta(tools) -%}
    {%- set rns = namespace(recipients=['"self"'], nslist=[]) -%}
    {%- if tools -%}
        {%- for tool in tools -%}
            {%- set fn = tool.function if tool.function is defined else tool -%}
            {%- set tns = fn.name.split('.')[0] -%}
            {%- if tns not in rns.nslist -%}
                {%- set rns.nslist = rns.nslist + [tns] -%}
            {%- endif -%}
        {%- endfor -%}
        {%- for tns in rns.nslist -%}
            {%- set rns.recipients = rns.recipients + ['"' + tns + '.*"'] -%}
        {%- endfor -%}
    {%- endif -%}
    {%- set rns.recipients = rns.recipients + ['"user"'] -%}
    {{- '# Valid recipients: ' + rns.recipients | join(', ') + '.' -}}
{%- endmacro -%}
{{- bos_token -}}
{%- set ns = namespace(has_system=false) -%}
{%- for m in messages -%}
    {%- if m['role'] == 'system' -%}
        {%- set ns.has_system = true -%}
    {%- endif -%}
{%- endfor -%}
{%- if not ns.has_system -%}
    {{- '<|start|>system<|message|>You are a helpful AI assistant.' -}}
    {%- set kc = knowledge_cutoff if knowledge_cutoff is defined and knowledge_cutoff else '2026-01-04' -%}
    {{- '\nKnowledge cutoff: ' + kc + '.' -}}
    {%- if current_date is defined and current_date -%}
        {{- '\nCurrent date: ' + current_date + '.' -}}
    {%- elif strftime_now is defined -%}
        {{- '\nCurrent date: ' + strftime_now('%Y-%m-%d') + '.' -}}
    {%- endif -%}
    {{- '\n\n' -}}
    {{- render_reasoning() -}}
    {%- if tools -%}
        {{- '\n\n' -}}
        {{- render_tool_defs(tools) -}}
    {%- endif -%}
    {{- '\n\n' -}}
    {{- render_system_meta(tools) -}}
    {{- '<|eot|>' -}}
{%- endif -%}
{%- for message in messages -%}
    {%- set role = message['role'] -%}
    {%- set end_token = '<|eom|>' if (not loop.last and messages[loop.index0 + 1]['role'] == role) else '<|eot|>' -%}
    {%- if role == 'system' -%}
        {#- Callers sometimes write the directive into the system prompt themselves.
            Normalise "Reasoning effort" to "Reasoning strength" (jinja has no
            case-insensitive replace, hence the four realistic casings), then skip
            the kwarg-driven line below if the prompt already carries one. -#}
        {%- set sys_text = render_content(message['content'])
              | replace('Reasoning effort', 'Reasoning strength')
              | replace('Reasoning Effort', 'Reasoning Strength')
              | replace('reasoning effort', 'reasoning strength')
              | replace('REASONING EFFORT', 'REASONING STRENGTH') -%}
        {{- '<|start|>system<|message|>' -}}
        {{- sys_text -}}
        {%- if 'reasoning strength' not in (sys_text | lower) -%}
            {{- '\n\n' -}}
            {{- render_reasoning() -}}
        {%- endif -%}
        {%- if tools -%}
            {{- '\n\n' -}}
            {{- render_tool_defs(tools) -}}
        {%- endif -%}
        {{- '\n\n' -}}
        {{- render_system_meta(tools) -}}
        {{- '<|eot|>' -}}
    {%- elif role == 'user' -%}
        {{- '<|start|>user<|message|>' -}}
        {{- render_content(message['content']) -}}
        {{- '<|eot|>' -}}
    {%- elif role == 'tool' -%}
        {%- set tname = message.get('name') -%}
        {%- if not tname -%}
            {%- set tcid = message.get('tool_call_id') -%}
            {%- set rns = namespace(name=tcid if tcid else '') -%}
            {%- for m in messages -%}
                {%- if m.get('tool_calls') -%}
                    {%- for tc in m['tool_calls'] -%}
                        {%- if tcid is not none and tc.id is defined and tc.id == tcid -%}
                            {%- set rns.name = tc.function.name -%}
                        {%- endif -%}
                    {%- endfor -%}
                {%- endif -%}
            {%- endfor -%}
            {%- set tname = rns.name -%}
        {%- endif -%}
        {{- '<|start|>tool ' + tname + '<|message|><tool_output name="' + tname + '">\n' -}}
        {{- render_content(message['content']) -}}
        {{- '\n</tool_output><|eot|>' -}}
    {%- elif role == 'assistant' -%}
        {%- if message.get('reasoning_content') -%}
            {{- '<|start|>assistant to=self<|message|>' + message['reasoning_content'] + '<|eom|>' -}}
        {%- endif -%}
        {%- if message.get('tool_calls') -%}
            {%- for tc in message['tool_calls'] -%}
                {{- '<|start|>assistant to=' + tc.function.name + '<|message|>' -}}
                {{- render_atem(tc) -}}
                {%- if loop.last -%}
                    {{- end_token -}}
                {%- else -%}
                    {{- '<|eom|>' -}}
                {%- endif -%}
            {%- endfor -%}
        {%- else -%}
            {%- set recipient = message.get('recipient') or 'user' -%}
            {%- set end_turn = message.get('end_turn') -%}
            {%- if end_turn is none -%}
                {%- set end_turn = not (recipient and recipient != 'user') -%}
            {%- endif -%}
            {{- '<|start|>assistant' -}}
            {%- if recipient -%}
                {{- ' to=' + recipient -}}
            {%- endif -%}
            {{- '<|message|>' -}}
            {{- render_content(message['content']) -}}
            {{- ('<|eot|>' if end_turn else '<|eom|>') -}}
        {%- endif -%}
    {%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
    {{- '<|start|>assistant' -}}
{%- endif -%}

License and attribution

  • License: Apache-2.0 (inherited from the base model).
  • Base model: meta-models/Muse-Glimmer-30B -- all credit for the underlying model belongs to its authors.
  • This repository publishes a quantized derivative: weights were converted to GGUF format and calibrated across precision rungs (Q8_0, Q4_K_M, Q2_K). It is not a new base model.
  • Commercial use is permitted under the terms of the license above.

Contact / reporting an issue

Found a problem with these weights or this card? Open a discussion on this repository, or report a security concern to the maintainers via the organisation page at https://huggingface.co/Omega-Factory. We publish corrections and, where warranted, retract a release rather than leave a wrong card standing.

Downloads last month
368
GGUF
Model size
28B params
Architecture
muse-glimmer
Hardware compatibility
Log In to add your hardware

2-bit

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Omega-Factory/muse-glimmer-30b-GGUF

Quantized
(199)
this model