jcbtc/chadrock3.6-27b-pi-agent-rocmfp4-mtp
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
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 settingsThe 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
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
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:
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 offAgainst that upstream/source Pi Agent, the Chadrock ROCmFP4 build improved the published long-prompt row by 1.30x decode speed while also lowering 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:
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:
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:
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:
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:
ciru-ai/ROCmFPX commit: 7aa484a2f0a504dc612a3d74a068024f3e6d6353
historical score tag: chadrock-rocmfp4-mtp-scores-20260621For this Pi Agent release, keep the current local winner:
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=0This 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:
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 \
--metricsUse --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:
chadrock3.6-27b-pi-agent-rocmfp4The profile is configured as a no-thinking agentic coding model:
REASONING_MODE=off
REASONING_FORMAT=none
REASONING_BUDGET=0
TEMPERATURE=0.7
TOP_P=0.8
TOP_K=20
PRESENCE_PENALTY=1.5Point a Pi provider at the OpenAI-compatible llama-server endpoint and use the alias above as the model ID.
Build The Required llama.cpp
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-benchThe server binary will be here:
build-strix-rocmfp4/bin/llama-serverFiles
Credits
- [Qwen](https://huggingface.co/Qwen):
Qwen/Qwen3.6-27Bbase 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.
