Instructions to use slayeahoo/EvgenyAI-1.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use slayeahoo/EvgenyAI-1.0 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct") model = PeftModel.from_pretrained(base_model, "slayeahoo/EvgenyAI-1.0") - Notebooks
- Google Colab
- Kaggle
Evgeny AI 1.0
Evgeny AI 1.0 — учебный прототип инженерно-производственного AI-помощника, созданный в рамках обучения работе с нейросетями.
Модель предназначена для информационной поддержки инженерно-технического персонала производственного предприятия: объяснения технических вопросов, первичной диагностики оборудования, простых инженерных и производственных расчётов, а также структурирования технической информации.
Важно: репозиторий содержит LoRA/QLoRA-адаптер, а не самостоятельную полную языковую модель. Для работы требуется базовая модель
Qwen/Qwen2.5-1.5B-Instruct.
Назначение
Основные направления применения:
- промышленное оборудование;
- термопластавтоматы и гидравлические системы;
- первичная диагностика неисправностей;
- 3D-печать и экструзия;
- инженерные расчёты;
- производственная аналитика;
- структурирование технической информации.
Одним из ключевых требований проекта является отказ от генерации неподтверждённых технических параметров, сервисных кодов и характеристик оборудования при недостатке исходных данных.
Базовая модель
- Base model:
Qwen/Qwen2.5-1.5B-Instruct - Тип адаптации: Supervised Fine-Tuning (SFT) + QLoRA/LoRA
- Формат данных: conversational
messages(system,user,assistant) - Язык обучающих примеров: русский
Данные
Для первой учебной версии был подготовлен набор из 44 диалогов инженерно-производственной тематики.
После предварительной обработки:
- Train: 40 примеров
- Validation: 4 примера
- минимальная длина: 188 токенов
- максимальная длина: 334 токена
- средняя длина: 256 токенов
- медиана: 252 токена
- 90% примеров: не более 286 токенов
В набор вошли вопросы по гидравлике, термопластавтоматам, диагностике оборудования, 3D-печати, производственной аналитике и инженерным расчётам.
Параметры обучения
Обучение выполнялось локально на:
- NVIDIA GeForce RTX 2060 SUPER, 8 GB VRAM
- AMD Ryzen 7 5700X
- 32 GB RAM
- Python 3.11.9
- PyTorch 2.11.0 + CUDA
Основные параметры:
| Параметр | Значение |
|---|---|
| Quantization | 4-bit NF4 |
| Double quantization | Да |
| Compute dtype | FP16 |
LoRA rank (r) |
16 |
| LoRA alpha | 32 |
| LoRA dropout | 0.05 |
| Target modules | all-linear |
| Max sequence length | 384 |
| Train batch size | 1 |
| Gradient accumulation | 4 |
| Epochs | 3 |
| Learning rate | 2e-4 |
| LR scheduler | cosine |
| Gradient checkpointing | Да |
Обучаемые параметры:
- Trainable: 18,464,768
- All parameters: 1,562,179,072
- Trainable: 1.182%
Продолжительность первого обучения составила около 79 секунд.
Результаты обучения
Во время обучения наблюдалось снижение training loss.
Validation loss:
| Эпоха | Eval loss |
|---|---|
| 1 | 0.9011 |
| 2 | 0.8215 |
| 3 | 0.8160 |
Финальный train_loss: 1.172.
Эти показатели подтверждают прохождение процесса обучения, но сами по себе не являются доказательством технической корректности ответов.
Независимое тестирование
Для проверки был подготовлен отдельный набор из 15 вопросов, не использовавшихся непосредственно как обучающие примеры.
Категории тестирования:
- гидравлика и ТПА;
- диагностика оборудования;
- 3D-печать;
- расчёты и производство;
- проверка на технические галлюцинации.
Ответы оценивались по пяти критериям:
- язык;
- релевантность;
- техническая корректность;
- отсутствие галлюцинаций;
- структура ответа.
Каждый критерий оценивался от 0 до 2 баллов. Максимальная оценка — 10 баллов.
При первоначальном тестировании были выявлены проблемы с генерацией неподтверждённых технических параметров, отдельными инженерными рассуждениями и качеством ответов по 3D-печати.
По результатам тестирования системная инструкция была переработана до версии v1.1 с усиленными правилами:
- не придумывать сервисные коды;
- не назначать точные параметры без достаточных данных;
- явно сообщать о недостатке информации;
- отделять подтверждённые данные от предположений;
- строить диагностику от простых и безопасных проверок к сложным;
- контролировать повторения и нерелевантные рекомендации.
Использование
Пример загрузки адаптера:
import torch
from transformers import (
AutoTokenizer,
AutoModelForCausalLM,
BitsAndBytesConfig,
)
from peft import PeftModel
BASE_MODEL = "Qwen/Qwen2.5-1.5B-Instruct"
ADAPTER = "slayeahoo/EvgenyAI-1.0"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_use_double_quant=True,
)
tokenizer = AutoTokenizer.from_pretrained(ADAPTER)
base_model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL,
quantization_config=bnb_config,
device_map="auto",
dtype=torch.float16,
)
model = PeftModel.from_pretrained(
base_model,
ADAPTER,
)
model.eval()
Для пользовательского режима рекомендуется передавать инструкцию проекта как system-сообщение:
messages = [
{
"role": "system",
"content": SYSTEM_PROMPT,
},
{
"role": "user",
"content": "Опишите техническую проблему.",
},
]
Системная инструкция
В проекте используется отдельная Markdown-инструкция GPT_instruction_v1.1.md.
Она определяет:
- роль модели;
- область применения;
- правила диагностики;
- правила инженерных расчётов;
- работу с недостаточными исходными данными;
- контроль технических галлюцинаций;
- формат ответа.
При использовании модели рекомендуется загружать содержимое этой инструкции как system prompt.
Ограничения
Evgeny AI 1.0 является учебным прототипом, а не сертифицированной системой промышленной диагностики.
Модель может:
- выдавать технически ошибочные ответы;
- генерировать неподтверждённые параметры;
- неправильно интерпретировать неисправность;
- давать неполные рекомендации;
- демонстрировать недостаток знаний за пределами небольшого обучающего набора.
Результаты модели не должны использоваться как единственное основание для изменения критических параметров промышленного оборудования.
Для работы с конкретным оборудованием необходимо сверяться с документацией производителя и требованиями предприятия.
План развития
Для последующих версий планируется:
- увеличить Dataset;
- добавить больше независимых контрольных примеров;
- усилить примеры отказа от галлюцинаций;
- расширить техническую базу;
- улучшить диагностику ТПА и гидравлических систем;
- улучшить знания в области 3D-печати;
- сравнить более крупные базовые модели;
- повторить fine-tuning с более консервативными параметрами LoRA.
Статус проекта
Evgeny AI 1.0 — первая зафиксированная учебная версия проекта.
Основная цель версии 1.0 — продемонстрировать полный цикл создания пользовательской языковой модели:
постановка задачи → подготовка Dataset → fine-tuning → тестирование → выявление ошибок → корректировка инструкции → публикация модели.
- Downloads last month
- 10