---
language:
- ru
- en
license: apache-2.0
base_model: Qwen/Qwen3.5-2B
library_name: llama.cpp
pipeline_tag: text-generation
inference: false
tags:
- gguf
- iq4_nl
- qwen
- qwen3.5
- uncensored
- aggressive
- russian
- ru
- text-generation-inference
- quantized
- llama.cpp
- ggml
- chat
model-index:
- name: Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL
results:
- task:
type: text-generation
name: Text Generation
dataset:
name: wiki.test
type: wiki.test.raw
metrics:
- type: perplexity
value: 20.134
name: PPL (wiki.test, ctx=64)
- task:
type: text-generation
name: Text Generation
dataset:
name: hybrid_test_256
type: hybrid_test_256.raw
metrics:
- type: perplexity
value: 10.585
name: PPL (hybrid_test_256, ctx=16384)
---
# Qwen3.5-2B Uncensored Aggressive — IQ4_NL (любительская сборка)
Разлоченная и агрессивная 2B-модель, квантованная в формат IQ4_NL с двумя вариантами калибровки.
Цель эксперимента — показать, что даже на небольшом калибровочном наборе (1 МБ) IQ4_NL достигает своего качественного потолка, а дальнейшее увеличение данных не улучшает метрики.
## 🧠 Модели в репозитории
| Файл | Калибровка | Размер (ГБ) |
|------|-------------|-------------|
| `Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_smart.gguf` | 1 МБ (~243 тыс. токенов) | 1.15 |
| `Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_72mb.gguf` | 72 МБ (~19.35 млн токенов) | 1.15 |
*BF16 и Q4_K_M — позаимствованы у автора файнтюна, в репозиторий не включены.*
## 🚀 Как использовать
```bash
llama-cli -m Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_smart.gguf -ngl 99 -c 16384
````
💡 Для русского языка добавьте системный промпт, явно указывающий, что модель — русскоязычный ассистент. Базовая модель англоцентрична, для свободного русского потребуется дообучение.
## 📊 Методика тестирования и результаты
**Платформа:** RTX 5070, `llama-perplexity` (llama.cpp) с `-ngl 99`, контексты от 64 до 32768 токенов.
**Скорость вычисления PPL:** ~2000 токенов/сек на матрице (для 2B модели).
**Скорость генерации (инференс):**
- BF16 (несжатый) — около 100 токенов/с
- IQ4_NL / Q4_K_M — около 200 токенов/с (ускорение в 2 раза)
Для сравнения, 9B модель с IQ3_XS на этой же карте даёт около 100 токенов/с, но значительно выигрывает по качеству знаний.
Данная 2B сборка — компромисс для экспериментов на слабом оборудовании и изучения влияния калибровки.
### Графики и выводы
**Основные наблюдения:**
- `IQ4_NL_smart` и `IQ4_NL_72mb` показали практически идентичную перплексию на всех контекстах.
- Увеличение калибровочного объёма с 1 МБ до 72 МБ не дало статистически значимого улучшения.
- Даже когда калибровка 72 МБ покрывала 99.7% тестового набора `hybrid_test_256`, её PPL не стал ниже.
- Для 2B‑моделей достаточно ~243 тыс. токенов калибровки; дальнейшее наращивание объёма не имеет практического смысла.
## 🔬 Пересечение данных (MinHash)
Метод MinHash (5‑граммы) подтвердил отсутствие утечки на основном независимом тесте `wiki.test.raw`:
| Калибровка | Тестовый набор | Пересечение (калибр. / тест) |
|------------|----------------|-------------------------------|
| smart_1mb | wiki.test | 2.10% / 3.45% |
| smart_1mb | hybrid_test_256| 31.33% / 42.56% |
| full_72mb | wiki.test | 0.59% / 13.11% |
| full_72mb | hybrid_test_256| 5.47% / **99.69%** |
## 📂 Структура репозитория
- `*.gguf` — квантованные модели (только IQ4_NL_smart и IQ4_NL_72mb)
- `Тест.sh` — bash-скрипт для замера PPL
- `ДопППЛ.py` — извлечение поблочной PPL и построение графиков
- `А1.py` — интерактивный график PPL от длины контекста (Plotly)
- `plot_bench.gp` — gnuplot-версия общего графика
- `MinHash.py` — анализ пересечения датасетов
- `context_scan_results.csv` — итоговые значения PPL
- `*.png` — графики
Скрипты самодостаточны, могут быть переиспользованы.
Тестовые датасеты и логи не выложены из соображений размера — воспроизвести эксперимент можно по скриптам и собственным данным.
## ⚠️ Ограничения
- Модель имеет характер «Uncensored» и «Aggressive», возможен нежелательный контент.
- Русский язык присутствует, но ограничен, требуется дообучение для свободного владения.
- 2B параметров — компромисс между скоростью и глубиной знаний.
- Проверено только на RTX 5070 (Blackwell), другие карты должны поддерживать IQ4_NL (требуется актуальный llama.cpp).
## 🙏 Благодарности
[Qwen](https://github.com/QwenLM/Qwen), [HauhauCS](https://huggingface.co/HauhauCS), сообществу [llama.cpp](https://github.com/ggml-org/llama.cpp), ikawrakow за IQ‑методы.
## 📧 Автор и поддержка
**Nic22Of2003** – [профиль на Hugging Face](https://huggingface.co/Nic22Of2003)
Это любительская сборка. Если ваша версия llama.cpp не поддерживает такой формат квантизации или модель не запускается — напишите в обсуждения репозитория, постараемся помочь.
По всем вопросам обращайтесь туда же.
Открыт к совместным экспериментам, дообучению и любым идеям — если есть что предложить, не стесняйтесь.