giannisan/Hy3-ds4-gguf overview
Hy3 295B GGUF for pulsar / ds4 / NeutronStar SSD streaming, CUDA Mixed precision GGUF of tencent/Hy3 https://huggingface.co/tencent/Hy3 295B total / 21B active…
Runs locally from ~78.81 GB disk (32 GB+ VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
Model Details
Model README
---
base_model: tencent/Hy3
base_model_relation: quantized
tags:
- gguf
- hy3
- moe
- ds4
- pulsar
- ssd-streaming
---
Hy3 (295B) GGUF for pulsar / ds4 / NeutronStar (SSD streaming, CUDA)
Mixed-precision GGUF of tencent/Hy3
(295B total / 21B active MoE, Apache 2.0) built for SSD-streaming
inference engines: routed experts live on disk and stream per token, so
the model runs on GPUs that cannot hold it.
Runs on pulsar (Rust + CUDA,
recommended) and the NeutronStar
hy3 branch (C, a CUDA port of antirez/ds4).
Measured decode, greedy, warm cache:
| engine | hardware | tok/s |
|---|---|---|
| pulsar | RTX 5060 Ti 16GB + RTX 4060 Ti 16GB, Gen5 NVMe | 7.2 |
| pulsar | RTX 4060 Ti 16GB, Gen4 NVMe | 2.6 |
| NeutronStar/ds4 | RTX 4060 Ti 16GB, Gen4 NVMe | 0.6-1.8 |
Per token only 8 of 192 experts per layer are read (~3GB/token at this
quant); attention, shared experts, and the router stay resident.
Files
| file | provenance | recommendation |
|---|---|---|
| Hy3-ds4-IQ2XXS-AttnQ8-fromBF16.gguf | single quantization straight from the BF16 checkpoint | use this one |
| Hy3-ds4-IQ2XXS-AttnQ8.gguf | requantized from an IQ4 intermediate (see below) | kept for continuity |
Both use the identical recipe and the same importance matrix; they differ
only in what the quantizer saw as input.
fromBF16 (new): tencent/Hy3 BF16 (598GB) converted to a q8_0
intermediate with the AngelSlim
llama.cpp patches (proper hy_v3 architecture support), then quantized
with the imatrix in one step. q8_0 is effectively lossless as an
intermediate, so the routed experts see exactly one lossy quantization.
original: built before the BF16 pipeline existed here, from the IQ4-UD
edition of YanissAmz/Hy3-295B-A21B-GGUF.
The tensors this recipe keeps at Q8_0 passed through essentially lossless,
but the routed experts went through two lossy steps (IQ4_XS/IQ3_S to
IQ2_XXS). At a 2-bit target the 2-bit noise dominates, so the gap is
small, but the fromBF16 file removes it entirely.
Recipe
The layout targets a streaming expert cache: routed experts must be
uniform fixed-size slabs, and everything that makes decisions stays high
precision. Same design as antirez's GLM-5.2 ds4 build, including the MTP
layer riding at Q2_K because importance matrices never cover the draft
layer (imatrix generation runs normal forwards, which skip it).
| Tensors | Type | Why |
|---|---|---|
| routed experts, layers 1-79 (gate/up/down) | IQ2_XXS (imatrix) | streamed from disk per token; uniform slabs |
| routed experts, layer 80 (MTP) | Q2_K | no imatrix coverage exists for the draft layer |
| attention q/k/v/output, all layers | Q8_0 | resident, paid once |
| shared expert + dense layer 0 FFN | Q8_0 | resident |
| nextn.eh_proj (MTP glue) | Q8_0 | tiny, no imatrix coverage |
| token embeddings, output head | Q8_0 | ds4 embed kernel contract |
| router (ffn_gate_inp), expert bias, all norms | F32 | decision makers stay exact |
imatrix: the 125-chunk general-purpose matrix published with the source
repo of the original build, reused for the fromBF16 build.
Usage
pulsar (recommended)
git clone https://github.com/giannisanni/pulsar
cd pulsar
CXX=g++-12 cargo build --release -p engine
./target/release/pulsar-cli -m Hy3-ds4-IQ2XXS-AttnQ8-fromBF16.gguf \
-p "The capital of France is" -n 64
# or interactive chat: --chat
# or OpenAI-compatible API: cargo build --release -p serve
Zero-config multi-GPU: pulsar measures each card's PCIe bandwidth at
startup, streams experts over the fastest link, and fills spare GPUs with
resident hot experts. First run is cold; a .warm sidecar makes every
later run start hot. Main knob: PULSAR_CACHE_GB (host expert cache,
defaults to measured free RAM minus a reserve).
NeutronStar / ds4
git clone -b hy3 https://github.com/giannisanni/neutronstar
cd neutronstar && make ds4
./ds4 -m Hy3-ds4-IQ2XXS-AttnQ8-fromBF16.gguf --cuda --ssd-streaming \
--ssd-streaming-cache-experts 64 --ctx 4096 --nothink
Useful knobs: DS4_CUDA_HOST_EXPERT_CACHE_GB=16 (host expert cache, the
main speed lever) and DS4_CUDA_PARALLEL_FETCH_THREADS=16.
MTP note
blk.80 (the MTP draft layer) is present in both files. pulsar wires it
behind PULSAR_MTP=1 (opt-in): drafts verify correctly at 44 percent
acceptance, but measurements show speculative decoding only pays when the
verify pass is fully cache-resident, which a 30GB-RAM box cannot deliver.
Tencent's own AngelSlim deployment guidance reaches the same conclusion,
enabling MTP only from 2x H20 (192GB) upward. Keep it off for speed; it
is there for bigger boxes.
Run giannisan/Hy3-ds4-gguf with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models