Nic22Of2003 commited on
Commit
9b3081a
·
verified ·
1 Parent(s): a7e3834

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +141 -3
README.md CHANGED
@@ -1,3 +1,141 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ru
4
+ - en
5
+ license: apache-2.0
6
+ base_model: Qwen/Qwen3.5-2B
7
+ library_name: llama.cpp
8
+ pipeline_tag: text-generation
9
+ inference: false
10
+ tags:
11
+ - gguf
12
+ - iq4_nl
13
+ - qwen
14
+ - qwen3.5
15
+ - uncensored
16
+ - aggressive
17
+ - russian
18
+ - ru
19
+ - text-generation-inference
20
+ - quantized
21
+ - llama.cpp
22
+ - ggml
23
+ - chat
24
+ model-index:
25
+ - name: Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL
26
+ results:
27
+ - task:
28
+ type: text-generation
29
+ name: Text Generation
30
+ dataset:
31
+ name: wiki.test
32
+ type: wiki.test.raw
33
+ metrics:
34
+ - type: perplexity
35
+ value: 20.134
36
+ name: PPL (wiki.test, ctx=64)
37
+ - task:
38
+ type: text-generation
39
+ name: Text Generation
40
+ dataset:
41
+ name: hybrid_test_256
42
+ type: hybrid_test_256.raw
43
+ metrics:
44
+ - type: perplexity
45
+ value: 10.585
46
+ name: PPL (hybrid_test_256, ctx=16384)
47
+ ---
48
+
49
+ # Qwen3.5-2B Uncensored Aggressive — IQ4_NL (любительская сборка)
50
+
51
+ Разлоченная и агрессивная 2B-модель, квантованная в формат IQ4_NL с двумя вариантами калибровки.
52
+ Цель эксперимента — показать, что даже на небольшом калибровочном наборе (1 МБ) IQ4_NL достигает своего качественного потолка, а дальнейшее увеличение данных не улучшает метрики.
53
+
54
+ ## 🧠 Модели в репозитории
55
+
56
+ | Файл | Калибровка | Размер (ГБ) |
57
+ |------|-------------|-------------|
58
+ | `Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_smart.gguf` | 1 МБ (~243 тыс. токенов) | 1.15 |
59
+ | `Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_72mb.gguf` | 72 МБ (~19.35 млн токенов) | 1.15 |
60
+
61
+ *BF16 и Q4_K_M — позаимствованы у автора файнтюна, в репозиторий не включены.*
62
+
63
+ ## 🚀 Как использовать
64
+
65
+ ```bash
66
+ llama-cli -m Qwen3.5-2B-Uncensored-HauhauCS-Aggressive-IQ4_NL_smart.gguf -ngl 99 -c 16384
67
+ ````
68
+
69
+ 💡 Для русского языка добавьте системный промпт, явно указывающий, что модель — русскоязычный ассистент. Базовая модель англоцентрична, для свободного русского потребуется дообучение.
70
+
71
+ ## 📊 Методика тестирования и результаты
72
+
73
+ **Платформа:** RTX 5070, `llama-perplexity` (llama.cpp) с `-ngl 99`, контексты от 64 до 32768 токенов.
74
+ **Скорость вычисления PPL:** ~2000 токенов/сек на матрице (для 2B модели).
75
+ **Скорость генерации (инференс):**
76
+
77
+ - BF16 (несжатый) — около 100 токенов/с
78
+ - IQ4_NL / Q4_K_M — около 200 токенов/с (ускорение в 2 раза)
79
+
80
+ Для сравнения, 9B модель с IQ3_XS на этой же карте даёт около 100 токенов/с, но значительно выигрывает по качеству знаний.
81
+ Данная 2B сборка — компромисс для экспериментов на слабом оборудовании и изучения влияния калибровки.
82
+
83
+ ### Графики и выводы
84
+
85
+ <img src="boxplot_ppl32.png" width="600" alt="Boxplot PPL (32K, hybrid)">
86
+ <img src="line_ppl_blocks32.png" width="600" alt="Поблочная PPL (32K, hybrid)">
87
+ <img src="benchmark_lines.png" width="800" alt="PPL vs контекст (оба датасета)">
88
+
89
+ **Основные наблюдения:**
90
+ - `IQ4_NL_smart` и `IQ4_NL_72mb` показали практически идентичную перплексию на всех контекстах.
91
+ - Увеличение калибровочного объёма с 1 МБ до 72 МБ не дало статистически значимого улучшения.
92
+ - Даже когда калибровка 72 МБ покрывала 99.7% тестового набора `hybrid_test_256`, её PPL не стал ниже.
93
+ - Для 2B‑моделей достаточно ~243 тыс. токенов калибровки; дальнейшее наращивание объёма не имеет практического смысла.
94
+
95
+
96
+ ## 🔬 Пересечение данных (MinHash)
97
+
98
+ Метод MinHash (5‑граммы) подтвердил отсутствие утечки на основном независимом тесте `wiki.test.raw`:
99
+
100
+ | Калибровка | Тестовый набор | Пересечение (калибр. / тест) |
101
+ |------------|----------------|-------------------------------|
102
+ | smart_1mb | wiki.test | 2.10% / 3.45% |
103
+ | smart_1mb | hybrid_test_256| 31.33% / 42.56% |
104
+ | full_72mb | wiki.test | 0.59% / 13.11% |
105
+ | full_72mb | hybrid_test_256| 5.47% / **99.69%** |
106
+
107
+
108
+ ## 📂 Структура репозитория
109
+
110
+ - `*.gguf` — квантованные модели (только IQ4_NL_smart и IQ4_NL_72mb)
111
+ - `Тест.sh` — bash-скрипт для замера PPL
112
+ - `ДопППЛ.py` — извлечение поблочной PPL и построение графиков
113
+ - `А1.py` — интерактивный график PPL от длины контекста (Plotly)
114
+ - `plot_bench.gp` — gnuplot-версия общего графика
115
+ - `MinHash.py` — анализ пересечения датасетов
116
+ - `context_scan_results.csv` — итоговые значения PPL
117
+ - `*.png` — графики
118
+
119
+ Скрипты самодостаточны, могут быть переиспользованы.
120
+ Тестовые датасеты и логи не выложены из соображений размера — воспроизвести эксперимент можно по скриптам и собственным данным.
121
+
122
+
123
+ ## ⚠️ Ограничения
124
+
125
+ - Модель имеет характер «Uncensored» и «Aggressive», возможен нежелательный контент.
126
+ - Русский язык присутствует, но ограничен, требуется дообучение для свободного владения.
127
+ - 2B параметров — компромисс между скоростью и глубиной знаний.
128
+ - Проверено только на RTX 5070 (Blackwell), другие карты должны поддерживать IQ4_NL (требуется актуальный llama.cpp).
129
+
130
+
131
+ ## 🙏 Благодарности
132
+
133
+ [Qwen](https://github.com/QwenLM/Qwen), [HauhauCS](https://huggingface.co/HauhauCS), сообществу [llama.cpp](https://github.com/ggml-org/llama.cpp), ikawrakow за IQ‑методы.
134
+
135
+ ## 📧 Автор и поддержка
136
+
137
+ **Nic22Of2003** – [профиль на Hugging Face](https://huggingface.co/Nic22Of2003)
138
+
139
+ Это любительская сборка. Если ваша версия llama.cpp не поддерживает такой формат квантизации или модель не запускается — напишите в обсуждения репозитория, постараемся помочь.
140
+ По всем вопросам обращайтесь туда же.
141
+ Открыт к совместным экспериментам, дообучению и любым идеям — если есть что предложить, не стесняйтесь.