How to use from
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 AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
# Run inference directly in the terminal:
llama cli -hf AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
# Run inference directly in the terminal:
llama cli -hf AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-app
# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama serve -hf AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
# Run inference directly in the terminal:
./build/bin/llama cli -hf AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
Use Docker
docker model run hf.co/AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp:BF16
Quick Links

Qwen3.5-9B on AX8860 (llama.cpp + ggml-axera)

ๅœจ็ˆฑ่Šฏ AX8860 ็š„ NPU ไธŠ็”จ llama.cpp ่ฟ่กŒ Qwen3.5-9B๏ผšๆ–‡ๆœฌ + ๅ›พๅƒ่พ“ๅ…ฅ๏ผŒOpenAI ๅ…ผๅฎนๆœๅŠกใ€‚ Qwen3.5-9B on the Axera AX8860 NPU with llama.cpp: text + image input, OpenAI-compatible server.

ๆ€ง่ƒฝ / Performance

decode 43.7 tokens/s
decode๏ผŒMTP ่‡ช้€‚ๅบ” / adaptive MTP ๆœ€้ซ˜ / up to 76.6 tokens/s๏ผˆ1.75x๏ผ‰
4k prompt๏ผŒMTP / MTP on 4k 41.2 โ†’ 68.1 tokens/s๏ผˆ1.65x๏ผŒaccepted 44/57๏ผ‰
4k prompt prefill 2959 tokens/s๏ผˆ3908 token 1.32 s๏ผ‰
ไธŠไธ‹ๆ–‡ / context ๆœ€้•ฟ / up to 262144

MTP ๅฏ้€‰๏ผˆMTP=1 ./run.sh -s ่‡ช้€‚ๅบ”๏ผŒMTP=force ๅผบๅˆถ๏ผŒ้ป˜่ฎคๅ…ณ้—ญ๏ผ‰/ optional MTP (MTP=1 ./run.sh -s adaptive, MTP=force forced, off by default):

ๅ†…ๅฎน / content ๆ™ฎ้€š / plain ้ป˜่ฎค / adaptive ๅผบๅˆถ / forced ๅŠ ้€Ÿ / speed-up ๆŽฅๅ—็އ / accept๏ผˆๅฏ็”จๆ—ถ / when active๏ผ‰
ไปฃ็  / code 43.6 58.7 61.9 1.35x 0.595
ไธญ่ฏ‘่‹ฑ / translation 43.0 67.9 64.1 1.58x 0.691
Markdown ่กจๆ ผ / table 43.7 76.6 77.1 1.75x 0.816
ๆ•ฐๅญฆ่งฃ้ข˜ / maths 43.5 66.3 66.0 1.52x 0.667
ไธญๆ–‡็Ÿญๆ–‡ / Chinese essay 43.7 43.4 47.3 0.99x 0.369
่‹ฑๆ–‡ๆ•…ไบ‹ / English story 43.4 42.3 47.3 0.97x 0.376
ไปฃ็ ๏ผŒๆŽจ่้‡‡ๆ ท / code, sampled 42.7 42.1 39.4 0.98x 0.444
ไธญๆ–‡็Ÿญๆ–‡๏ผŒๆŽจ่้‡‡ๆ ท / essay, sampled 43.2 42.9 28.7 0.99x 0.267
Linux ๅ‘ฝไปคๅˆ—่กจ / list 43.1 54.2 55.1 1.26x 0.500
ไธญๆ–‡่งฃ้‡Š / explanation 42.8 43.2 50.5 1.01x 0.433

ๅ•ไฝ tokens/s๏ผ›ๆฏ้กนๆœ€ๅคš็”Ÿๆˆ 256 token๏ผŒๆœชๆณจๆ˜Ž็š„ไธบ่ดชๅฟƒ่งฃ็  / tokens/s; up to 256 tokens each, greedy unless noted.

sh bench.sh ๅค็Žฐ / reproduce๏ผˆ็”Ÿๆˆ 128 token / 128 generated tokens๏ผ›็Ÿญ prompt ไป…ๅˆ—่€—ๆ—ถ / short prompts report time only๏ผ‰๏ผš

prompt -c prompt ่€—ๆ—ถ / time decode tokens/s
5 token 8192 0.11 s โ€”
47 token 8192 0.11 s โ€”
3908 token 8192 1.32 s 41.9
5 token 262144 0.11 s โ€”
47 token 262144 0.11 s โ€”
3908 token 262144 1.31 s 41.5
3908 token๏ผŒๆŽจ่้‡‡ๆ ท / sampled 8192 1.32 s 41.5

ๅฟซ้€Ÿๅผ€ๅง‹ / Quick start

sh run.sh "The capital of France is" 64           # ๆ–‡ๆœฌ / text
sh run.sh -i bus.jpg "Describe this image." 256   # ๅ›พๅƒ / image
sh run.sh -c                                      # ๅ‘ฝไปค่กŒๅฏน่ฏ / chat
sh run.sh -s 8080                                 # OpenAI ๅ…ผๅฎนๆœๅŠก / server
MTP=1 sh run.sh -s 8080                           # ่‡ช้€‚ๅบ” MTP / adaptive MTP
MTP=force sh run.sh -s 8080                       # ๅผบๅˆถ MTP / forced MTP
CTX=131072 sh run.sh -s 8080                      # ้•ฟไธŠไธ‹ๆ–‡ / long context (default 16384)
sh bench.sh                                       # ๆ€ง่ƒฝๅค็Žฐ / benchmark

้œ€่ฆ AX8860๏ผŒSDK V0.5.1 ๆˆ–ๆ›ดๆ–ฐ๏ผ›HF ไธ‹่ฝฝ็š„ๆ–‡ไปถๆฒกๆœ‰ๆ‰ง่กŒๆƒ้™๏ผŒ็”จ sh ่ฐƒ็”จๅณๅฏ / needs an AX8860 with SDK V0.5.1+; call the scripts with sh.

ๆ–‡ไปถ / Files

ๆ–‡ไปถ / File ่ฏดๆ˜Ž / Description
qwen3.5-9b-mxfp4.gguf ๆจกๅž‹ๆƒ้‡ / weights๏ผŒ6.00 GB๏ผŒmd5 57b4b4b8fe3e7d05af29019438e5369a
mmproj-qwen3.5-9b-bf16.gguf ่ง†่ง‰็ผ–็ ๅ™จ / vision encoder๏ผŒ921 MB๏ผŒmd5 69d1a645084d0f31d4296a82dce991cf
bin/ llama.cpp ๆฟ็ซฏ็จ‹ๅบ๏ผˆ้™ๆ€้“พๆŽฅ๏ผ‰/ board programs (static)
kernels/ NPU kernel + manifest.json
run.sh๏ผŒchat_template.jinja ่ฟ่กŒ่„šๆœฌไธŽๆœๅŠก็ซฏๅฏน่ฏๆจกๆฟ / run script and the server's chat template
bench.sh ๅŠ prompt ๆ€ง่ƒฝๅค็Žฐ / benchmark
scenes/ 10 ไธช MTP ๅœบๆ™ฏ่ฏทๆฑ‚ / 10 MTP scene requests
MTP.md ๅฏ้€‰ MTP ็”จๆณ• / optional MTP usage

่ฏดๆ˜Ž / Notes

  • MTP ๅฏ้€‰๏ผšMTP=1 ./run.sh -s ่‡ช้€‚ๅบ”ๅผ€ๅฏ๏ผŒMTP=force ./run.sh -s ๅผบๅˆถๅผ€ๅฏ๏ผ›MTP ๅผ€ๅ…ณไธๆ”นๅ˜้‡‡ๆ ทๅ‚ๆ•ฐใ€‚่ดชๅฟƒ่ฏทๆฑ‚้กปๆ˜พๅผๅธฆ presence_penalty: 0๏ผŒๅฆๅˆ™ๆœๅŠก็ซฏๆŽจ่็š„ presence penalty ไผšๅ…ณ้—ญ fused greedy๏ผŒ่‡ช้€‚ๅบ” MTP ไธไผš็”Ÿๆ•ˆ / optional MTP: MTP=1 ./run.sh -s enables it adaptively and MTP=force forces it, without changing sampling. Greedy requests must set presence_penalty: 0; otherwise the server's recommended presence penalty disables fused greedy and adaptive MTP stays dormant.
  • ๆœๅŠก็ซฏ้ป˜่ฎคไฝฟ็”จๆจกๅž‹ๅกๆŽจ่็š„้‡‡ๆ ทๅ‚ๆ•ฐ๏ผŒๆ–‡ๆœฌ่กฅๅ…จไธŽๅ›พๅƒๆ่ฟฐไธบ่ดชๅฟƒ่งฃ็  / the server uses the model card's recommended sampling; completion and image description are greedy.
  • ๆœๅŠก็ซฏ้ป˜่ฎคๅ…ณ้—ญๆ€่€ƒ๏ผˆ--reasoning off๏ผ‰๏ผŒๅนถๅ…่ฎธๅฏน่ฏไธญๆฎต็š„ system ๆถˆๆฏ๏ผˆCodex ็ญ‰ agent ๅฎขๆˆท็ซฏๅฏ็”จ๏ผ‰/ the server does not think by default and accepts a mid-conversation system message (works with agent clients such as Codex).
  • Prompt cache ้ป˜่ฎคๆ”พๅœจ 4 GB ๅ†…ๅญ˜๏ผ›่ฎพ็ฝฎ CACHE_DIR=<SSD ็›ฎๅฝ•> ๅฏ่ฝ็›˜๏ผŒ้‡ๅฏๅŽไป่ƒฝๅ‘ฝไธญ / the prompt cache lives in 4 GB of host memory; set CACHE_DIR=<an SSD directory> to keep it on disk across restarts.
  • ่ฟ่กŒๆ—ถ็‹ฌๅ  NPU 4 ๆ ธ๏ผ›ๆœๅŠก็ซฏ -np 1 / takes all 4 NPU cores; the server runs -np 1.
  • llama-bench ๅฏ็”จ๏ผŒ่ฏทๅŠ  -b 4096 -ub 4096 / llama-bench works; pass -b 4096 -ub 4096.
  • ไธชๅˆซ็Žฏๅขƒไธ‹่ฟž็ปญ่ฏทๆฑ‚ๅถๅ‘ ret = -3๏ผŒ้‡่ฏ•ๅณๅฏ / in rare cases a back-to-back request fails with ret = -3; retry it.

ๆญฃ็กฎๆ€ง / Correctness

  • PPL๏ผš2-chunk๏ผˆppl_zh.txt๏ผ‰-ub 1 20.8654ใ€-ub 4 20.8061๏ผ›20-chunk๏ผˆppl_zh_long.txt๏ผ‰-ub 1 23.7616ใ€-ub 4 23.7930 / PPL: 20.8654 (-ub 1) and 20.8061 (-ub 4) over 2 chunks; 23.7616 and 23.7930 over 20 chunks.
  • "The capital of France is" โ†’ "Paris. โ€ฆ"๏ผ›ๅ›พๅƒๆ่ฟฐๆญฃ็กฎ๏ผˆ่ฝฆ่พ†ใ€ๆ–‡ๅญ—ใ€ไบบ็‰ฉ๏ผ‰/ text and image descriptions correct.
  • ๆฟ็ซฏ bin ๆ›ดๆ–ฐๅŽ่พ“ๅ‡บไธŽไธŠไธ€็‰ˆไธ€่‡ด๏ผ›MTP ็š„่‰็จฟ็”ฑ็›ฎๆ ‡ๆจกๅž‹้€ token ้ชŒ่ฏ๏ผŒ่ดชๅฟƒ่พ“ๅ‡บไธŽๆ™ฎ้€š่งฃ็ ไธ€่‡ด / output matches the previous release after the board-bin update; every MTP draft is verified by the target model and greedy output equals plain decoding.

ๆบ็  / Sources

ๆ›ดๆ–ฐ / Changelog

  • 2026-11-09๏ผš9B ๅขžๅŠ ๅฏ้€‰ MTP๏ผˆ256k kernels๏ผ‰๏ผ›็ปŸไธ€ๆฟ็ซฏ bin๏ผ›่ดชๅฟƒๅœบๆ™ฏๆ˜พๅผ presence_penalty: 0๏ผ›perplexity ๅ›บๅฎš่ตฐๅ…จ logits / optional 9B MTP with 256k kernels, unified board bins, explicit presence_penalty: 0 in greedy scenes, perplexity keeps the full-logits head.
Downloads last month
403
GGUF
Model size
9B params
Architecture
qwen35
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp

Finetuned
Qwen/Qwen3.5-9B
Quantized
(713)
this model

Collection including AXERA-TECH/Qwen3.5-9B-AX8860-llama.cpp