How to use from
Hermes Agent
Start the llama.cpp server
# Install llama.cpp:
brew install llama.cpp
# Start a local OpenAI-compatible server:
llama serve -hf Rob1234567/qwen3.5-4b-ariadna-grpo-v1:Q4_K_M
Configure Hermes
# Install Hermes:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hermes setup
# Point Hermes at the local server:
hermes config set model.provider custom
hermes config set model.base_url http://127.0.0.1:8080/v1
hermes config set model.default Rob1234567/qwen3.5-4b-ariadna-grpo-v1:Q4_K_M
Run Hermes
hermes
Quick Links

Qwen3.5-4B Ariadna GRPO v10

GRPO-дообученная модель для объяснения ML-концептов. Основана на qwen3.5-4b-ariadna-sft-v1.

🔗 GGUF (для llama.cpp): qwen3.5-4b-ariadna-grpo-v1-gguf — Q4_K_M-квантизация и сравнительные бенчмарки v1 vs v10.

Пайплайн: CPT → SFT → GRPO

Этап Метод Данные Результат
CPT Полный файнтюн, LR=1e-5 85M токенов (124K концептов arXiv) ariadna-cpt-v1
SFT LoRA r=64, инструкционный формат Те же данные, диалоговый формат ariadna-sft-v1
GRPO v10 GRPO K=8, 3-уровневый + GRM 1000 концептов с эталонными определениями ariadna-grpo-v1

Архитектура GRPO v10

  • K=8, LR=5e-7, beta=0.01, temperature=1.3, entropy bonus=0.001
  • 3-уровневая награда (по мотивам KAT-Coder-V2.5):
    1. Основная задача (35%): совпадение заголовка + >=2 специфичных термина
    2. Ограничения (20%): краткость, структура, отсутствие мусора
    3. GRM (45%): модельная награда через лог-вероятность эталонного определения
  • 800 шагов на H100 80GB (~9.5 часов)
  • Итоговая награда: 0.71, GRM-оценка: 0.98
  • Групповое относительное преимущество с фильтрацией нулевой дисперсии

Оценка: SFT против GRPO

Тест SFT GRPO v3 (без GRM) GRPO v10 (с GRM)
Объяснение (T=0, 10 концептов) 18% kw 18% kw (= SFT)
Классификация (T=0, 20 концептов) 70% 60% (-10 п.п.)
Агентный харнесс (12 запросов) 58% —*

*GGUF-версия GRPO v10 требовала отладки совместимости с llama.cpp. Прямой тест через transformers подтверждает полную работоспособность.

Ключевой вывод: GRM (модельная награда) обеспечивает качественный сигнал награды, но не является механизмом защиты памяти. Без GRM — -10 п.п. (ручные правила дают нестабильный сигнал). С GRM — качество SFT сохранено на базовых понятиях, но catastrophic forgetting редких терминов сохраняется (−4 п.п. на хард-тесте GGUF).

Системное тестирование GGUF v1 (SFT) против v10 (GRPO) — 2026-07-17

Прямое сравнение через llama-server на 100 вопросах (50 базовых + 50 редких из библиотеки статей).

Базовый тест: 50 фундаментальных терминов ML/AI

Метрика V1 (SFT) V10 (GRPO)
Осмысленных ответов 40/50 (80%) 43/50 (86%)
Средняя длина ответа 98 слов 106 слов
Среднее время ответа 2781 мс 2584 мс

Хард-тест: 50 редких/специализированных терминов (из библиотеки arXiv-статей)

Метрика V1 (SFT) V10 (GRPO)
Осмысленных ответов 36/50 (72%) 34/50 (68%)
Средняя длина ответа 74 слов 73 слов
Среднее время ответа 2712 мс 2876 мс

📄 Отчёт: базовый тест (PDF)
📄 Отчёт: хард-тест (PDF)

Ключевой инсайт: GRPO улучшает базовые понятия (+6 п.п.) за счёт структурирования ответов, но вызывает катастрофическое забывание редких терминов (−4 п.п.). Механизм: group-relative advantage в GRPO даёт частотным паттернам систематически более высокие преимущества, вытесняя редкие знания. GRM (модельная награда) обеспечивает качественный сигнал, но не является механизмом памяти и не предотвращает forgetting. Баланс между оптимизацией популярных паттернов и сохранением редких — открытая проблема GRPO-посттренинга. Рекомендация: v10 для оперативных запросов, v1 для глубоких доменных вопросов по редким концептам.

Технический отчёт

📄 GRPO_v10_Technical_Report.pdf — полный отчёт:

  • Курирование данных (Ariadna v4.0, 122K концептов, 14 типов)
  • Пайплайн CPT → SFT → GRPO
  • 5 итераций GRPO с графиками
  • Прямые тесты SFT vs GRPO
  • Анализ отказов (grpo-failure-analysis)
  • Развёртывание в агентном харнессе Claude Code

Использование

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    "Rob1234567/qwen3.5-4b-ariadna-grpo-v1",
    torch_dtype="auto",
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
    "Rob1234567/qwen3.5-4b-ariadna-grpo-v1",
    trust_remote_code=True
)

prompt = "Attention Mechanism — это"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=80, temperature=0.7)
print(tokenizer.decode(outputs[0]))

GGUF

Квантизация Q4_K_M (2.6 ГБ) доступна здесь: qwen3.5-4b-ariadna-grpo-v1-gguf — с полными результатами сравнительного тестирования v1 (SFT) vs v10 (GRPO).

Код

Скрипты обучения и тесты: github.com/romannekrasovaillm/qwen35-4b-ariadna-grpo

Downloads last month
1,452
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support