--- license: apache-2.0 base_model: empero-ai/Qwythos-27B-v1 base_model_relation: quantized language: - en library_name: gguf pipeline_tag: image-text-to-text tags: - gguf - llama.cpp - quantized - qwen3.5 - reasoning - uncensored - long-context - 1M-context - multimodal - vision - mtp - agentic ---

Qwythos-27B-v1

# Qwythos-27B-v1-GGUF **Developed by [Empero](https://empero.org)** GGUF quantizations of **[empero-ai/Qwythos-27B-v1](https://huggingface.co/empero-ai/Qwythos-27B-v1)** for [llama.cpp](https://github.com/ggml-org/llama.cpp), Ollama, LM Studio, jan, KoboldCpp, and other GGUF runtimes. Qwythos-27B-v1 is a dense, hybrid Qwen3.5-27B—the larger continuation of Qwythos-9B, trained on the same curriculum at a larger scale. Nothing was removed to make this conversion fit: its native MTP head, vision tower, and 1,048,576-token (1M) context capability are intact. This is the pre-RL v1 checkpoint, following SFT, DPO, and ESFT; an RL-trained v2 will follow, while v1 is a complete checkpoint in its own right. For the full capability, training, and evaluation writeup, see the **[base model card](https://huggingface.co/empero-ai/Qwythos-27B-v1)**. This card is intentionally focused on choosing a file and running it. --- ## Files The repository is named `Qwythos-27B-v1-GGUF`, but the files on disk deliberately use the shorter `Qwythos-27B-*` names below. Use those exact filenames when downloading or passing `-m`. ### Normal text weights — trunk only (64 blocks) | File | Quant | Size | Notes | |---|---|---:|---| | `Qwythos-27B-Q4_K_M.gguf` | Q4_K_M | 15.78 GiB / 16.95 GB | **recommended default** | | `Qwythos-27B-Q5_K_M.gguf` | Q5_K_M | 18.11 GiB / 19.44 GB | K-quant | | `Qwythos-27B-Q6_K.gguf` | Q6_K | 20.91 GiB / 22.45 GB | K-quant | | `Qwythos-27B-Q8_0.gguf` | Q8_0 | 26.63 GiB / 28.60 GB | 8-bit quant | | `Qwythos-27B-BF16.gguf` | BF16 | 50.11 GiB / 53.81 GB | full-precision conversion base | If you do not know which to pick, start with **Q4_K_M**. ### MTP-enabled text weights (`nextn_predict_layers = 1`) These include the native MTP head inside the GGUF. Use them with a recent llama.cpp build that supports MTP draft speculation, for example `--spec-type draft-mtp`. | File | Quant | Size | Notes | |---|---|---:|---| | `Qwythos-27B-MTP-Q4_K_M.gguf` | Q4_K_M + MTP | 16.05 GiB / 17.24 GB | **recommended MTP default** | | `Qwythos-27B-MTP-Q5_K_M.gguf` | Q5_K_M + MTP | 18.41 GiB / 19.76 GB | MTP K-quant | | `Qwythos-27B-MTP-Q6_K.gguf` | Q6_K + MTP | 21.25 GiB / 22.82 GB | MTP K-quant | | `Qwythos-27B-MTP-Q8_0.gguf` | Q8_0 + MTP | 27.05 GiB / 29.05 GB | MTP 8-bit quant | | `Qwythos-27B-MTP-BF16.gguf` | BF16 + MTP | 50.90 GiB / 54.66 GB | MTP, full-precision conversion base | ### Vision projector — for image input | File | Size | Notes | |---|---:|---| | `mmproj-Qwythos-27B-F16.gguf` | 0.86 GiB / 0.93 GB | vision encoder + projector at F16; **required for images**, pairs with any normal or MTP text quant | The vision tower is intact in this release. Download the `mmproj` alongside a text quant whenever you want image input. ### What fits on a GPU? These are practical **weight-size-based estimates**, not measured performance or VRAM benchmarks. They assume a modest context and leave room for runtime overhead and the KV cache; image input adds the 0.86 GiB `mmproj`. Longer contexts—especially the full 1M window—make the KV cache the dominant memory cost and may require CPU/KV offload or multiple GPUs regardless of weight quant. **Measured:** `Qwythos-27B-Q4_K_M.gguf` fully offloaded to a single **RTX 5090 (32 GB)** at 4k context runs at **~74 tok/s generation, ~622 tok/s prompt** (llama.cpp CUDA build, `-ngl 99`). One data point on one card, not a benchmark sweep — but it confirms a 27B at Q4_K_M is comfortably interactive on a single consumer GPU. | Quant | Approximate hardware guidance at modest context | |---|---| | Q4_K_M / MTP-Q4_K_M | The practical 24 GB-card starting point. Q4_K_M has the most headroom of these files for runtime and KV cache. | | Q5_K_M / MTP-Q5_K_M | Can fit tightly on 24 GB at a modest context; 48 GB is the more comfortable single-GPU target. | | Q6_K / MTP-Q6_K | A 48 GB card is the practical single-GPU target; on 24 GB, expect weight or KV offload. | | Q8_0 / MTP-Q8_0 | Plan on 48 GB for modest-context single-GPU use; 24 GB requires offload. | | BF16 / MTP-BF16 | The weights alone exceed 48 GB. Use an 80 GB-class GPU or multi-GPU/offload, with additional memory for runtime and KV cache. | --- ## Quick start ### llama.cpp (`llama-cli`) ```bash llama-cli \ -m Qwythos-27B-Q4_K_M.gguf \ -p "Explain the design tradeoffs in a Gated-DeltaNet hybrid model." \ -n 16384 \ --temp 0.6 --top-p 0.95 --top-k 20 --repeat-penalty 1.05 \ -c 16384 ``` ### llama.cpp (`llama-server`) ```bash llama-server \ -m Qwythos-27B-Q4_K_M.gguf \ -c 16384 --port 8080 ``` ### Ollama ```bash ollama run hf.co/empero-ai/Qwythos-27B-v1-GGUF:Q4_K_M ``` ### LM Studio / jan / KoboldCpp Download any text `.gguf` from this repository and load it in your runtime. Preserve the embedded Qwythos chat template if the runtime asks you to select or configure one. ### llama.cpp with MTP draft speculation ```bash llama-server \ -m Qwythos-27B-MTP-Q4_K_M.gguf \ --spec-type draft-mtp \ --spec-draft-n-max 6 \ -c 16384 --port 8080 ``` MTP support requires a recent llama.cpp build. If your runtime does not support MTP draft speculation, choose a trunk-only file instead. --- ## Vision (image input) Download a text quant and `mmproj-Qwythos-27B-F16.gguf`, then use llama.cpp's multimodal CLI or server. ### llama.cpp (`llama-mtmd-cli`) ```bash llama-mtmd-cli \ -m Qwythos-27B-Q4_K_M.gguf \ --mmproj mmproj-Qwythos-27B-F16.gguf \ --image ./photo.jpg \ -p "Describe this image in detail." \ --temp 0.6 --top-p 0.95 --top-k 20 \ -c 16384 ``` ### llama.cpp server ```bash llama-server \ -m Qwythos-27B-Q4_K_M.gguf \ --mmproj mmproj-Qwythos-27B-F16.gguf \ -c 16384 --port 8080 ``` --- ## Hybrid-precision quantization (Gated-DeltaNet / SSM tensors) Qwythos is a hybrid model: three Gated-DeltaNet linear-attention layers for every full-attention layer. Its Gated-DeltaNet state tensors are disproportionately sensitive to low-bit quantization, so these K-quants retain them at higher precision than the surrounding weights: | Tensor | Q4_K_M | Q5_K_M | Q6_K | |---|---|---|---| | `ssm_alpha` | Q8_0 | Q8_0 | Q8_0 | | `ssm_beta` | Q8_0 | Q8_0 | Q8_0 | | `ssm_out` | Q8_0 | Q8_0 | Q8_0 | | `ssm_a`, `ssm_conv1d`, `ssm_dt`, `ssm_norm` | F32 | F32 | F32 | **The entire Gated-DeltaNet state path is held at Q8_0 or better in every K-quant** — no part of it is allowed to drop to Q4/Q5/Q6, regardless of the nominal quant level. This costs roughly 2–4% in file size over a flat K-quant and is the single most important difference between these files and a naive conversion of a hybrid model. Q8_0 and BF16 are uniform and need no overrides. MTP variants additionally pin `nextn.eh_proj` to Q8_0. Built with llama.cpp pinned at commit `d0f9d2e5`, using architecture `qwen35`. --- ## Identity and chat template The embedded chat template identifies the model as: “You are Qwythos, a model created by Empero AI. Only bring up your identity if the user asks.” Use the runtime's chat/completions mode rather than hand-rolling a different prompt format where possible. ## Function calling The embedded chat template carries Qwen3.5's full tool-use spec, so tool calling works through `llama-server`'s OpenAI-compatible endpoint without a wrapper — pass `tools` in your `/v1/chat/completions` request and parse the emitted `` blocks: ``` value ``` Given the terminal/agentic training behind this checkpoint, tool-augmented use is the intended deployment path. ## Sampling recommendations Qwythos is a reasoning model — responses open with a `…` block before the final answer. These match the shipped `generation_config.json` defaults: | Parameter | Recommendation | |---|---| | `temperature` | 0.6 for agentic, harness, and tool-use work; 1.0 for open-ended reasoning or creative work | | `top_p` | 0.95 | | `top_k` | 20 | | `repeat_penalty` | 1.05 | | `max_new_tokens` | 16,384 or more; reserve a generous budget for long reasoning traces and the final answer | As llama.cpp flags: ```bash --temp 0.6 --top-p 0.95 --top-k 20 --repeat-penalty 1.05 -n 16384 ``` Use `repeat_penalty 1.05` rather than Qwen's default of 1.0 — it prevents rare non-terminating reasoning loops on long generations. ## Long context (1M tokens) The model configuration supports a **1,048,576-token** window: a 4× YaRN extension over the 262,144-token native window. Set the runtime context to the amount you actually need—lower `-c` values substantially reduce KV-cache memory requirements. The 1M setting is an inference-time capability, not a promise that a single GPU can hold a 1M KV cache. For roughly 512k context, a YaRN factor of 2.0 is preferable; if you will never exceed the native 262k window, remove scaling entirely. Static YaRN scaling can slightly degrade short-context quality. For the full 1M window, plan for multi-GPU or aggressive KV offload. ## Verification `SHA256SUMS` is included in this repository. Verify a download before loading it: ```bash sha256sum -c SHA256SUMS ``` --- ## Limitations - **Pre-RL v1.** This release has completed SFT, DPO, and ESFT, but the planned RL-trained v2 is still to come. - **Context costs memory.** Weight size is only part of the hardware budget; long contexts need substantial KV-cache memory. - **MTP is runtime-dependent.** Use the trunk-only files when your GGUF runtime does not yet support `draft-mtp` speculation. - **No standardized academic benchmark suite has been run for this checkpoint.** Validate the model on the tasks and operating conditions that matter to your deployment. - **Uncensored model.** Add the application-level review and safety controls appropriate to an end-user deployment. ## Stay in the loop Sign up for the Empero newsletter at **[empero.org](https://empero.org)** for releases, evals, and research notes. ## Support / Donate If this model helped you, consider supporting the project: - **BTC**: `bc1qx6zepu6sfkvshgdmc4ewu6pk6rpadvpgffpp7v` - **LTC**: `ltc1qv2mefzps2vtjcpwfx8xxdrpplrcvltswm68r7x` - **XMR**: `42Dbm5xg5Nq26fdyzfEU7KBnAJfhi7Cvz5J2ex5CzHXkfKuNEJzYCcmJ1GTbgjFZ5MBx72sdG1G9239Cd6rsZfv4QeDkYJY` --- ## Provenance & licensing Qwythos-27B-v1 is derived from **Qwen3.5-27B**. The weights are released under **Apache-2.0**, inherited from the Qwen3.5-27B base, and are shared for research and experimentation as-is. ## Acknowledgements - Developed and released by [Empero](https://empero.org) - Base model: [Qwen3.5-27B](https://huggingface.co/Qwen/Qwen3.5-27B) (Alibaba Qwen team) - Training: [TRL](https://github.com/huggingface/trl) + [Transformers](https://github.com/huggingface/transformers) - GGUF quantization: [llama.cpp](https://github.com/ggml-org/llama.cpp) (ggml-org)