|
|
--- |
|
|
license: apache-2.0 |
|
|
datasets: |
|
|
- Vikhrmodels/GrandMaster2 |
|
|
language: |
|
|
- ru |
|
|
- en |
|
|
base_model: |
|
|
- p-e-w/Qwen3-4B-Instruct-2507-heretic |
|
|
--- |
|
|
|
|
|
# 🧙♂️ LLightPro |
|
|
|
|
|
<div align="center"> |
|
|
|
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
|
|
|
### Компактная модель. Мощная логика. |
|
|
|
|
|
*Высококачественная дообучка экспериментальной модели для продвинутых рассуждений на русском языке* |
|
|
|
|
|
[🤗 Hugging Face](https://huggingface.co/your-username/model-name) • [📊 Dataset](https://huggingface.co/datasets/Vikhrmodels/GrandMaster2) • [🔧 Base Model](https://huggingface.co/p-e-w/Qwen3-4B-Instruct-2507-heretic) |
|
|
|
|
|
</div> |
|
|
|
|
|
--- |
|
|
|
|
|
## 📖 О модели |
|
|
|
|
|
**LLightPro** — это специализированная дообучка экспериментальной базовой модели `p-e-w/Qwen3-4B-Instruct-2507-heretic`, оптимизированная для **русского языка** и сложных задач рассуждения, программирования и логических головоломок с использованием элитного датасета **GrandMaster2**. |
|
|
|
|
|
В отличие от стандартных LoRA-дообучек, эта модель использует технологию **DoRA** (Weight-Decomposed Low-Rank Adaptation), что позволяет ей изучать тонкие нюансы рассуждений без катастрофического забывания. Обучение проводилось в чистом **bfloat16** (без квантизации) на NVIDIA RTX 4090 для максимальной точности. |
|
|
|
|
|
--- |
|
|
|
|
|
## ✨ Ключевые особенности |
|
|
|
|
|
| Особенность | Описание | |
|
|
|-------------|----------| |
|
|
| 🧠 **Продвинутая архитектура** | Построена на экспериментальной версии Qwen3 "Heretic" | |
|
|
| 🇷🇺 **Русский язык** | Дообучена для высококачественной работы с русским языком | |
|
|
| ⚡ **Технология DoRA** | Weight-Decomposed LoRA (r=64, alpha=128) для превосходной способности обучения | |
|
|
| 💎 **Безкомпромиссное качество** | Обучение в нативной точности bfloat16 без квантизации | |
|
|
| 📚 **Элитные данные** | Дообучка на оптимизированной версии Vikhrmodels/GrandMaster2 | |
|
|
| 🎯 **Точная настройка** | Низкая скорость обучения с косинусным планировщиком для предотвращения переобучения | |
|
|
|
|
|
--- |
|
|
|
|
|
## 🎯 Основные применения |
|
|
|
|
|
- 💬 **Диалоговые системы** на русском языке |
|
|
- 🧩 **Логические задачи** и головоломки |
|
|
- 💻 **Генерация кода** с комментариями на русском |
|
|
- 🎭 **Ролевые игры** (Role-playing) |
|
|
- 📝 **Сложные рассуждения** и анализ |
|
|
- 🤖 **Ассистенты** для русскоязычных пользователей |
|
|
|
|
|
--- |
|
|
|
|
|
## 📊 Технические детали обучения |
|
|
|
|
|
<table> |
|
|
<tr> |
|
|
<td width="50%"> |
|
|
|
|
|
**⚙️ Оборудование и время** |
|
|
- 🖥️ GPU: NVIDIA RTX 4090 (24GB) |
|
|
- ⏱️ Время обучения: ~30 часов |
|
|
- 🔢 Эпохи: 1 (для избежания переобучения) |
|
|
|
|
|
</td> |
|
|
<td width="50%"> |
|
|
|
|
|
**🧬 Архитектура** |
|
|
- 📦 Базовая модель: Qwen3-4B Heretic |
|
|
- 🎛️ Метод: DoRA (все линейные слои) |
|
|
- 📈 Rank: 64 / Alpha: 128 |
|
|
- 📏 Контекст: 4096 токенов |
|
|
|
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td width="50%"> |
|
|
|
|
|
**🔬 Точность** |
|
|
- 💾 Precision: bfloat16 |
|
|
- 🚫 Без квантизации при обучении |
|
|
- ⚡ Оптимизатор: paged_adamw_8bit |
|
|
|
|
|
</td> |
|
|
<td width="50%"> |
|
|
|
|
|
**📚 Данные** |
|
|
- 📖 Датасет: GrandMaster2 (оптимизированный) |
|
|
- 🎯 Фокус: Русский язык + reasoning |
|
|
- 🎲 Специализация: Role-playing |
|
|
|
|
|
</td> |
|
|
</tr> |
|
|
</table> |
|
|
|
|
|
--- |
|
|
|
|
|
## 💻 Использование |
|
|
|
|
|
### 🐍 Python (Transformers) |
|
|
|
|
|
```python |
|
|
import torch |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
|
|
# Загрузка модели |
|
|
model_id = "AugustLight/LLightPro" |
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id) |
|
|
model = AutoModelForCausalLM.from_pretrained( |
|
|
model_id, |
|
|
torch_dtype=torch.bfloat16, |
|
|
device_map="auto" |
|
|
) |
|
|
|
|
|
# Пример использования |
|
|
messages = [ |
|
|
{"role": "system", "content": "Ты полезный ассистент, заточенный на помощь в ответах на вопросы на русском языке."}, |
|
|
{"role": "user", "content": "Напиши функцию на Python для решения задачи о рюкзаке с использованием динамического программирования."} |
|
|
] |
|
|
|
|
|
text = tokenizer.apply_chat_template( |
|
|
messages, |
|
|
tokenize=False, |
|
|
add_generation_prompt=True |
|
|
) |
|
|
|
|
|
inputs = tokenizer(text, return_tensors="pt").to(model.device) |
|
|
|
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_new_tokens=1024, |
|
|
temperature=0.7, |
|
|
top_p=0.9, |
|
|
do_sample=True |
|
|
) |
|
|
|
|
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
print(response) |
|
|
``` |
|
|
|
|
|
### 🦙 llama.cpp (GGUF) |
|
|
|
|
|
```bash |
|
|
# Скачайте GGUF версию модели |
|
|
# Запустите с помощью llama.cpp |
|
|
./main -m model.gguf -p "Ты полезный ассистент..." -n 512 |
|
|
``` |
|
|
|
|
|
### 📝 Рекомендуемые параметры генерации |
|
|
|
|
|
```python |
|
|
generation_config = { |
|
|
"max_new_tokens": 1024, |
|
|
"temperature": 0.7, # Для творческих задач: 0.8-1.0 |
|
|
"top_p": 0.9, |
|
|
"top_k": 50, |
|
|
"repetition_penalty": 1.1, |
|
|
"do_sample": True |
|
|
} |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🎨 Примеры промптов |
|
|
|
|
|
<details> |
|
|
<summary>💬 Диалоговый ассистент</summary> |
|
|
|
|
|
```python |
|
|
messages = [ |
|
|
{"role": "system", "content": "Ты дружелюбный и полезный ассистент."}, |
|
|
{"role": "user", "content": "Объясни принцип работы нейронных сетей простыми словами."} |
|
|
] |
|
|
``` |
|
|
</details> |
|
|
|
|
|
<details> |
|
|
<summary>💻 Генерация кода</summary> |
|
|
|
|
|
```python |
|
|
messages = [ |
|
|
{"role": "system", "content": "Ты опытный программист Python."}, |
|
|
{"role": "user", "content": "Создай класс для работы с двоичным деревом поиска с методами вставки и поиска."} |
|
|
] |
|
|
``` |
|
|
</details> |
|
|
|
|
|
<details> |
|
|
<summary>🎭 Ролевая игра</summary> |
|
|
|
|
|
```python |
|
|
messages = [ |
|
|
{"role": "system", "content": "Ты мудрый волшебник из средневекового фэнтези мира."}, |
|
|
{"role": "user", "content": "Расскажи мне о древнем артефакте, который я нашел."} |
|
|
] |
|
|
``` |
|
|
</details> |
|
|
|
|
|
--- |
|
|
|
|
|
## 📈 Производительность |
|
|
|
|
|
- ✅ **Русский язык**: Высокое качество генерации текста |
|
|
- ✅ **Reasoning**: Улучшенные способности к логическим рассуждениям |
|
|
- ✅ **Coding**: Качественная генерация кода с комментариями |
|
|
- ✅ **Role-playing**: Глубокая проработка персонажей |
|
|
- ⚠️ **Размер**: 4B параметров — компактная и быстрая модель |
|
|
|
|
|
--- |
|
|
|
|
|
## ⚠️ Ограничения |
|
|
|
|
|
- 📏 Контекст ограничен 4096 токенами |
|
|
- 🔬 Экспериментальная базовая модель может иметь непредсказуемое поведение |
|
|
- 🌐 Оптимизирована в первую очередь для русского языка |
|
|
- 📊 Может требовать дополнительной настройки для специфических задач |
|
|
|
|
|
--- |
|
|
|
|
|
## 📜 Лицензия |
|
|
|
|
|
Эта модель следует лицензированию базовой модели Qwen и датасета GrandMaster. Пожалуйста, обратитесь к оригинальным репозиториям для подробной информации о лицензиях: |
|
|
|
|
|
- [Qwen License](https://huggingface.co/Qwen) |
|
|
- [GrandMaster2 Dataset](https://huggingface.co/datasets/Vikhrmodels/GrandMaster2) |
|
|
|
|
|
--- |
|
|
|
|
|
## 🙏 Благодарности |
|
|
|
|
|
- **Base Model**: [p-e-w/Qwen3-4B-Instruct-2507-heretic](https://huggingface.co/p-e-w/Qwen3-4B-Instruct-2507-heretic) |
|
|
- **Dataset**: [Vikhrmodels/GrandMaster2](https://huggingface.co/datasets/Vikhrmodels/GrandMaster2) |
|
|
- **Training Framework**: [HuggingFace TRL](https://github.com/huggingface/trl) & [PEFT](https://github.com/huggingface/peft) |
|
|
|
|
|
--- |
|
|
|
|
|
## 💜 Особая благодарность |
|
|
|
|
|
Огромная благодарность **[AniworldAI](https://t.me/aniworldai)** за предоставленные вычислительные мощности для обучения этой модели! |
|
|
|
|
|
Без их поддержки эта работа была бы невозможна. ❤️ |
|
|
|
|
|
--- |
|
|
|
|
|
<div align="center"> |
|
|
|
|
|
### Обучено с ❤️ используя TRL и PEFT |
|
|
|
|
|
**Вопросы? Предложения? Создайте Issue!** |
|
|
|
|
|
⭐ Если модель вам помогла, поставьте звёздочку! |
|
|
|
|
|
</div> |