Text Generation
GGUF
llama.cpp
rocm
rocmfpx
rocmfp4
rocmfp6
amd
strix-halo
gfx1151
mtp
speculative-decoding
Mixture of Experts
conversational
Instructions to use singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF # Run inference directly in the terminal: llama cli -hf singulared/Ornith-1.5-35B-ROCmFPX-GGUF
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf singulared/Ornith-1.5-35B-ROCmFPX-GGUF # Run inference directly in the terminal: llama cli -hf singulared/Ornith-1.5-35B-ROCmFPX-GGUF
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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF # Run inference directly in the terminal: ./llama-cli -hf singulared/Ornith-1.5-35B-ROCmFPX-GGUF
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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF # Run inference directly in the terminal: ./build/bin/llama-cli -hf singulared/Ornith-1.5-35B-ROCmFPX-GGUF
Use Docker
docker model run hf.co/singulared/Ornith-1.5-35B-ROCmFPX-GGUF
- LM Studio
- Jan
- vLLM
How to use singulared/Ornith-1.5-35B-ROCmFPX-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "singulared/Ornith-1.5-35B-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": "singulared/Ornith-1.5-35B-ROCmFPX-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/singulared/Ornith-1.5-35B-ROCmFPX-GGUF
- Ollama
How to use singulared/Ornith-1.5-35B-ROCmFPX-GGUF with Ollama:
ollama run hf.co/singulared/Ornith-1.5-35B-ROCmFPX-GGUF
- Unsloth Studio
How to use singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF to start chatting
- Pi
How to use singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "singulared/Ornith-1.5-35B-ROCmFPX-GGUF" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use singulared/Ornith-1.5-35B-ROCmFPX-GGUF with Docker Model Runner:
docker model run hf.co/singulared/Ornith-1.5-35B-ROCmFPX-GGUF
- Lemonade
How to use singulared/Ornith-1.5-35B-ROCmFPX-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull singulared/Ornith-1.5-35B-ROCmFPX-GGUF
Run and chat with the model
lemonade run user.Ornith-1.5-35B-ROCmFPX-GGUF-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF
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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use singulared/Ornith-1.5-35B-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 singulared/Ornith-1.5-35B-ROCmFPX-GGUF
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 "singulared/Ornith-1.5-35B-ROCmFPX-GGUF" \ --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"
| license: apache-2.0 | |
| base_model: | |
| - ornith-ai/Ornith-1.5-35B-A3B | |
| base_model_relation: quantized | |
| library_name: llama.cpp | |
| pipeline_tag: text-generation | |
| tags: | |
| - gguf | |
| - rocm | |
| - rocmfpx | |
| - rocmfp4 | |
| - rocmfp6 | |
| - amd | |
| - strix-halo | |
| - gfx1151 | |
| - mtp | |
| - speculative-decoding | |
| - moe | |
| # Ornith-1.5-35B-A3B β ROCmFPX builds for Strix Halo | |
| ROCmFPX quantisations of [Ornith-1.5-35B-A3B](https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B) | |
| for AMD Strix Halo (`gfx1151`), with the MTP head kept live for speculative decoding. | |
| | file | bpw | size | pick it for | | |
| | --- | ---: | ---: | --- | | |
| | `Ornith-1.5-35B-HYBRID-fp6.gguf` | 4.41 | 18.21 GiB | **prefill-dominated work** β best quality | | |
| | `Ornith-1.5-35B-ROCMFP4-FAST.gguf` | 4.27 | 17.65 GiB | **generation-dominated work** β fastest decode | | |
| More variants may be added later. | |
| ## HYBRID: class-aware assignment | |
| Every stock ROCmFP4 preset leaves the obvious lever unused on a 256-expert MoE: they apply **one | |
| type to every tensor**. The hybrid splits them: | |
| | tensor class | count | type | | |
| | --- | ---: | --- | | |
| | routed experts | 123 | `Q4_0_ROCMFP4_FAST` (4.25 bpw) | | |
| | attention | 104 | **`Q6_0_ROCMFPX`** (FP6) | | |
| | shared expert | 123 | **`Q6_0_ROCMFPX`** (FP6) | | |
| | token embedding / output | 2 | **`Q6_0_ROCMFPX`** (FP6) | | |
| | MTP (`nextn`) head | 1 | `Q4_0_ROCMFP4_FAST` | | |
| **4.41 bpw Β· 18.21 GiB.** Routed experts are sparse (8 of 256 fire per token) and tolerate 4-bit; | |
| attention and the shared expert are on every token's critical path and get 6-bit. | |
| ## Perplexity | |
| wikitext-2, 145 chunks @ ctx 2048, identical corpus, Vulkan, all measured here: | |
| | build | bpw | size | PPL | | |
| | --- | ---: | ---: | --- | | |
| | **HYBRID (this)** | 4.41 | 18.21 GiB | **7.3991** Β±0.0506 | | |
| | `ROCMFP4_FAST` | 4.27 | 17.65 GiB | 7.7749 Β±0.0539 | | |
| | `ROCMFP4_COHERENT` | 4.55 | 18.81 GiB | 7.8233 Β±0.0550 | | |
| | `ROCMFP4_STRIX` | 4.31 | 17.81 GiB | 7.8307 Β±0.0547 | | |
| The three stock presets cluster within **0.8%** of each other β preset choice barely matters on this | |
| architecture, because none of them differentiate by tensor class. Class-aware assignment moves | |
| **4.8%** for +0.14 bpw. | |
| Perplexity measures prose next-token prediction, not agentic capability. Use it to compare | |
| quantisations of the same weights, not to rank models. | |
| ## Speed (Radeon 8060S, gfx1151, Vulkan, MTP `n4`, `-ub 2048`) | |
| | build | 8.5K pp / tg | 34K pp / tg | 69K pp / tg | | |
| | --- | --- | --- | --- | | |
| | HYBRID | 990.9 / **63.0** | 815.9 / 55.6 | 488.4 / 45.2 | | |
| | `FAST` | 993.9 / **87.7** | 813.3 / 67.3 | 478.9 / 56.3 | | |
| **Prefill is identical** (within 0.5%) β it is compute-bound, so the FP6 weights cost nothing there. | |
| Decode pays the whole price: β28%, because FP6 attention means more bytes per generated token. | |
| β **Pick HYBRID for prefill-dominated work** (digesting repos/documents, long context, short | |
| answers). **Pick `FAST` for generation-dominated work.** The recipe is a quality/decode dial, not a | |
| free win. | |
| Needle-in-a-haystack retrieval passes at **8.5K, 34.5K and 69.5K** on both. | |
| ## Backend: use Vulkan | |
| Same build, same model, same flags β only `-dev` changes: | |
| | backend | 8.5K pp / tg | 34K pp / tg | | |
| | --- | --- | --- | | |
| | **Vulkan** | 993.9 / **87.7** | 813.3 / **67.3** | | |
| | HIP Β· ROCm 7.2.4 | 968.1 / 72.7 | 675.3 / 64.1 | | |
| | HIP Β· ROCm 10.1 nightly | **1087.0** / 58.2 | **834.6** / 55.1 | | |
| The ROCm nightly is a **prefill-for-decode trade**: +12% prefill over HIP 7.2 but β20% decode, and | |
| β34% decode against Vulkan. Vulkan wins overall and needs no container. | |
| ## MTP head at FP4 is safe here | |
| The `nextn.eh_proj` head is often kept at Q8_0 on the theory that it determines draft acceptance. | |
| Measured on this model, dropping it to FP4 **did not hurt** β identical perplexity to 4 decimals | |
| (7.7749 both) and slightly *better* acceptance: | |
| | MTP head | acceptance | | |
| | --- | --- | | |
| | Q8_0 | 0.73β0.77 | | |
| | **FP4** | **0.78β0.80** | | |
| ## Usage | |
| ```bash | |
| llama-server -m Ornith-1.5-35B-HYBRID-fp6.gguf \ | |
| -ngl 99 -c 131072 -dev Vulkan0 --jinja -fa on -b 2048 -ub 2048 \ | |
| --spec-type draft-mtp --spec-draft-n-max 4 --spec-draft-p-min 0.6 | |
| ``` | |
| Requires a [ROCmFPX](https://github.com/charlie12345/ROCmFPX) build β mainline llama.cpp does not | |
| know the `Q4_0_ROCMFP4_*` / `Q6_0_ROCMFPX` tensor types. The MTP head is native to Ornith 1.5 | |
| (`blk.40.nextn.*`, `nextn_predict_layers=1`); no graft is needed, unlike 1.0. | |
| Reproduce the recipe with: | |
| ``` | |
| attn_.*=q6_0_rocmfpx | |
| ffn_(gate|up|down)_shexp=q6_0_rocmfpx | |
| token_embd.weight=q6_0_rocmfpx | |
| output.weight=q6_0_rocmfpx | |
| nextn.*=q4_0_rocmfp4_fast | |
| ``` | |
| `llama-quantize --tensor-type-file <rules> Ornith-1.5-35B-BF16.gguf out.gguf Q4_0_ROCMFP4_FAST` | |
| ## Honest caveat | |
| On wikitext perplexity, **Ornith 1.0 scores far better** β 6.19 (ROCmFP4-COHERENT) against 7.40 | |
| here, and the gap is present at BF16, so it is a property of the 1.5 weights and not of this | |
| quantisation. 1.0 also decodes faster (86.7 t/s) with higher draft acceptance (0.88). | |
| Ornith 1.5 is chosen here for its reported agentic/SWE gains, which wikitext does not measure. If | |
| your workload is prose modelling rather than agentic coding, 1.0 may serve you better. | |