testingusera1/Qwen2.5-Coder-7B-CSharp-QLoRA-GGUF
Qwen2.5-Coder-7B — C#-дообучение (QLoRA, GGUF-кванты)
Это Qwen/Qwen2.5-Coder-7B-Instruct, дообученный методом QLoRA (LoRA r=64, alpha=32, все 7 проекций) на ~93K примерах с акцентом на C# и русскоязычные диалоги о программировании. В репозитории — GGUF-кванты слитой (merged) модели для llama.cpp / LM Studio / Ollama.
Кванты
⚠️ Не используйте Q4_K_M для этой модели: на нём стирается эффект дообучения (ответы совпадают с базовой моделью). Начиная с Q5KM преимущества адаптера сохраняются.
Как тестировалась модель
MultiPL-E (humaneval-cs 158 + mbpp-cs 386 задач, greedy, компиляция через dotnet 9, Debug.Assert-тесты):
Различия статистически незначимы (тест Макнемара, p 0.08–0.87): на англоязычном бенчмарке в стиле MultiPL-E модель ведёт себя на уровне базы.
Качественный тест на русскоязычных задачах (5 задач: багфикс ×2, консольное приложение, LINQ, рефакторинг; greedy):
Дообученная модель даёт более компактные и идиоматичные ответы, реже допускает ошибки компиляции (именованные кортежи через :, корректные пространства имён). На Q5KM/Q6K/Q80 это преимущество сохраняется; на Q4KM — исчезает.
Обучение
- Метод: QLoRA (4-bit NF4 база), LoRA r=64, alpha=32, dropout 0.05, target: q/k/v/o/gate/up/down проекции
- Данные: ~93K примеров (54.9M токенов): C#-ядро ~57% (Magicoder, CommitPackFT, OpenCodeInstruct, CodeFeedback), русскоязычные диалоги ~30% (rustackoverflow, WildChat, ruturbo_alpaca), агентские задачи ~8.5% (hermes-function-calling)
- График: 2 эпохи, 23242 шага, эффективный батч 8, seq len 2048
- eval_loss: 0.598 → минимум 0.5626 (середина 1-й эпохи) → 0.5793 в конце
Использование
# llama.cpp
llama-server -m final_Q5_K_M.gguf -ngl 99 -c 4096 --port 8080
# Или llama-cli в интерактивном режиме
llama-cli -m final_Q5_K_M.gguf -ngl 99 --chat-template qwenМодель использует стандартный chat-шаблон Qwen (ChatML). Промпты на русском работают нативно — модель дообучалась в том числе на русскоязычных диалогах о C#/.NET.
Лицензия и ограничения
- База Qwen2.5-Coder-7B-Instruct — Apache 2.0
- Часть обучающих данных имеет некоммерческие ограничения (research/non-commercial) — при коммерческом использовании проверьте состав смеси
- Модель может галлюцинировать API и генерировать небезопасный код — стандартные оговорки для кодовых LLM
