/ Модель

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

Контекст
262 144 токена
Размер весов
18,4 ГБ
Лицензия
Apache 2.0
Архитектура
qwen3_5 · dense
Базовая модель
Qwen3.8-9B-Distill
Библиотека
transformers
Опубликована
3 сен 2026

qwen3.8-9b-hermes-fc-clean-restraint

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

Экспериментальная дообученная Qwen3.8-9B для диалогов и планирования вызовов инструментов в формате Hermes.

132скачиваний за 30 дней0лайковвеса обновлены3 сен 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это экспериментальная текстовая модель Jamie Bradfield, дообученная для диалогов и планирования вызовов инструментов в формате Hermes. Она основана на empero-ai/Qwen3.8-9B-Distill; в карточке указаны архитектура семейства Qwen3.5 и 9,20 млрд параметров. Модель принимает текст и выдаёт текст, включая структурированные вызовы инструментов. Визуальная часть базовой архитектуры удалена. Для обслуживания автор указывает контекст 65 536 токенов.

Дообучение QLoRA на 218 синтетических траекториях усилило склонность сначала составлять план todo для многошаговых задач. При этом оценка показала регрессии: модель чаще чрезмерно вызывает инструменты на простых и посторонних запросах, а при продолжении после собственного текста может остановиться вместо вызова инструмента. Результаты первоначального теста использовали синтетический формат запросов, который не совпадает с нативным интерфейсом Hermes; README приводит исправленное сравнение и рекомендует не использовать этот чекпойнт как замену модели для длительных агентных сессий. Лицензия — Apache-2.0.

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

  • исследование планирования todo перед вызовом инструментов
  • проверка поведения модели при вызове инструментов в Hermes
  • сравнение стратегий сдерживания лишних вызовов инструментов
  • эксперименты с продолжением многошагового диалога агента

Ограничения

Модель может чрезмерно вызывать инструменты на простых и посторонних запросах, а при продолжении после собственного текста иногда останавливается вместо вызова инструмента. Первоначальные оценки применяли синтетический интерфейс; для длительных агентных сессий README не рекомендует использовать этот чекпойнт как замену модели по умолчанию.

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

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

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

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

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

Открыть на Hugging Face

Qwen3.8-9B Hermes FC — Clean Restraint (v29 A/B, arm B, experimental)

Addendum 2026-09-03 — evaluation-methodology correction

Read this before you use the numbers below.

After this checkpoint was published, we tested the base model (Empero/Qwen3.8-9B-Distill, no fine-tuning) through the live Hermes interface: the OpenAI-native tools parameter path that Hermes actually uses. The base model calls tools correctly on its own.

The harness that certified this checkpoint did not use that interface. It baked tool schemas into the system text, never passed tools, and required raw <tool_call> XML in the response. That prompt shape matches neither the base model's own chat template nor the live Hermes request path. Every gate score in the v26-to-v29 lineage measured this synthetic interface.

The statement in this README that "the base distill contributes zero tool-calling" is incorrect. It measured the synthetic interface.

Corrected comparison (native tools path, same 4-tool battery, greedy):

modeltier-1 firedtier-1 name=todotier-2 todo-firsttier-3 fired (want 0)tier-4 fired (want 0)
base (no fine-tune)18/2017/203/105/100/10
v28 ckpt-175 (this model)17/2010/208/109/104/10
armB2-175 (clean retrain)10/208/2010/104/100/10

What the fine-tune lineage actually changed: todo-first planning on multi-step tasks (tier-2 name=todo 3/10 base to 8/10 v28 to 10/10 armB2). That is real, and it is the one capability the lineage added. The costs: restraint regressions (tier-3 over-trigger 5/10 to 9/10; tier-4 tool-drift on trivia 0/10 to 4/10) and, in armB2, over-suppression (tier-1 10/20).

Status: the fine-tune program is frozen as of 2026-09-03. The base model is the author's runtime default. This checkpoint stays published as the strongest measured demonstration of SFT-taught todo-first planning in the lineage, and as the artifact that exposed the harness error. The Evaluation section below describes behavior on the synthetic interface; do not read it as native-interface competence.

Reproduction: scripts/native_battery.py + scripts/todo_probes.jsonl

  • scripts/no_drift_probes.jsonl produce the corrected table (any GGUF, CTX=65536 to match the serve config).
  • Base model: Empero/Qwen3.8-9B (Apache-2.0)
  • Warm start: v27 merged weights (qwen3.8-9b-hermes-fc-todo), QLoRA adapter on top (envelope + tool tokens already baked in)
  • Training data: 218 trajectories (ShareGPT format, 551 todo calls), generated by GLM-5.3-Flash via the HuggingFace router on 112 synthetic tasks mined from the author's agent corpus — not the author's own traces:
    • 190 teacher trajectories (85% verified by sandbox execution; failures with recovery injected for 15.8% of rows)
    • 61 rows carry distilled short-chain-of-thought; 159 envelope-only
    • 12 synthetic web-search tasks (first web signal)
    • Full dataset published separately (see hermes-fc-v28-data); probes were kept virgin (zero overlap with generation or training)
  • Method: QLoRA 4-bit, rank 16 / alpha 16, dropout 0, batch 1 x grad-accum 8 (effective 8), lr 2e-4, warmup 0.1, MAX_SEQ 6144, 8 epochs = 214 steps (final loss 0.02085, avg train loss 0.09405)
  • Vocabulary: 248077 → 248079 (2 added tool tokens: <|tool_call|>, <|tool_response|>)
  • Weights: BF16 full merge (13 shards, 18.9 GB, 9.20B params) plus a ROCmFPX quantized GGUF (see companion repo)
  • Architecture note: merge preserves the 15-key MTP (multi-token prediction) head from the base — Qwen3_5ForConditionalGeneration with text_config.vocab_size = 248079. Visual tower dropped (text-only).

Evaluation (50-probe battery, greedy, @ Q4 64k ctx)

Tiers: T1 = 20 real DJLougen todo traces held out of ALL training generations (GT = first todo call). T2 = 10 synthetic multi-step tasks → autonomous todo reach-for. T3 = 10 trivial asks (want 0/10) → over-trigger guard. T4 = 10 off-topic chat asks (want 0 fired, 0 topic drift into fine-tune vocabulary like rocm/quant/llama-swap).

tierv28-175 (control, warm)armB2-175 (this model)
T1 fired17/206/20
T2 fired / fmt-exact8/10 / 4/1010/10 / 10/10
T3 fired (want 0)5/101/10
T4 fired / drift (want 0/0)2/10 / 00/10 / 0

What this model proves (the experiment's result):

  1. Contamination is real and this arm fixes it. v28-175 fires on 2 of 10 off-topic chat probes (learned tool reflex from ~1900 rocm-mention rows in its warm lineage); armB2 fires 0/10 with zero topic drift. Clean base
    • filtered corpus = no tool reflex on chat.
  2. Restraint works. T3 1/10 vs v28's 5/10 — the 87 no-call rows teach when NOT to reach for a tool.
  3. When it fires, it is clean. T2 10/10 with 10/10 format-exact (bare envelopes, no prose wrap) — the best format score in the lineage.
  4. Perplexity on a held-out probe ruler: Q4 1.148 vs Q8 1.145 (the published Q4 quant is effectively lossless).

Known limitation (why this is experimental — read this)

Tier-1 collapse on assistant-final transcripts. When a conversation ends with an assistant narration that in the real trace continued into a todo call, this model emits nothing (<|im_end|> immediately) instead of continuing. 13 of 20 T1 probes end that way; all 13 fail. Root cause (measured): 37% of its training rows end on bare narration (the restraint rows teach "answer in text, then stop"), and 12 of those 20 probes also carry the harness cap message ("maximum iterations… without calling any more tools") — this model obeys it, where v28-175 ignores it and fires anyway.

Live impact: on fresh turns (user ask or tool result → model's next turn) it calls correctly — T2's 10/10 is that shape. The stall only appears when the model is asked to continue from its own prior narration (real traces cut mid-flow, or a truncated continuation).

Fix in training: v29 armB2-r4 adds fused narration+call rows and cap-message rows ending in a proper text summary. When it lands it will be published as the follow-up; this checkpoint exists so the restraint / contamination findings are testable now.

Do not use this as a drop-in replacement for the current default in long agentic sessions without the continuation fix. For general tool use today, prefer qwen3.8-9b-hermes-fc-tooluse (v28). Use this model to test restraint, contamination-free chat, and format cleanliness.

Intended use

Research artifact for experimenters working on tool-call behavior in 9B-class models — not a product. The tool_call XML envelope and tool schemas match the Hermes agent runtime this was trained on. v29 is an ongoing A/B (arm A = v28-175 control, arm B = this clean-base treatment, arm B2 = this checkpoint's retrain lineage).

What this repo contains

  • The BF16 merged weights (this repo)
  • All scripts that produced the model and dataset (scripts/)

Reproducibility

All scripts that produced this model are in scripts/:

filepurpose
build_v26.pyshared helpers (build_system, pad_to_bucket, conv_hash, constants)
filter_legacy_meta.pymeta-keyword filtering of legacy corpora (META_KEYWORDS on first human prompt)
trim_long_rows.pyrow token ceiling (drop >5100 tok rows for the OOM-safe corpus)
build_armb2_corpus.pyarm-B2 assembly: 217 v28-glm + 60 todo_real + 72 todo_condensed + 87 restraint rows
qwen38_train.pyQLoRA train (Unsloth; 214 steps; ckpts 175/200/214)
merge_qwen38_pure.pyshard-streamed BF16 merge (MTP head preserved, vocab patched)
build_todo_probes.pyprobe battery build (T1–T3)
build_no_drift_probes.pytier-4 no-drift probes (10 off-topic asks)
eval_todo_probes.pybattery runner (llama-server, tier-aware scoring incl. drift column)
openai_translate_probe.pyBFCL drop-in check (Hermes XML → OpenAI tool_calls round-trip)

The scripts carry the author's machine paths (F:/models/..., C:/AI/...) and run on this rig's ROCm stack (Unsloth 2026.8.18, torch 2.11 ROCm, RX 7700 XT). The todo_real/todo_condensed rows derive from DJLougen Hermes traces (Apache-2.0); the restraint rows are real no-call asks from the author's own agent sessions — training data is not published (same policy as v26/v27). Zero author-session tool-call traces entered this corpus except through the published DJLougen lineage.

Convert/quantize: llama-rocmfpx fork, convert_hf_to_gguf.py --outtype bf16 → llama-quantize Q4_0_ROCMFP4_FAST (see GGUF repo).

Quantized version

Q4_0_ROCMFP4_FAST GGUF (ROCmFPX, AMD RDNA3 kernels) is published in the companion repo. ROCmFPX quants target AMD ROCm inference; for portable use, convert from the BF16 merge here.

Acknowledgements

Base model and license inherited from empero-ai/Qwen3.8-9B-Distill (Apache-2.0). Teacher trajectories from GLM-5.3-Flash via the HuggingFace router; real traces from DJLougen Hermes traces (Apache-2.0).

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen3_5ForConditionalGeneration
Ревизия весов
2738fa1

0 моделей