CoolFace
Modelpublic

jcbtc/chadrock3.6-27b-pi-agent-rocmfp4-mtp

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
3likes96downloads
Model Card

[image]

CHADROCK3.6 27B Pi Agent ROCmFP4 MTP

CHADROCK3.6 27B Pi Agent is a Chadrock ROCmFP4/MTP GGUF release of `bytkim/Qwen3.6-27B-MTP-pi-tune-GGUF`, tuned for no-thinking local coding-agent loops and served here in Charlie's AMD-focused ROCmFP4 Strix Lean runtime format.

This release is meant for Pi-style terminal agents, repository edits, shell-verifier loops, and direct no-thinking coding workflows on AMD Ryzen AI Max+ 395 / Strix Halo systems. It keeps the upstream Pi tune's non-thinking sampling profile and MTP speculative decoding posture, then converts the model into a compact 14 GB Chadrock ROCmFP4 GGUF for the local Strix runtime.

This GGUF will not run correctly with stock llama.cpp. It needs the pinned `ciru-ai/ROCmFPX` runner because the file uses ROCmFP4 tensor types that upstream llama.cpp does not currently understand.

Why This Build Exists

The upstream Pi tune is built around the fast no-thinking path: act directly, emit tool-shaped work, and avoid spending the agent loop's wall time on hidden scratchpad tokens. Chadrock adds the AMD runtime piece:

  • —ROCmFP4 Strix Lean tensor recipe
  • —native draft-MTP serving
  • —AMD ROCm/HIP and Vulkan-oriented local runtime path
  • —q8 target and draft KV profile
  • —one-slot agent serving
  • —128K context profile for local coding sessions

Treat this as a model/runtime pairing for Strix Halo rather than a generic GGUF quant.

Model Lineage

text
Qwen/Qwen3.6-27B
  -> bytkim/Qwen3.6-27B-MTP-pi-tune-GGUF
       adds:
         - 4-bit QLoRA SFT Pi-style agent trajectories
         - no-thinking coding-agent behavior
         - MTP speculative decoding heads
  -> jcbtc/chadrock3.6-27b-pi-agent-rocmfp4-mtp
       adds:
         - Chadrock ROCmFP4 Strix Lean conversion
         - local AMD Strix profile and run settings

The upstream card describes the source as a 4-bit QLoRA SFT Multi-Token Prediction tune of Qwen3.6-27B for no-thinking agentic coding through a Pi-style harness. This release keeps that behavioral target and changes the local runtime format.

Technical Metadata

FieldValue
model size27B dense
architectureqwen35
local runtime formatROCmFP4 Chadrock GGUF
direct upstream/source GGUFbytkim/Qwen3.6-27B-MTP-pi-tune-GGUF
upstream revision used locally22943ba3319569b743d4cb3832e3aa336785d8b8
local profilechadrock3.6-27b-pi-agent-rocmfp4
context target131072 tokens
max generation profile65536 tokens
draft modedraft-mtp, n_max=3, p_split=0.10
device profileROCm0, split mode none
target KV cacheq8_0
draft KV cacheq8_0
batch / ubatch2048 / 512
intended hardwareAMD Ryzen AI Max+ 395 / Strix Halo

Local Coding Benchmarks

All numbers below were measured locally on AMD Ryzen AI Max+ 395 / Strix Halo. The Pi Agent rows use the local profile chadrock3.6-27b-pi-agent-rocmfp4.

Official Scored Rows

BenchmarkRunResult
EvalPlus HumanEval base20260617T164929Z-quick-coding-test-small157/164 = 95.73%
EvalPlus HumanEval+20260617T164929Z-quick-coding-test-small151/164 = 92.07%
BigCodeBench Hard Instruct20260618T031413Z-full-coding-benchmark-large40/148 = 27.03% pass@1

For BigCodeBench, the official model score is the original 148-task row. A later 146-task adjusted subset exists in the local lab for debugging ground-truth issues, but it is not the score used here.

The stored Chadrock 27B Coder quality rows are from a different agent/model lineage, so they are not used as a quality baseline for this Pi Agent release. Add a quality before/after table only when there is an official stored EvalPlus/BigCodeBench run for the matching upstream/source Pi Agent under the same benchmark protocol.

Speed Before / After And Current Profile

The speed comparison below is against the direct upstream/source Pi Agent GGUF, bytkim/Qwen3.6-27B-MTP-pi-tune-GGUF, not a different Chadrock Coder model. These are llama-server API rows from June 17, 2026 on the same Strix Halo host. The current best Chadrock serving profile was selected in a follow-up ROCm tuning pass on June 18, 2026.

The current measured local winner for this Pi Agent release is:

text
ROCm0, split none, q8/q8 target and draft KV, batch 2048, ubatch 512,
draft-mtp n-max 3, p-min 0, p-split 0.10, one slot, reasoning off

Against that upstream/source Pi Agent, the Chadrock ROCmFP4 build improved the published long-prompt row by 1.30x decode speed while also lowering TTFP:

WorkloadUpstream Pi Agent `Q4_K_M`Chadrock Pi Agent ROCmFP4Chadrock delta
short prompt, card/default KV, 512 generated tokens28.20 tok/s, 1111 ms TTFP27.03 tok/s, 874 ms TTFP0.96x decode, 21% lower TTFP
short prompt, f16 KV, 512 generated tokens25.40 tok/s, 922 ms TTFP26.69 tok/s, 854 ms TTFP1.05x decode, 7% lower TTFP
short prompt, q8 KV + MTP n=4, 512 generated tokens24.78 tok/s, 945 ms TTFP26.11 tok/s, 851 ms TTFP1.05x decode, 10% lower TTFP
long prompt, card/default KV, 128 generated tokens18.87 tok/s, 53.72 s TTFP24.52 tok/s, 46.11 s TTFP1.30x decode, 14% lower TTFP

After that upstream/source comparison, the current ROCm tuning pass selected the best Chadrock serving profile. On the same 512-token smoke prompt, moving the Chadrock profile from the older Vulkan device path to ROCm improved generation speed and latency:

Device pathDecodeTTFPPrompt throughputDraft accepted
Vulkan026.94 tok/s900 ms162.62 tok/s332/536
ROCm027.70 tok/s672 ms218.11 tok/s339/514

That ROCm tuning step is a 1.03x decode-speed gain over the Chadrock Vulkan launch path, about 25% lower TTFP, and about 34% higher prompt throughput on the smoke run. It is a local serving-setting improvement on top of the Chadrock-vs-upstream gains above.

For a stricter apples-to-apples high-context check, the same promoted ROCm profile was rerun against the upstream/source Pi Agent on the same harder ~39K-token prompt with two uncached 512-token generations, same ROCm0 backend, same q8/q8 target and draft KV, same b2048/u512, and same MTP n=3 settings:

Model and settingMean decodeMean TTFPMean prompt throughputDraft accepted
upstream/source Pi Agent Q4_K_M, ROCm0 q8/q8 b2048 n316.32 tok/s179.04 s218.05 tok/s711/923
Chadrock Pi Agent ROCmFP4, promoted ROCm profile20.60 tok/s164.13 s237.87 tok/s688/1000

On that matched high-context run, Chadrock is 1.26x faster on decode, has about 8% lower TTFP, and has about 9% higher prompt throughput than the upstream/source Pi Agent.

The same high-context gate also tested harder ROCm variants against the promoted Chadrock profile:

SettingMean decodeMean TTFPMean prompt throughputDraft accepted
promoted ROCm profile20.60 tok/s164.13 s237.87 tok/s688/1000
HSA_ENABLE_SDMA=020.54 tok/s166.14 s234.99 tok/s688/1000
FATTN_V_NTHREADS=4 build20.58 tok/s165.84 s235.40 tok/s688/1000
FATTN_KQ_NTHREADS=2 build20.48 tok/s164.93 s236.72 tok/s688/1000

Those harder ROCm variants did not beat the promoted profile, so they are not used in the recommended command below.

During the official BigCodeBench quality run, the Chadrock server metrics recorded:

MetricValue
peak prompt throughput while active254.069 tok/s
peak decode throughput while active34.8247 tok/s
last active prompt throughput220.612 tok/s
last active decode throughput30.3895 tok/s

These are local benchmark-server measurements, not universal llama.cpp claims. Throughput depends on driver version, clocks, prompt shape, KV cache settings, and MTP acceptance.

Best Settings / Advanced Setup

For the pinned runner build, copy-paste build commands, request-level speculative controls, and the 35B/27B reproduction notes, use the advanced Ciru setup page:

https://llm.ciru.ai/chadrock-rocmfpx/

The current pinned runner build is:

text
ciru-ai/ROCmFPX commit: 7aa484a2f0a504dc612a3d74a068024f3e6d6353
historical score tag: chadrock-rocmfp4-mtp-scores-20260621

For this Pi Agent release, keep the current local winner:

text
backend: ROCm0 target + ROCm0 draft
context: 131072
batch / ubatch: 2048 / 512
target KV: q8_0 / q8_0
draft KV: q8_0 / q8_0
MTP: draft-mtp, n_max=3, n_min=0, p_min=0.0, p_split=0.10
serving: one slot, metrics on, no-thinking mode
sampler: temperature=0.7, top_p=0.8, top_k=20, presence_penalty=1.5
reasoning: off, reasoning_format=none, reasoning_budget=0

This is the profile selected by the June 18 ROCm tuning pass. It is the best fit for Pi-style repository agents because it keeps TTFP low, uses q8 KV for the target and draft paths, and preserves the no-thinking behavior target.

Run With llama-server

Build Charlie's custom llama.cpp once, download the GGUF, and run:

bash
HSA_OVERRIDE_GFX_VERSION=11.5.1 \
GGML_HIP_ENABLE_UNIFIED_MEMORY=1 \
/path/to/rocmfp4-llama/build-strix-rocmfp4/bin/llama-server \
  -m CHADROCK3.6-27B-Pi-Agent-MTP-ROCmFP4-STRIX_LEAN.gguf \
  --alias chadrock3.6-27b-pi-agent-rocmfp4 \
  --host 127.0.0.1 \
  --port 8080 \
  --jinja \
  -c 131072 \
  -ngl 999 \
  -fa on \
  -dev ROCm0 \
  -sm none \
  -b 2048 \
  -ub 512 \
  -t 16 \
  -tb 32 \
  --cache-type-k q8_0 \
  --cache-type-v q8_0 \
  --ctx-checkpoints 0 \

  --checkpoint-every-n-tokens -1 \

  --spec-type draft-mtp \
  --spec-draft-device ROCm0 \
  --spec-draft-ngl all \
  --spec-draft-type-k q8_0 \
  --spec-draft-type-v q8_0 \
  --spec-draft-n-max 3 \
  --spec-draft-n-min 0 \
  --spec-draft-p-min 0.0 \
  --spec-draft-p-split 0.10 \
  --parallel 1 \
  --temp 0.7 \
  --top-p 0.8 \
  --top-k 20 \
  --min-p 0 \
  --presence-penalty 1.5 \
  --seed 123 \
  --metrics

Use --parallel 1 for this MTP profile. Multi-slot serving changes draft-MTP behavior and is not the intended configuration.

Pi Agent Profile

The local Pi-facing model ID is:

text
chadrock3.6-27b-pi-agent-rocmfp4

The profile is configured as a no-thinking agentic coding model:

text
REASONING_MODE=off
REASONING_FORMAT=none
REASONING_BUDGET=0
TEMPERATURE=0.7
TOP_P=0.8
TOP_K=20
PRESENCE_PENALTY=1.5

Point a Pi provider at the OpenAI-compatible llama-server endpoint and use the alias above as the model ID.

Build The Required llama.cpp

bash
git clone https://github.com/ciru-ai/ROCmFPX.git
cd ROCmFPX
git checkout 7aa484a2f0a504dc612a3d74a068024f3e6d6353
env JOBS=16 scripts/build-strix-rocmfp4-mtp.sh llama-server llama-bench

The server binary will be here:

text
build-strix-rocmfp4/bin/llama-server

Files

FileSizeSHA256
CHADROCK3.6-27B-Pi-Agent-MTP-ROCmFP4-STRIX_LEAN.gguf14 GB15f98039eb7da09f743ae6b2f1545ef7059a89af84813d9d510eb8d10e699f68

Credits

  • —[Qwen](https://huggingface.co/Qwen): Qwen/Qwen3.6-27B base model family.
  • —[bytkim](https://huggingface.co/bytkim): Qwen3.6-27B-MTP-pi-tune-GGUF, the direct upstream Pi-tuned GGUF source.
  • —charlie12345 / [@Italianclownz](https://x.com/Italianclownz): ROCmFP4 llama.cpp fork, Strix Halo build path, and AMD-focused MTP runtime work.

Notes

  • —This is a text-generation release. The direct upstream Pi tune can be paired with compatible Qwen3.6 vision sidecars, but this Chadrock profile is configured text-only.
  • —The benchmark table intentionally uses the official 148-task BigCodeBench row and does not promote the adjusted local subset.
  • —The recommended ROCm settings above are the current local winner; harder ROCm compile/runtime variants were tested and rejected because they did not beat the promoted high-context profile.
  • —The Pi Agent tuning goal is agent-loop behavior in no-thinking mode, not maximum offline benchmark score.