/ Модель

Характеристики

Контекст
262 144 токена
Размер весов
53,3 ГБ
Лицензия
Apache 2.0
Архитектура
qwen3_5_moe · dense
Базовая модель
Qwen3.6-35B-A3B
Библиотека
transformers
Опубликована
15 июл 2026

Qwen3.6-27B-A3B-Coder

Генерация текстаТекст → текст8 профессий

MoE-модель Qwen для генерации кода с сокращённым набором экспертов и маршрутизацией top-10 по умолчанию.

981скачиваний за 30 дней12лайковвеса обновлены16 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ManniX-ITA/Qwen3.6-27B-A3B-Coder — производная от Qwen/Qwen3.6-35B-A3B модель для генерации программного кода. В исходной MoE-модели число экспертов сокращено с 256 до 184 на слой по карте компетенций, ориентированной на задачи программирования; число активных экспертов сохранено на уровне A3B. В конфигурации по умолчанию задана маршрутизация top-10. По карточке, дообучение и дистилляция не применялись. Модель сохраняет архитектурные компоненты базовой модели, включая vision tower, но в метаданных основная задача указана как text-generation.

Модель предназначена для генерации кода и задач программирования, в том числе на Rust, Java и JavaScript. В карточке приведены результаты HumanEval, LiveCodeBench и MultiPL-E; также сообщается о снижении показателей в отдельных общих и агентных задачах. Лицензия — Apache-2.0. Результаты MultiPL-E измерены с top-8, тогда как опубликованная конфигурация использует top-10; оценка использования инструментов затронута известной ошибкой оценщика и включает safety-critical failures.

Сценарии применения

  • генерация кода по текстовому запросу
  • написание функций на Rust, Java и JavaScript
  • решение задач программирования и бенчмарков кода

Ограничения

В бенчмарках общих рассуждений модель уступает базовой модели по ряду показателей; оценка использования инструментов содержит известное искажение из-за сбоя оценщика и зафиксированные safety-critical failures. Результат MultiPL-E получен с top-8, а не с заданным по умолчанию top-10.

Для каких профессий подходит8

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Qwen3.6-27B-A3B-Coder

A code-specialist expert prune of Qwen3.6-35B-A3B: the MoE is reduced from 256 experts to 184 (72 dropped per layer, ~35B→27B, still A3B active) using a code-targeted competence map (LiveCodeBench + MultiPL-E competence classes). Same router, attention, norms, MTP head and vision tower as the base — only the expert keep-set changes.

Served at top-10 (num_experts_per_tok = 10, baked as the default). This is a routing-recovery lever: after pruning to 184 experts, activating the top-10 (vs the base top-8) recovers instruction-following at no cost to code (see below). No fine-tuning, no distillation — pure expert selection + a routing-width dial.

Recipe

  1. Competence map: the 256e teacher is profiled per-expert on a balanced corpus + targeted LiveCodeBench and MultiPL-E (Rust/Java/JS) PASS-response classes.
  2. Drop map: wmax aggregation with the LCB + MPE classes up-weighted (1.5) → 72/256 experts dropped per layer, protecting the code-competent experts.
  3. Top-10 routing (num_experts_per_tok = 10) baked into the config → the shipped default. Pass --override-kv qwen35moe.expert_used_count=int:8 to any llama.cpp tool to A/B back to native top-8.

Evaluation (Q6_K, llama.cpp, temp 0.6 / top-p 0.95 / top-k 20)

BenchmarkThis modelQwen3.6-35B-A3B (256e)
GPQA-Diamond0.7730.833
MATH-5000.6200.730
AIME0.7330.633
LiveCodeBench (v6, 77q)0.6880.714
IFEval0.7300.960
HumanEval0.9700.970
GSM8K0.9700.960
ARC-Challenge0.9440.935
MultiPL-E (top-8, see note)0.870 ± 0.020.863
Average0.8110.844

Highlights: best code profile of any prune — MultiPL-E 0.870, at parity with the 256e teacher (0.863) on the same measurement, LiveCodeBench 0.688, HumanEval 0.970. Average 0.811 sits within 0.035 of the full teacher despite dropping 72 of 256 experts per layer.

MultiPL-E re-measured, 2026-08-20. This row previously read 0.840 / 0.827. Our chat-reply → function-body extractor had a fallback that cut at the first { in the reply, which ate the opening line of a body-only answer and turned working code into a compile error. Re-scoring the same stored generations with the fixed extractor lifts both columns, concentrated in Java. The defect was in our harness, not in either model.

Two caveats, stated rather than hidden. (1) The cut was measured twice under an identical configuration and scored 0.850 and 0.890 — a 4pp spread on 300 problems. The value above is their mean with that spread as the band; a single MultiPL-E draw at this sample size should not be read to three digits. (2) These runs served the GGUF at its file default of expert_used_count = 8, whereas the published GGUF ships top-10. So this row measures the top-8 routing of the same weights, not the shipped default. A matched top-10 re-measurement is in progress and this row will be replaced when it lands.

Tool-calling benchmark — tool-eval-bench hardmode (88 scenarios, 176 pts)

A3B-Coder scores 123.2 ±2.3 of 176 — last of the ten models in this cohort. That is the measured result and it is reported here unmodified, but two things must be read with it.

First, this model is the one most damaged by a scorer defect in the harness version used. tool-eval-bench v2.6.0 crashes scoring TC-62 and records FAIL/0 while keeping the scenario in the denominator (details below). A3B-Coder hits that crash on all five seeds — more than any other model in the cohort — and later harness commits credit the behaviour the crash discards. A corrected re-run would raise this figure; by how much is not known, and no adjusted number is published here because it has not been measured.

Second, this is a coding-specialised prune, evaluated on general agentic tool use. The profile is consistent with that: Parameter Precision 6/6 (100%), Creative Composition 6/6, Toolset Scale 7.4/8 (92.5%), Structured Output 10.8/12 (90%) — the mechanics of calling tools correctly are intact. What falls away is the long-horizon agentic layer: Autonomous Planning 2.4/6 (40.0%) and Hard Mode 16.8/38 (44.2%), both last in the cohort.

If you want this lineage with agentic tool use intact, use A3B-CoderX instead: same family, +14.2 pts (137.4), with Hard Mode 24.6/38 vs 16.8/38.

15 safety-critical failures across five seeds (TC-31, TC-34, TC-60 on every seed).

Tool-calling benchmark

Full cohort

modelquantTotal Points (mean, 5 seeds)95% CIsafety-critical (5 seeds)
Qwen3.8-27B-Omnimerge-v6Q4_K_M156.4 ±3.5[152.0, 160.8]3
Qwen3.8-27B (base)UD-Q4_K_M150.8 ±2.5[147.7, 153.9]9
Ornith-1.5-35BIQ4_XS146.2 ±2.6[143.0, 149.4]10
Qwen3.6-27B-Omnimerge-v4Q4_K_M146.2 ±2.7[142.9, 149.5]16
Qwen3.6-27B (base)Q4_K_M144.0 ±3.4[139.8, 148.2]14
Qwen3.6-35B-A3B (base)IQ4_XS141.6 ±2.4[138.6, 144.6]15
Qwen3.6-27B-A3B-CoderXQ4_K_M137.4 ±4.9[131.3, 143.5]17
Ornith-1.5-27B-A3B-CoderIQ4_XS136.8 ±4.8[130.9, 142.7]12
Ornith-1.5-27B-A3B-CoderXIQ4_XS134.0 ±2.5 *[130.8, 137.2]14
Qwen3.6-27B-A3B-CoderQ4_K_M123.2 ±2.3[120.4, 126.0]15

* one seed (s42) is graded on 174 pts, not 176 — see that model's card.

  • Scorer: tool-eval-bench v2.6.0 (the pip/uv-installed package, verified via tool_eval_bench.__file__, not a git checkout). An earlier note in the runner claimed cf54b4b (v2.6.0-45); that is wrong and has been corrected — no cell ever ran it. All 50 cells ran the same v2.6.0, so the cohort is internally consistent.
  • v2.6.0 carries a known scorer crash on TC-62. email_calls[-1] raises IndexError when a model sent no valid CFO email; the orchestrator catches it and returns FAIL / 0 points while keeping the scenario in the denominator. It hits 11 of 38 scored cells, 2 pts each, and it is not neutral — it concentrates on the weakest models. Later harness commits credit that behaviour instead, so a fixed scorer would raise affected scores, unevenly.
  • 5 paired seeds [42–46], 64k context, context-pressure 0.25, max 8 turns, 120 s timeout, thinking enabled, sampler temp 0.6 / top-p 0.95 / top-k 20 (not greedy).
  • Served on llama.cpp b1788384120-c588c4f47 with MTP speculative decoding enabled (nextn=YES spec=mtp), one model per GPU, sequential.
  • Quant tiers are not uniform across the cohort (Q4_K_M for the Omnimerge/A3B rows, IQ4_XS for Ornith and 35B-A3B, UD-Q4_K_M for the Qwen3.8 base). Cross-row gaps therefore carry a quantisation component and are not purely architectural.
  • Do not pool these with the r/LocalLLaMA published tool-eval-bench figures: those were run at 256k context and are a different basis despite the shared scorer version.

Verbosity / rumination (length breakdown per eval)

Aggressive expert pruning makes the model verbose on open-ended reasoning — it over-thinks before answering. This is largely inherited from the base (the 256e teacher does the same on GPQA/AIME) and is bounded by the generation cap; it does not affect the code benches, which have a natural termination anchor.

Response length in characters (content + reasoning), this model vs the 256e teacher; runaway = responses > 20k chars (of 100, or 30/198 for GPQA, 30 for AIME):

Benchmarkp50p90maxrunaway256e runaway
GPQA13.8k58.8k129k5858 (same)
AIME52.9k85.5k96k2529
IFEval12.1k56.2k81k3011
MATH-5002.3k14.5k76k912
GSM8K2.5k12.5k108k63
ARC1.4k2.3k59k70
HumanEval0.8k1.4k24k12
LiveCodeBench / MultiPL-E— code path —tighttight

Reading it: GPQA/AIME verbosity is essentially the base model (58 vs 58, 25 vs 29). Only IFEval shows prune-added rumination (30 vs 11) — the trade for the code-targeted drop map. Code and math-with-boxing tasks terminate cleanly. If you want tighter output, a repetition/length penalty at serve time (or top-8 via the override above) reduces the tail.

Reasoning budget and thinking stop phrase (llama.cpp)

Qwen 3.6 reasons at length by design, and on a hard prompt it can consume the whole context window before it answers. llama.cpp can bound the thinking block with a sampler, and — the part that actually matters — tell the model why the block is being closed.

Needs llama.cpp b8508 or newer for the flags, b10091 or newer for the per-request overrides.

Serve with a bounded thinking block

llama-server -m Qwen3.6-27B-A3B-Coder-Q4_K_M.gguf -c 32768 -ngl 99 \
    --jinja \
    --reasoning-budget 8192 \
    --reasoning-budget-message $'\n\nConsidering the limited time by the user, I have to give the solution based on the thinking directly now.\n' \
    --temp 0.6 --top-k 20 --top-p 0.95
flagmeaning
--reasoning-budget N-1 unrestricted (default), 0 close the block immediately, N > 0 cap it at N tokens
--reasoning-budget-messagetext written into the block just before the closing tag is forced
--jinjarequired — the delimiters come from the chat template (<think> … </think>). Without it llama.cpp has no tags to count and the budget silently does nothing

Both flags also read from the environment: LLAMA_ARG_THINK_BUDGET and LLAMA_ARG_THINK_BUDGET_MESSAGE.

--reasoning-format is not part of this. It only decides how the thinking is handed back — message.reasoning_content versus left inline in message.content — and never whether the budget is enforced: the delimiters the sampler counts are set by the chat template regardless, so the cap binds under auto, deepseek and none alike. The default auto already extracts reasoning and is behaviourally identical to deepseek (they differ only in name; the sole branch in the parser is != none). Leave it at the default so the model's own tool-call and channel handling stays in play, and pin deepseek only when a harness needs the thinking kept out of content.

--reasoning-budget on its own forces the closing tag the moment the budget runs out, wherever the model happens to be. When that lands mid-thought the model frequently does not register that it was interrupted: it carries on reasoning, now inside the visible answer. The stop phrase is what prevents that — it gives the model a reason to be finishing.

Two wordings that work

# "qwen" — the string Qwen's own service uses, from their docs
--reasoning-budget-message $'\n\nConsidering the limited time by the user, I have to give the solution based on the thinking directly now.\n'

# "voice" — shorter, in the model's own reasoning voice
--reasoning-budget-message $'\n\nOK, I have enough to answer now.\n'

Wording is model-specific: Qwen note that the ability to act on such a message "is not explicitly trained but emerges naturally", so it is worth trying both on your own workload. Leading and trailing newlines matter — they keep the phrase off whatever half-finished line the cut landed on.

What it measures out to

Measured on the Qwen3.6-35B-A3B base this model is pruned from. Three hard questions, temperature 0.6, fixed seed, answer characters with wall time in brackets. Every run answered all three correctly, and thinking length is unchanged by the message in every row:

budgetno messageqwenvoice
20481907 (69 s)1838 (42 s)1615 (41 s)
409618015 (170 s)2642 (78 s)1441 (104 s)
81923642 (158 s)1848 (129 s)2023 (175 s)

The 4096 row is the failure this exists for: the cap lands mid-thought and the reasoning simply continues in the answer, ten times longer and 2.2x the wall time, for the same three correct answers. Both phrases remove it.

Per request, instead of per server

The server accepts both as request fields, overriding the command line:

{
  "messages": [ ... ],
  "thinking_budget_tokens": 8192,
  "reasoning_budget_message": "\n\nOK, I have enough to answer now.\n"
}

On the raw /completion endpoint the delimiters are not inferred, so they have to be supplied with the budget:

{
  "prompt": "...",
  "reasoning_budget_tokens": 8192,
  "reasoning_budget_start_tag": "<think>",
  "reasoning_budget_end_tag": "</think>",
  "reasoning_budget_message": "\n\nOK, I have enough to answer now.\n"
}

On b10091 the message field must be present on /completion requests even when empty: llama.cpp builds the sequence it forces from message + end_tag inside that field's handler, so omitting it leaves the budget with nothing to force — the sampler logs as though the cap fired while the thinking block stays open.

Rules of thumb

  • Keep -c several times larger than the budget. A budget equal to the context lets the thinking phase fill the window on its own.
  • A quarter of the context is a sensible starting point: 8192 at -c 32768.
  • Qwen recommend keeping a thinking budget above 1024 tokens; below that the cap tends to land before the model has committed to an approach.
  • The budget is per thinking block, not per response — the sampler re-arms when it sees a new opening tag, so a multi-turn agent gets a fresh window each time.

Formats

  • GGUF (this repo family): full imatrix quant sweep (Q8_0 → IQ2, plus ContribDynamic CD-* per-layer quants) in Qwen3.6-27B-A3B-Coder-MTP-GGUF. Includes the native MTP head (speculative decoding) and a -vision mmproj for multimodal use. imatrix.dat archived in-repo.
  • Ollama: mannix/qwen3.6-27b-a3b-coder (text) and …-vision tags (with mmproj).

Notes

  • Top-10 is baked as the default; the model was selected and evaluated at top-10.
  • Same tokenizer, chat template, MTP head and vision tower as the base.
  • Research checkpoint. Verbosity on open-ended prompts is a known, base-inherited trait.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3_5MoeForConditionalGeneration
Ревизия весов
5d32378

0 моделей