Instructions to use xxchromexx/Qwermes3.8 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 xxchromexx/Qwermes3.8 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 xxchromexx/Qwermes3.8:NVFP4 # Run inference directly in the terminal: llama cli -hf xxchromexx/Qwermes3.8:NVFP4
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf xxchromexx/Qwermes3.8:NVFP4 # Run inference directly in the terminal: llama cli -hf xxchromexx/Qwermes3.8:NVFP4
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 xxchromexx/Qwermes3.8:NVFP4 # Run inference directly in the terminal: ./llama-cli -hf xxchromexx/Qwermes3.8:NVFP4
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 xxchromexx/Qwermes3.8:NVFP4 # Run inference directly in the terminal: ./build/bin/llama-cli -hf xxchromexx/Qwermes3.8:NVFP4
Use Docker
docker model run hf.co/xxchromexx/Qwermes3.8:NVFP4
- LM Studio
- Jan
- vLLM
How to use xxchromexx/Qwermes3.8 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "xxchromexx/Qwermes3.8" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "xxchromexx/Qwermes3.8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/xxchromexx/Qwermes3.8:NVFP4
- Ollama
How to use xxchromexx/Qwermes3.8 with Ollama:
ollama run hf.co/xxchromexx/Qwermes3.8:NVFP4
- Unsloth Desktop
- Pi
How to use xxchromexx/Qwermes3.8 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf xxchromexx/Qwermes3.8:NVFP4
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": "xxchromexx/Qwermes3.8:NVFP4" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use xxchromexx/Qwermes3.8 with Docker Model Runner:
docker model run hf.co/xxchromexx/Qwermes3.8:NVFP4
- Lemonade
How to use xxchromexx/Qwermes3.8 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull xxchromexx/Qwermes3.8:NVFP4
Run and chat with the model
lemonade run user.Qwermes3.8-NVFP4
List all available models
lemonade list
- Hermes Agent
How to use xxchromexx/Qwermes3.8 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf xxchromexx/Qwermes3.8:NVFP4
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 xxchromexx/Qwermes3.8:NVFP4
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use xxchromexx/Qwermes3.8 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf xxchromexx/Qwermes3.8:NVFP4
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 "xxchromexx/Qwermes3.8:NVFP4" \ --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"
Qwermes3.8 — NVFP4 GGUF (Qwen3.8-27B hybrid, fine-tuned)
NVFP4 GGUF of a fine-tuned Qwen3.8-27B (dense, 64-layer hybrid: 48 Gated DeltaNet linear-attention + 16 full-attention, Qwen3-VL-style wrapper stripped to text-only):
| File | Quant | Size | Ollama tag | Verified |
|---|---|---|---|---|
Qwermes3.8-nvfp4.gguf |
NVFP4 (ModelOpt, MLP-only; attention/DeltaNet Q8_0) | 20.0 GB | Qwermes3.8:nvfp4 |
✅ coherent, 262K ctx |
Why this exists: this model family (Qwen3.5/3.8 hybrid GDN) has a nasty GPU-kernel gating trap on workstation Blackwell (sm_120). The GGUF works everywhere via llama.cpp/Ollama; NVFP4 additionally runs on Blackwell FP4 tensor cores. Details below — the benchmarks and the root-cause analysis are the useful part for the community.
Benchmarks (RTX PRO 6000 Blackwell 96 GB, sm_120, CUDA 13, Ollama 0.33.1)
Fine-tune vs stock: Qwermes3.8 NVFP4 vs base Qwen3.8 (12 prompts × 2, num_ctx 8192, seed 42, thinking off)
| Metric | Qwermes3.8 NVFP4 (20 GB) | Qwen3.8 base Q4_K_M (16.8 GB) |
|---|---|---|
| Decode avg | 53.0 t/s | 106.8 t/s |
| Prefill avg | 527.6 t/s | 414.3 t/s |
| Total tokens | 1,694 | 4,820 |
The 2× decode gap is MTP, not the fine-tune. The stock model ships with a multi-token-prediction head (blk.64.nextn.*); this GGUF was converted --no-mtp. Same-quant control (both Q4_K_M): Qwermes 65.1 t/s vs base 84.1 t/s — the fine-tune costs ~29% decode speed (longer generations, same architecture).
⚠️ Scope: directional smoke test, not a scored eval. 12 hand-written prompts, single run, eyeball quality check. No rubric, no confidence intervals, no contamination check. Scored benchmarks (GSM8K/HumanEval/IFEval via lm-eval-harness) are in progress and will be published here when complete.
Perplexity (wikitext-2 test, full 1.29 MB, llama-perplexity, ngl 99, c 8192)
| Quant | PPL |
|---|---|
| NVFP4 | 5.9276 ± 0.036 |
Why NVFP4 is (correctly) slower in vLLM on sm_120 — the GDN kernel gate
Qwen3.8-27B is hybrid: 48/64 layers are Gated DeltaNet (GDN) linear-attention. vLLM's fast GDN backends (FlashInfer/CuteDSL) gate to hardware with tcgen05/TMEM tensor-memory instructions: sm_90 and sm_10x (datacenter Blackwell, B200/GB200) with head_k_dim==128 + CUDA 13. sm_120 (RTX PRO 6000, RTX 5090, PRO 2000-series) is NOT on the list → Triton/FLA fallback:
- vLLM 0.27.1:
Using Triton/FLA GDN prefill kernel— decode 42.2 t/s (vs Ollama 52.7), ~2.2s FIXED TTFT regardless of prompt length (measured: 1-token 2.24s, ~10k-token 4.97s). - vLLM 0.22.0: same gate in source (verified). Also rejects unwrapped text-only configs (
Qwen3_5TextConfigvs required VLMQwen3_5Config). - Marginal prefill is actually excellent (~5,500–11,000 tok/s measured) — the fixed 2.2s per-request cost dominates short prompts. vLLM is a batch/long-context play here, not an interactive one.
- Community confirmation: ai-muninn / DGX Spark (sm_121) — same wall; vLLM PR #44700 (GDN decode fix, +24% on B200) = zero movement on non-datacenter Blackwell. "The fast road isn't built here."
llama.cpp/Ollama's GDN kernels need no tcgen05 → full speed on sm_120. For interactive single-stream use on workstation Blackwell, Ollama + NVFP4 beats vLLM on every metric.
NVFP4 build recipe (works — 5 failed attempts distilled)
Do NOT use llmcompressor for NVFP4 GGUFs on this arch. Its single-scale packing (scales) scrambles every dequant in llama.cpp. ModelOpt's two-level weight_scale/weight_scale_2 is what llama.cpp's _repack_nvfp4 expects.
- Unwrap the VLM wrapper first. The merged checkpoint has triple-nested keys (
model.language_model.language_model.language_model.*). Every quantizer loads viaAutoModelForCausalLMand reports every tensor UNEXPECTED → randomly initialized. This silent failure is the #1 garbage-output cause. Rewrite the safetensors headers to cleanmodel.layers.*(hardlinks can't fix headers) and drop the vision tower. - ModelOpt 0.46.0 (studio venv, transformers 5.14.1):
quantize()withNVFP4_MLP_ONLY_CFG(MLP→NVFP4 group 16, rest FP8) + calibration forward loop →compress()(packs real two-level scales; without it you get fake-quant BF16 at 50 GB) →save_pretrained(). - Rename scale tensors for the GGUF converter:
weight_quantizer._scale→weight_scale,_double_scale→weight_scale_2,input_quantizer._amax→input_scale(= amax/448, FP8 E4M3 max). Keepquantization_configin config.json or the converter never triggers NVFP4 repack. - Convert with llama.cpp b10679
convert_hf_to_gguf.py --outtype q8_0 --no-mtp→ NVFP4 tensors repacked, leftover BF16 (attention/DeltaNet/vision) → Q8_0. Layout matches the known-good RadixArk Qwen3.8-27B-NVFP4 reference exactly. - Embed the chat template in the GGUF (
tokenizer.chat_template— extract from a working GGUF of the same family or the source config). Without it, Ollama advertises only['completion']— no tools, no thinking — and rejects theenable_thinkingparam Hermes sends.
Dead ends (don't repeat)
- llmcompressor NVFP4 → garbage GGUF every time (single-scale packing).
- unsloth native export → CUDA OOM crash (parent + subprocess both hold 51 GB on a 96 GB card) → run quantize standalone.
- BF16 "control test" through plain transformers → garbage (VLM wrapper confuses
AutoModelForCausalLM); only llama-cli/Ollama tests are valid. - Every exit-139 segfault was a resident Ollama model eating VRAM —
ollama stopbefore heavy HF loads.
Ollama registration (Windows)
Manual manifest in registry.ollama.ai/library/Qwermes3.8/<tag>/ — big local copies wedge ollama create. Blob filenames use sha256- (dash, Windows). Config blob: {"model_format":"gguf","model_family":"qwen35","file_type":1,"model_type":"27.3B"}. Params: {"temperature":0.7,"top_p":0.8,"num_ctx":262144,"stop":["<|im_start|>","<|im_end|>"]}.
KV cache facts (DeltaNet is state-heavy!)
Measured: 117 KB/token → 128K ctx ≈ 14.7 GB, 262K ≈ 30 GB. Plan VRAM accordingly; a 16 GB card cannot hold 128K ctx fully in VRAM.
Thinking-mode quirk
On complex code prompts at small num_ctx, the model thinks to the context limit and emits zero content (8,120 tokens of pure thinking — fine-tune behavior, not a quant defect). Fix: "think": false in Ollama request bodies (top-level; Ollama ignores it under options).
Files
Qwermes3.8-nvfp4.gguf— 20.0 GB, 192 NVFP4 tensors (64 layers × ffn gate/up/down, group 16), 306 Q8_0 (attention/SSM/vision), chat template embedded
Verify integrity after download:
sha256 71a78d965f36dcf8bb0669f0344f3bc7b7033b9e963ac6a8abe3e9a6a143378c Qwermes3.8-nvfp4.gguf
Training data
Fine-tuned with QLoRA (r=32, α=64, LR 2e-4, cosine, 32K ctx, packing) on Hermes-3 multiturn data — agentlans/NousResearch-Hermes-3-Dataset-multiturn (13,259 rows, ~10M tokens, single pass ≈ 2 effective epochs at 32K packing). Base: Qwen/Qwen3.8-27B. The fine-tune targets assistant-style conversational behavior (Hermes-3 format); no additional proprietary data was used.
⚠️ Contamination note: the fine-tune data is conversational (Hermes-3 multiturn), not benchmark-derived — but no formal contamination audit was run. Treat scored results as upper bounds.
License
Apache-2.0 (base: Qwen/Qwen3.8-27B). Fine-tune weights derived from Hermes-ft project; no additional restrictions.
- Downloads last month
- 12
4-bit
Model tree for xxchromexx/Qwermes3.8
Base model
Qwen/Qwen3.8-27B