Статья опубликована в рамках: Научного журнала «Студенческий» № 42(338)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ВЫБОР И ПРИМЕНЕНИЕ МЕТОДИКИ ДООБУЧЕНИЯ БОЛЬШИХ ЯЗЫКОВЫХ МОДЕЛЕЙ
Введение
В современном мире многие уже не представляют жизнь без нейронных сетей. И самым популярным способом их применения безусловно являются большие языковые модели (далее LLM, Large Language Models). Именно к ним относятся широко известные ChatGPT, DeepSeek и другие модели. Они используются для поиска и анализа информации, написания художественных и технических текстов, помощи в программировании и многих других областях.
LLM – продвинутая вычислительная модель, способная анализировать и генерировать тексты, она может образовывать шаблоны и взаимосвязи между изученными языковыми данными. Каждая LLM основана на некотором наборе данных, называемом датасетом.
Популярные модели обучены на большом объеме информации — на книгах, форумах, новостных лентах, программном коде. Именно поэтому они могут быть «экспертами» в совершенно разных сферах жизни. Но часто от модели требуются не просто общие знания, а возможность работы с узкоспециализированными или даже уникальными данными, недоступными для сбора ИИ-компаниями. В данной ситуации используются методы дообучения (fine-tune) моделей.
Выбор базовой модели
Перед тем, как перейти к дообучению, следует выбрать подходящую базовую модель. В данной статье будут рассматриваться генеративные модели, а именно такой тип LLM как GPT – Generative Pre-Trained Transformer. Слово Transformer означает использование архитектуры трансформера, позволяющей модели эффективно понимать контекст для генерации текста.
Определим требования к модели:
- Открытый исходный код;
- Небольшое число параметров (не более 12 миллиардов);
- Достаточная актуальность исходного датасета (даты обрыва данных);
- Возможность работы на русском языке
Наличие открытого исходного кода (open source) позволяет анализировать внутреннее устройство модели, модифицировать архитектуру, менять параметры и проводить дообучение на собственных данных.
Количество параметров (или размер) обычно указывается в названии модели. Например, пометка 8b означает 8 миллиардов параметров. Чем больше параметров, тем больше места займет загруженная модель в видеопамяти или в оперативной памяти машины. В то же время, «тяжелые» модели, естественно, справляются с задачами лучше «легких». Для эффективного использования модели на локальной машине, лучшей практикой будет использовать модель, полностью помещающуюся в видеопамять используемой видеокарты. Модель с 8-12 миллиардами параметров будет оптимальным выбором.
Дата обрыва данных (cutoff date) определяет момент, до которого модель обучалась на данных из Интернета. Чем ближе эта дата к текущему времени, тем точнее знания модели о современных событиях, технологиях и языковых изменениях. Для удобства тестирования дообучения примем достаточную дату обрыва за 2024 год.
Также важной характеристикой является размер контекстного окна – объем текста, который большая языковая модель может одновременно удерживать в «оперативной памяти» при обработке и генерации ответа. Он определяется в токенах, равных примерно 2,5 символам русского языка. Чем больше размер контекстного окна, тем дольше можно вести «диалог» с LLM по одной теме. Однако этот размер обычно ограничивается при работе с моделями, так как с его увеличением возрастает и занимаемая память.
Для поиска и скачивания моделей используем веб-ресурс Hugging Face, на котором выкладываются исходные коды, веса моделей, датасеты как крупных компаний, так и рядовых пользователей, в том числе уже дообученные модели.
Первично нам подойдут модели с открытым кодом LLaMA 3.1-8b, Gemma3-12b и Qwen3-8b. Приведем сравнение данных моделей под наши требования:
Таблица 1.
Подходящие базовые модели
|
Модель |
Дата обрыва данных |
Поддерживаемый размер контекста (тыс. токенов) |
Особенности |
|
LLaMA 3.1-8b |
Декабрь 2023 года |
33 |
Оптимизирована для диалогов и генерации |
|
Gemma3-12b |
Август 2024 года |
128 |
Мультимодальная, поддержка изображений |
|
Qwen3-8b |
Апрель 2025 года |
33 |
Модель с двойным режимом (логика/диалог) |
Также стоит отметить, что эти модели показывают достаточные результаты при работе с русским языком. Однако Gemma3, по мнению сообщества, справляется с этим лучше.
Таким образом, в качестве базовой модели была выбрана Gemma3-12b. Она имеет большое контекстное окно и подходящую дату обрыва данных, а также опциональную возможность работы с изображениями (имеется в виду анализ, например, чтение текста с изображений).
Стоит отметить, что её размер – 12 миллиардов параметров, а значит для её эффективной загрузки следует использовать графический адаптер (видеокарту) с не менее чем 12 гигабайтами видеопамяти, а лучше с 16. Естественно, при недостатке видеопамяти, лучше взять модель меньше – существуют модели и с 4мя миллиардами параметров, и с одним-двумя. Однако качество их работы может быть недостаточным.
Для дообучения также необходим датасет. Датасеты, в том числе на русском языке, можно найти на различных веб-ресурсах или составить самим. Именно для дообучения подойдет размеченный датасет в формате запрос-ответ.
Методы дообучения
Рассмотрим основные методы дообучения.
- Полное дообучение (Full Fine-Tuning): обновляются все параметры модели на выбранном датасете. Метод подходит для крупных проектов и задач, где нужно преобразовать модель под специфику текстов. Требует мощных вычислительных ресурсов и подготовленных данных.
- Параметрически-эффективное дообучение (например, LoRA, QLoRA, AdaLoRA, DoRA, LoFTQ): меняются только отдельные маленькие части модели, а остальная структура остается неизменной. Это снижает требования к ресурсам и позволяет производить дообучение на локальных системах.
- Retrieval Augmented Generation (RAG): совмещает генерацию текста моделью с поиском релевантных фрагментов в базе документов. Экономичное решение для быстрого внедрения поддержки новых данных и минимизации затрат при работе с большими объемами текста. Строго говоря, данный метод – не совсем дообучение, а скорее отдельный от него процесс. Веса модели не преобразуются и не меняются.
В нашем случае наиболее подходящим вариантом именно дообучения будет создание QLoRA (Quantized Low-Rank Adaptation). В её основе лежит квантование, при котором веса основной модели сжимаются и загружаются в память в 4-битном формате (стандартный – 16 или даже 32 бита). Это позволяет сократить требования к памяти видеокарты.
Процесс дообучения
Для дообучения следует использовать язык Python (версии 3.14 и выше) и библиотеки xformers, trl, peft, accelerate, bitsandbytes. Также очень важной является библиотека unsloth, позволяющая оптимизировать процесс обратного распространения ошибки и работу с ядрами GPU. Она переписывает тяжелые вычислительные операции (например, внимание и слои MLP) на языке Triton, делая их быстрее и эффективнее по памяти без потери точности.
Основные шаги дообучения:
- Установка библиотек.

Рисунок 1. Установка библиотек
- Загрузка модели и токенизатора. Следует использовать класс FastLanguageModel из Unsloth. Он автоматически загружает 4-битную версию модели, оптимизированную для вашего "железа".

Рисунок 2. Загрузка модели
- Настройка LoRA-адаптеров. Добавляем обучаемые слои к замороженной модели.

Рисунок 3. Добавление слоёв к модели
- Запуск обучения. Для этого используется SFTTrainer (Supervised Fine-Tuning Trainer) от Hugging Face, обернутый Unsloth.

Рисунок 4. Обучение модели
- После этого наша модель обучена. Можно сохранить её в формате GGUF для дальнейшего использования.

Рисунок 5. Сохранение модели
Таким образом, мы получаем модель Gemma3-12b, но уже дообученную на нашем датасете. При этом, естественно, ее базовый датасет и возможности сохраняются.
Список литературы:
- Yandex Cloud. Большая языковая модель (LLM) // Облачная терминология [электронный ресурс] — Режим доступа. — URL: https://yandex.cloud/ru/docs/glossary/llm (дата обращения 12.11.2025)
- Модели Hugging Face [электронный ресурс] — Режим доступа. — URL: https://huggingface.co/models (дата обращения 25.11.2025)
- Yandex Cloud. Fine‑tuning языковых моделей: как адаптировать ИИ для решения специализированных задач [электронный ресурс] — Режим доступа. — URL: https://yandex.cloud/ru/blog/posts/2025/03/fine-tuning (дата обращения 25.11.2025)
- google/gemma-3-12b-it [электронный ресурс] — Режим доступа. — URL: https://huggingface.co/google/gemma-3-12b-it (дата обращения 26.11.2025).
- Hu E., Shen Y., Wallis P., Allen-Zhu Z., Li Y., Wang S., Wang L., Chen W. LoRA: Low-Rank Adaptation of Large Language Models [электронный ресурс] — Режим доступа. — URL: https://arxiv.org/abs/2305.14314 (дата обращения 26.11.2025)
- Dettmers, T., Pagnoni, A., Holtzman, A., & Zettlemoyer, L. QLoRA: Efficient Finetuning of Quantized LLMs [электронный ресурс] // arXiv. — 2023. — URL: https://arxiv.org/pdf/2305.14314.pdf (дата обращения 28.11.2025).
- Team G. et al. Gemma 3 Technical Report [электронный ресурс] — Режим доступа. — URL: https://arxiv.org/abs/2503.19786 (дата обращения 28.11.2025)


Оставить комментарий