Image-Text-to-Text
GGUF
llama.cpp
rocm
rocmfpx
amd
strix-halo
gfx1151
imatrix
multimodal
muse-glimmer
conversational
dflash
speculative-decoding
Instructions to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16 # Run inference directly in the terminal: llama cli -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16 # Run inference directly in the terminal: llama cli -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16 # Run inference directly in the terminal: ./llama-cli -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Use Docker
docker model run hf.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
- LM Studio
- Jan
- vLLM
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
- Ollama
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Ollama:
ollama run hf.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
- Unsloth Studio
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF to start chatting
- Pi
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Docker Model Runner:
docker model run hf.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
- Lemonade
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Run and chat with the model
lemonade run user.Muse-Glimmer-30B-ROCmFPX-GGUF-BF16
List all available models
lemonade list
- Hermes Agent
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF:BF16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Document DFlash conversion and ROCm benchmarks
Browse files- BUILD_PLAN.md +25 -0
- BUILD_RESULTS.md +33 -0
BUILD_PLAN.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
| 4 |
|
| 5 |
- Hugging Face model: `meta-models/Muse-Glimmer-30B`
|
| 6 |
- Model revision: `f84ecc3a0ea984a4c04542a84269e3d065350a6e`
|
|
|
|
|
|
|
| 7 |
- ROCmFPX base: `00d54526e24e3aba4c76474e3147cbf9c7cc034c`
|
| 8 |
- Upstream Muse support: `62bf73d25c53b8161f8a22894d4f90c4aebbd7d0`
|
| 9 |
- Upstream converter worktree: `d2f83055dca6dd009d8a52bdff792fbb286f4444`
|
|
@@ -21,6 +23,8 @@ canonical `/home/vmlinux/models/llama.cpp` checkout or build.
|
|
| 21 |
| ROCmFP4 | `Q4_0_ROCMFP4_STRIX` | Strix Halo speed/quality recipe; dual-scale FP4 attention K/V and Q6_K token embeddings |
|
| 22 |
| ROCmFP8 | `Q8_0_ROCMFPX` | High-fidelity 8.25-bpw reference layout |
|
| 23 |
| ROCmFP4-Q6-QUALITY | `Q4_0_ROCMFP4_COHERENT` | Dual-scale FP4 body with Q6_K token embeddings for the coherence-biased quality build |
|
|
|
|
|
|
|
| 24 |
|
| 25 |
The two FP4 builds use a 500-chunk importance matrix generated from the local
|
| 26 |
`narrative-general-imatrix-sample.txt` corpus. This supplies varied prose,
|
|
@@ -29,9 +33,14 @@ provides the agent/tool-oriented tensor routing. The FP8 reference does not
|
|
| 29 |
need an importance matrix because its preset does not consume importance
|
| 30 |
weights.
|
| 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
## Paths
|
| 33 |
|
| 34 |
- Source snapshot: `source/Muse-Glimmer-30B/`
|
|
|
|
| 35 |
- BF16 text model and projector: `intermediate/`
|
| 36 |
- Importance matrix: `calibration/`
|
| 37 |
- Final models: `artifacts/`
|
|
@@ -61,6 +70,22 @@ toolchain/build-muse-rocmfpx/bin/llama-quantize \
|
|
| 61 |
intermediate/Muse-Glimmer-30B-BF16.gguf \
|
| 62 |
artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf \
|
| 63 |
Q4_0_ROCMFP4_COHERENT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
```
|
| 65 |
|
| 66 |
Exact tensor inventories, sizes, checksums, and smoke-test results are in
|
|
|
|
| 4 |
|
| 5 |
- Hugging Face model: `meta-models/Muse-Glimmer-30B`
|
| 6 |
- Model revision: `f84ecc3a0ea984a4c04542a84269e3d065350a6e`
|
| 7 |
+
- Hugging Face drafter: `meta-models/Muse-Glimmer-30B-assistant`
|
| 8 |
+
- Drafter revision: `2c86316d689027b91123638739743fef1d425233`
|
| 9 |
- ROCmFPX base: `00d54526e24e3aba4c76474e3147cbf9c7cc034c`
|
| 10 |
- Upstream Muse support: `62bf73d25c53b8161f8a22894d4f90c4aebbd7d0`
|
| 11 |
- Upstream converter worktree: `d2f83055dca6dd009d8a52bdff792fbb286f4444`
|
|
|
|
| 23 |
| ROCmFP4 | `Q4_0_ROCMFP4_STRIX` | Strix Halo speed/quality recipe; dual-scale FP4 attention K/V and Q6_K token embeddings |
|
| 24 |
| ROCmFP8 | `Q8_0_ROCMFPX` | High-fidelity 8.25-bpw reference layout |
|
| 25 |
| ROCmFP4-Q6-QUALITY | `Q4_0_ROCMFP4_COHERENT` | Dual-scale FP4 body with Q6_K token embeddings for the coherence-biased quality build |
|
| 26 |
+
| DFlash ROCmFP4 | `Q4_0_ROCMFP4_STRIX` | Small, speed-oriented official DFlash companion; recommended on Strix Halo |
|
| 27 |
+
| DFlash ROCmFP8 | `Q8_0_ROCMFPX` | Higher-precision DFlash reference for acceptance and hardware tuning |
|
| 28 |
|
| 29 |
The two FP4 builds use a 500-chunk importance matrix generated from the local
|
| 30 |
`narrative-general-imatrix-sample.txt` corpus. This supplies varied prose,
|
|
|
|
| 33 |
need an importance matrix because its preset does not consume importance
|
| 34 |
weights.
|
| 35 |
|
| 36 |
+
The DFlash drafters do not use the main-model iMatrix. They are quantized from
|
| 37 |
+
the official assistant checkpoint, and the FP4 conversion keeps the feature
|
| 38 |
+
fusion `fc.weight` at Q8_0 as a precision floor.
|
| 39 |
+
|
| 40 |
## Paths
|
| 41 |
|
| 42 |
- Source snapshot: `source/Muse-Glimmer-30B/`
|
| 43 |
+
- DFlash source snapshot: `source/Muse-Glimmer-30B-assistant/`
|
| 44 |
- BF16 text model and projector: `intermediate/`
|
| 45 |
- Importance matrix: `calibration/`
|
| 46 |
- Final models: `artifacts/`
|
|
|
|
| 70 |
intermediate/Muse-Glimmer-30B-BF16.gguf \
|
| 71 |
artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf \
|
| 72 |
Q4_0_ROCMFP4_COHERENT
|
| 73 |
+
|
| 74 |
+
.venv/bin/python toolchain/scripts/convert_hf_to_gguf_modular.py \
|
| 75 |
+
source/Muse-Glimmer-30B-assistant \
|
| 76 |
+
--target-model-dir source/Muse-Glimmer-30B \
|
| 77 |
+
--outtype bf16 \
|
| 78 |
+
--outfile intermediate/Muse-Glimmer-30B-DFlash-BF16.gguf
|
| 79 |
+
|
| 80 |
+
toolchain/build-muse-rocmfpx/bin/llama-quantize \
|
| 81 |
+
intermediate/Muse-Glimmer-30B-DFlash-BF16.gguf \
|
| 82 |
+
artifacts/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf \
|
| 83 |
+
Q4_0_ROCMFP4_STRIX
|
| 84 |
+
|
| 85 |
+
toolchain/build-muse-rocmfpx/bin/llama-quantize \
|
| 86 |
+
intermediate/Muse-Glimmer-30B-DFlash-BF16.gguf \
|
| 87 |
+
artifacts/Muse-Glimmer-30B-DFlash-ROCmFP8.gguf \
|
| 88 |
+
Q8_0_ROCMFPX
|
| 89 |
```
|
| 90 |
|
| 91 |
Exact tensor inventories, sizes, checksums, and smoke-test results are in
|
BUILD_RESULTS.md
CHANGED
|
@@ -8,11 +8,19 @@
|
|
| 8 |
| `artifacts/Muse-Glimmer-30B-ROCmFP8.gguf` | `Q8_0_ROCMFPX`, ftype 111 | 28,742,539,776 | 26.77 GiB | 8.25 |
|
| 9 |
| `artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf` | `Q4_0_ROCMFP4_COHERENT`, ftype 102 | 16,032,978,080 | 14.94 GiB | 4.60 |
|
| 10 |
| `intermediate/mmproj-Muse-Glimmer-30B-BF16.gguf` | BF16 vision projector | 3,849,173,920 | 3.59 GiB | — |
|
|
|
|
|
|
|
| 11 |
|
| 12 |
The text GGUFs each contain 731 tensors and report the `muse-glimmer`
|
| 13 |
architecture. The projector contains 809 tensors, 50 vision blocks, and the
|
| 14 |
`muse-glimmer` projector type.
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
## Importance matrix
|
| 17 |
|
| 18 |
- File: `calibration/Muse-Glimmer-30B-narrative-general.imatrix`
|
|
@@ -27,6 +35,10 @@ computed from 500 chunks. The standalone `--show-statistics` mode exits with
|
|
| 27 |
SIGFPE in this ROCmFPX base; this does not affect matrix generation or the two
|
| 28 |
successful quantizer consumers.
|
| 29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
## Runtime validation
|
| 31 |
|
| 32 |
All checks used the experimental Muse-capable ROCmFPX build on `ROCm0` with
|
|
@@ -39,6 +51,25 @@ all layers offloaded and a 1,024-token context unless noted.
|
|
| 39 |
| ROCmFP4-Q6-QUALITY | clean 16-token single-turn generation | 39.0 tok/s | 14.0 tok/s |
|
| 40 |
| ROCmFP4 + BF16 mmproj | loaded `text, vision`, decoded a PNG as a folder icon | 81.7 tok/s | 14.9 tok/s |
|
| 41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
The vision smoke test used a 2,048-token context and a local system icon. The
|
| 43 |
older ROCmFPX flash-attention ABI requires the Muse sparse attention mask in
|
| 44 |
FP16; the experiment toolchain converts the upstream FP32 mask values to FP16
|
|
@@ -51,6 +82,8 @@ at upload time.
|
|
| 51 |
- Vulkan ROCmFP4 copy/conversion backend tests: 34/34 passed
|
| 52 |
- `llama-quantize`, `llama-imatrix`, `llama-cli`, and `llama-server`: built
|
| 53 |
- ROCmFPX build version: `209 (00d54526e)`
|
|
|
|
|
|
|
| 54 |
|
| 55 |
SHA-256 digests for sources, intermediates, and final outputs are recorded in
|
| 56 |
`manifests/SHA256SUMS`.
|
|
|
|
| 8 |
| `artifacts/Muse-Glimmer-30B-ROCmFP8.gguf` | `Q8_0_ROCMFPX`, ftype 111 | 28,742,539,776 | 26.77 GiB | 8.25 |
|
| 9 |
| `artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf` | `Q4_0_ROCMFP4_COHERENT`, ftype 102 | 16,032,978,080 | 14.94 GiB | 4.60 |
|
| 10 |
| `intermediate/mmproj-Muse-Glimmer-30B-BF16.gguf` | BF16 vision projector | 3,849,173,920 | 3.59 GiB | — |
|
| 11 |
+
| `artifacts/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf` | `Q4_0_ROCMFP4_STRIX` drafter | 1,491,030,176 | 1.39 GiB | 4.63 |
|
| 12 |
+
| `artifacts/Muse-Glimmer-30B-DFlash-ROCmFP8.gguf` | `Q8_0_ROCMFPX` drafter | 2,649,174,176 | 2.47 GiB | 8.25 |
|
| 13 |
|
| 14 |
The text GGUFs each contain 731 tensors and report the `muse-glimmer`
|
| 15 |
architecture. The projector contains 809 tensors, 50 vision blocks, and the
|
| 16 |
`muse-glimmer` projector type.
|
| 17 |
|
| 18 |
+
The DFlash GGUFs each contain 58 tensors and report the `dflash` architecture.
|
| 19 |
+
Their source is Meta's official five-layer `MuseGlimmerAssistantModel` at
|
| 20 |
+
revision `2c86316d689027b91123638739743fef1d425233`. The modular ROCmFPX
|
| 21 |
+
conversion and current upstream conversion produced byte-identical BF16 GGUFs
|
| 22 |
+
(`dc4ecbb…ad891`) before quantization.
|
| 23 |
+
|
| 24 |
## Importance matrix
|
| 25 |
|
| 26 |
- File: `calibration/Muse-Glimmer-30B-narrative-general.imatrix`
|
|
|
|
| 35 |
SIGFPE in this ROCmFPX base; this does not affect matrix generation or the two
|
| 36 |
successful quantizer consumers.
|
| 37 |
|
| 38 |
+
Neither DFlash drafter uses an iMatrix. They were quantized directly from the
|
| 39 |
+
official BF16 assistant; the custom FP4 precision floor retains `fc.weight` as
|
| 40 |
+
Q8_0 while routing the remaining eligible weights through the Strix FP4 preset.
|
| 41 |
+
|
| 42 |
## Runtime validation
|
| 43 |
|
| 44 |
All checks used the experimental Muse-capable ROCmFPX build on `ROCm0` with
|
|
|
|
| 51 |
| ROCmFP4-Q6-QUALITY | clean 16-token single-turn generation | 39.0 tok/s | 14.0 tok/s |
|
| 52 |
| ROCmFP4 + BF16 mmproj | loaded `text, vision`, decoded a PNG as a folder icon | 81.7 tok/s | 14.9 tok/s |
|
| 53 |
|
| 54 |
+
### DFlash throughput
|
| 55 |
+
|
| 56 |
+
Controlled DFlash runs used the ROCmFP4 target, three prompts, 256 generated
|
| 57 |
+
tokens per prompt, context 2,048, batch size 1, greedy decoding, flash
|
| 58 |
+
attention, full ROCm0 offload, and Q4_0 KV caches for both contexts.
|
| 59 |
+
|
| 60 |
+
| Mode | Draft window | Mean decode | Speedup | Range | Weighted acceptance |
|
| 61 |
+
| --- | ---: | ---: | ---: | ---: | ---: |
|
| 62 |
+
| Baseline | — | 13.7 tok/s | 1.00× | 13.7–13.7 | — |
|
| 63 |
+
| DFlash ROCmFP4 | 6 | 28.3 tok/s | 2.07× | 24.3–31.8 | 519/1,448 (35.8%) |
|
| 64 |
+
| DFlash ROCmFP8 | 6 | 27.2 tok/s | 1.99× | 24.1–33.0 | 519/1,454 (35.7%) |
|
| 65 |
+
| DFlash ROCmFP4 | 15 | 24.6 tok/s | 1.80× | 18.5–30.7 | 543/3,171 (17.1%) |
|
| 66 |
+
| DFlash ROCmFP8 | 15 | 26.3 tok/s | 1.92× | 19.2–34.6 | 563/2,891 (19.5%) |
|
| 67 |
+
|
| 68 |
+
The six-token window is the recommended starting point on this host. The
|
| 69 |
+
runtime patch includes the upstream DFlash injected-cache rotation fix; before
|
| 70 |
+
that fix, quantized KV caches produced near-zero acceptance despite valid
|
| 71 |
+
target verification.
|
| 72 |
+
|
| 73 |
The vision smoke test used a 2,048-token context and a local system icon. The
|
| 74 |
older ROCmFPX flash-attention ABI requires the Muse sparse attention mask in
|
| 75 |
FP16; the experiment toolchain converts the upstream FP32 mask values to FP16
|
|
|
|
| 82 |
- Vulkan ROCmFP4 copy/conversion backend tests: 34/34 passed
|
| 83 |
- `llama-quantize`, `llama-imatrix`, `llama-cli`, and `llama-server`: built
|
| 84 |
- ROCmFPX build version: `209 (00d54526e)`
|
| 85 |
+
- DFlash ROCmFP4 and ROCmFP8 both completed verified speculative generation
|
| 86 |
+
with Q4_0 KV caches after the injected-cache rotation backport
|
| 87 |
|
| 88 |
SHA-256 digests for sources, intermediates, and final outputs are recorded in
|
| 89 |
`manifests/SHA256SUMS`.
|