Vexion-LM 🧠
Vexion-LM — это семейство открытых языковых моделей, созданных с нуля. Проект включает в себя полный пайплайн: от написания кастомной архитектуры на PyTorch до претрейна базовых моделей и их последующего дообучения под диалоговый формат с использованием LoRA-адаптеров.
⚠️ ВАЖНО: Модели версии Base предназначены исключительно для дальнейшего дообучения (fine-tuning) под ваши задачи. Модели с пометкой LoRA уже дообучены на диалоговом датасете и готовы к общению (их дообучать не рекомендуется!).
🚀 Особенности проекта
- Кастомная архитектура: Оптимизированный трансформер с поддержкой градиентного чекпоинтинга для экономии VRAM.
- Эффективное обучение: Использование 8-битного оптимизатора (
AdamW8bit) от библиотекиbitsandbytes, что позволяет тренировать модели локально на потребительских GPU. - Гибкая система LoRA: Встроенный механизм заморозки базовых весов и тренировки компактных адаптеров для диалогового формата без риска катастрофического забывания.
- Умная генерация: Кастомный скрипт инференса с поддержкой штрафов за повторения, управления температурой и раннего останова по спецтокенам.
📊 Семейство моделей Vexion
Развитие проекта разбито на несколько этапов, от компактных тестовых версий до полноценных миллиардников.
| Модель | Параметры | Контекст | Статус |
|---|---|---|---|
| Vexion-LM Mini | 111M | 1024 | В доработке |
| Vexion-LM V1 | 441M | 1024 | Релиз (LoRA) |
| Vexion-LM V2 | ~750M | 1024 | В планах |
| Vexion-LM Pro | ~1.5B | 2048 | В планах (Q2/Q3) |
⚠️ Важное предупреждение о совместимости
Эта модель построена на полностью кастомной архитектуре, написанной на чистом PyTorch.
Она НЕ поддерживает библиотеку transformers от Hugging Face (Transformer API). Вы не сможете загрузить её через стандартные классы вроде AutoModelForCausalLM. Для инференса и дообучения используйте исключительно скрипты, приложенные в этом репозитории (model.py, generate.py).
⚙️ Формат весов и точность (Precision)
- Формат файлов:
.safetensors(безопасный и быстрый формат загрузки). - Базовая точность параметров: FP32.
- При запуске генерации через
generate.pyкод автоматически использует автоматическую смешанную точность (AMP viatorch.amp.autocast), переходя на FP16 или BF16 на поддерживаемых видеокартах для экономии видеопамяти и ускорения работы. Вручную конвертировать веса не требуется.
🛠 Как использовать модель
Так как модель построена на кастомной архитектуре, в репозитории прилагается файл generate.py, через который осуществляется запуск. Запуск происходит через терминал/командную строку (CMD, PowerShell, терминал VSCode).
1. Подготовка
Создайте папку checkpoints в директории с проектом и поместите туда скачанный файл модели (например, Vexion-LM_V1_lora.safetensors). Откройте терминал и перейдите в папку с проектом:
cd C:\Users\YourName\Desktop\GPT-model
### 2. Запуск
Используйте следующую команду для генерации ответа: python generate.py --checkpoint checkpoints/Vexion-LM_V1_lora.safetensors --prompt "[CLS] Что такое человек [SEP] " --temperature 0.7 --device cuda --use_lora
📝 Правила написания промпта (prompt):
[CLS] — спецтокен начала вашего запроса. После него пишите свой вопрос.
[SEP] — спецтокен начала ответа ИИ. После этого токена нельзя писать никакой текст, иначе модель сломает логику ответа!
Флаг --use_lora обязателен при запуске диалоговых версий модели, чтобы скрипт подключил дополнительные веса адаптеров.