/ Модель

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

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

qwen3.8-9b-hermes-fc-todo

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

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

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Qwen3.8-9B Hermes FC Todo — экспериментальная текстовая модель JamieBradfield для диалогов с инструментами и планирования задач в среде Hermes. Она дообучена методом QLoRA на базе empero-ai/Qwen3.8-9B-Distill, с промежуточными весами предыдущей версии серии и примерами вызовов todo-инструмента. Модель рассчитана на выбор todo-действий в новых многошаговых задачах и работу с циклами проверки и обновления списка дел.

Модель имеет плотную архитектуру Qwen3.5 с классом Qwen3_5ForConditionalGeneration и примерно 9,20 млрд параметров; визуальная часть базовой модели удалена, поэтому модель принимает и выдаёт текст. В карточке указана лицензия Apache-2.0. README описывает улучшение планирования с приоритетом todo в многошаговых задачах, но также сообщает о регрессиях: избыточных вызовах инструментов и отклонениях от нужного инструмента. Приведённые оценки получены на искусственном интерфейсе, который не соответствует нативному пути вызова инструментов Hermes; автор считает целевой версией серии v28 и заморозил программу дообучения.

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

  • планирование многошаговой задачи через список дел
  • создание и обновление задач с помощью Hermes-инструментов
  • проверка результата выполнения todo-действий
  • исследование вызова инструментов в моделях класса 9B

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Qwen3.8-9B Hermes FC — Todo

A QLoRA continue-tune of the v26 balanced model (qwen3.8-9b-hermes-fc-balanced), trained with a focused dose of real todo-tool trajectories plus a condensation experiment. This is the model that falsified the "sub-10B models cannot learn interactive state tools via SFT" claim (Gemini Deep Research §5): pure QLoRA SFT with 393 todo-call demos taught autonomous todo reach-for on novel multi-step tasks.

  • Base model: Empero/Qwen3.8-9B (Apache-2.0)
  • Warm start: v26 merged weights (qwen3.8-9b-hermes-fc-balanced), QLoRA adapter on top (envelope + tool tokens already baked in)
  • Training data: 1,706 rows in ShareGPT format, 393 todo calls:
    • 1,543 v26 rows (real Hermes trajectories + SWE-rebench + APIGen + When2Call)
    • 72 real todo-loop rows (DJLougen agent traces, native Hermes XML envelopes, validate→mutate→verify feedback loops; todo-real band)
    • 72 condensed system-prompt rows (same todo loops, ~90-token system stub instead of the full 6.3K–25.9K-char prompt; todo-real-condensed band)
    • 19 todo gap-fill rows (gapfill-todo band: todo + session_search / lcm_recall / lcm_grep variants)
  • 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, 1 epoch = 214 steps (final loss 0.1822)
  • Vocabulary: 248077 → 248079 (2 added tool tokens: <|tool_call|>, <|tool_response|>)
  • Weights: BF16 full merge (12 shards, 18.4 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).

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 (todo-probe battery, greedy, todo schema in every prompt)

40 probes, 3 tiers: Tier 1 = 20 real DJLougen todo trajectories held out of training (hash-exact, zero leakage; GT = first todo call). Tier 2 = 10 synthetic multi-step tasks (refactor+tests+docs, CI setup, release prep) → autonomous todo reach-for. Tier 3 = 10 trivial asks (want 0/10) → over-trigger guard.

tiermodelfiredname=todotodos_okformat_exact
T1 (real, held-out)v2613/2010/2010/206/20
T1v27 (this model)13/2011/2011/200/20
T2 (novel multi-step)v269/103/101/101/10
T2v279/107/107/103/10
T3 (trivial, want 0)v267/101/101/103/10
T3v275/101/101/102/10

Headline: Tier-1 held-out fidelity held (13/20 = 13/20, name 10→11), and tier-2 autonomous todo reach-for moved 3→7 name=todo / 1→7 todos_ok — the swing metric. 393 SFT demos taught a novel multi-step task to reach for the todo tool without any RLVR. Tier-3 over-trigger improved 7→5 but is not zero (remaining fires are mostly other tools on trivial asks — generic tool-calling eagerness, not todo-specific).

format_exact caveat (important): the format column demands envelope-only output (^\s*<tool_call>.*?</tool_call>\s*$). v27 scores 0/20 on tier 1 not because its envelopes are malformed — full-output inspection shows it emits perfect envelopes but entire multi-turn agentic loops in one completion (<tool_call>todo</tool_call> → simulated user <tool_response> → next <tool_call>search_files</tool_call> → …). That is the DJLougen validate→mutate→verify curriculum behaving as intended, and the live harness parses it fine; it just fails the envelope-only regex.

The base distill contributes zero tool-calling (0/45 old eval); the entire capability comes from the fine-tune.

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. This is an intermediate milestone in an iterative recipe series (v1 → v2 → v25 → v26 → v27 → v28); v28 is the target default.

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/:

filepurposenumber it produced
build_v26.pybase dataset build (imported by v27 builders for build_system, pad_to_bucket, conv_hash, constants)shared helpers
build_v27_todo_real.pyDJLougen trace extractor: event-stream parse, think-block strip, inline tool_call/tool_response split, todo truncation bypass, windowing → 72 rowstodo-real band
build_v27_condensed.pysame 72 rows with ~90-token system stub → 72 rowstodo-real-condensed band
assemble_v27.pyfinal blend: v26 base + gapfill-todo + todo-real + condensed → 1,706 rowsrow count, mix
add_todo_gapfill.pysynthetic todo gap-fill rows (todo + recall tools)gapfill-todo band
gate_v27.pyJSON validity gate over the assembled set1,706 valid rows
qwen38_train_v27.pyQLoRA continue-train via Unsloth (1 epoch, 214 steps, loss 0.1822)training loss/steps
merge_qwen38_v27_pure.pyshard-streamed BF16 merge (pure torch; MTP head preserved; vocab patched)12 shards / 18.4 GB
build_todo_probes.py40-probe battery build (T1 held-out / T2 multi-step / T3 trivial)the table above
eval_todo_probes.pyprobe battery runner (llama-server on 9088, tier-aware scoring)the table above
eval_fc_heldout.py + convert_hf_hermes.py45-probe held-out eval + HF-conversion helper (kill-servers pattern source)legacy eval, import support
probe_v27_full.pyfull-output runner (why format_exact=0 is loop-gen, not malformed XML)caveat above

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); adjust paths for your environment.

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 format, AMD RDNA3 kernels) is published in the companion repo. ROCmFPX quants target AMD ROCm inference; for portable use, convert from the BF16 merge here.

Training data note

The training data itself is not published. The rows derive from the author's own agent sessions plus DJLougen Hermes traces (Apache-2.0), and some rows contain private strings (hostnames, session identifiers). The scripts that build the dataset are published; the data is not. The weights do not contain those strings.

Acknowledgements

Base model and license inherited from Empero/Qwen3.8-9B (Apache-2.0). Training data derived from the author's own Hermes agent sessions plus publicly-licensed teacher sources (SWE-rebench, APIGen-MT-5k, When2Call, DJLougen/hermes-agent-traces-filtered).

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей