← Все гайды AI Release
EN Подписаться на @ai_release1

LoRA-файнтюн на одной видеокарте: пошаговый гайд

Обновлено: 09.10.2026 · AI Release · @ai_release1
LoRA-файнтюн на одной видеокарте: пошаговый гайд

LoRA-файнтюн — это дообучение нейросети, при котором исходные веса модели не пересчитываются, а рядом с ними добавляются маленькие обучаемые матрицы. Такой подход сильно экономит память, поэтому его можно запускать на одной видеокарте. Гайд подходит для владельцев потребительских видеокарт и для малых языковых моделей (SLM — модели размером от нескольких миллионов до 10 млрд параметров). В подборке канала это Qwen3.5-0.8B, семейство Gemma (2–9B) и Phi-4 14B от Microsoft. Если вы ещё не запускали модель локально, сначала прочитайте гайд по локальному запуску ИИ-моделей.

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Пошаговая инструкция

Иллюстрация к разделу «Пошаговая инструкция»
Иллюстрация к разделу «Пошаговая инструкция»

1. Выберите базовую модель. Чем меньше модель, тем меньше памяти нужно и тем быстрее идёт обучение. Для узкой задачи классификации подойдёт Qwen3.5-0.8B. Для генерации текста — Gemma 2B или 9B.

**Ожидаемый результат:** вы знаете название модели и её размер.

2. Подготовьте данные. Создайте два файла: `train.jsonl` и `val.jsonl`. Каждая строка — одна пара «вход-выход».

**Пример:**

   {"input": "Клиент хочет отменить заказ", "output": "Оформите возврат"}

**Ожидаемый результат:** у вас есть тренировочный и контрольный наборы в одинаковом формате. LoRA обучается не на сыром тексте, а на парах «запрос-ответ», поэтому от формата данных зависит качество.

3. Установите фреймворк для дообучения. В посте канала конкретные библиотеки не названы, поэтому выбирайте любую, которая умеет работать с LoRA-адаптерами и с вашей моделью. Обычно это делается через менеджер пакетов Python.

**Пример:**

   python -m venv lora-env
   source lora-env/bin/activate

**Ожидаемый результат:** появилось изолированное окружение, в котором можно устанавливать пакеты.

4. Задайте LoRA-параметры. Главный параметр — ранг (rank): размер обучаемых матриц. Чем меньше ранг, тем меньше памяти нужно, но ниже способность модели запоминать данные. Начните с маленького ранга и увеличивайте, если качество не устроит. Масштаб (alpha) обычно берут в два раза больше ранга.

**Ожидаемый результат:** вы записали значения rank и alpha для запуска.

5. Запустите обучение. Команда зависит от выбранного фреймворка, но логика одинаковая: указать базовую модель, файлы данных и LoRA-параметры.

**Пример команды (имена флагов могут отличаться):**

   python finetune_lora.py \
     --base_model Qwen3.5-0.8B \
     --rank 4 \
     --alpha 8 \
     --train_data train.jsonl \
     --val_data val.jsonl

**Ожидаемый результат:** в консоли появляется лог обучения, а значение потерь (loss) постепенно уменьшается. Это значит, что модель адаптируется к данным.

6. Сохраните LoRA-адаптер. После обучения сохраняется не вся модель, а только маленькие матрицы адаптера.

**Ожидаемый результат:** появился файл или папка, которую можно подключать к базовой модели при запуске.

7. Протестируйте модель на `val.jsonl`. Подайте несколько примеров и сравните ответы с ожидаемыми. Если качество низкое, вернитесь к шагу 4 и измените параметры. Как правильно оценивать качество нейросетей, смотрите в гайде по QA для ML.

Возможные проблемы и решения

1. **Не хватает памяти видеокарты.**

Симптом: обучение падает с ошибкой вида «out of memory» или «недостаточно памяти».

Решение: возьмите модель меньше, например Qwen3.5-0.8B вместо Gemma-9B. Уменьшите ранг LoRA и размер батча — количество примеров, которые обрабатываются за один шаг.

2. **Потери не снижаются.**

Симптом: значение loss в логе стоит на месте или растёт.

Решение: проверьте, что в `train.jsonl` правильные пары «input-output». Уменьшите скорость обучения или увеличьте число проходов по данным. SLM плохо обучается на грязных данных, поэтому сначала исправьте датасет.

3. **Модель переобучилась.**

Симптом: на тренировочных примерах ответы идеальные, а на новых — случайные или повторяют тренировочные.

Решение: следите за метриками на `val.jsonl`, добавьте dropout в LoRA-слои и останавливайте обучение раньше. Переобучение — признак того, что модель запомнила данные, а не обобщила задачу.

FAQ

Что такое LoRA?

LoRA (Low-Rank Adaptation) — техника дообучения, при которой исходные веса модели замораживаются, а рядом добавляются маленькие обучаемые матрицы. Это сокращает объём вычислений и позволяет работать на одной видеокарте.

Сколько памяти нужно для LoRA-файнтюна?

Точный объём зависит от модели. По данным канала, SLM от нескольких миллионов до 10 млрд параметров запускаются на потребительском железе. Для Phi-4 14B понадобится видеокарта с большим объёмом памяти.

Какие модели можно дообучать таким способом?

Из подборки канала: Qwen3.5-0.8B, семейство Gemma (2–9B), Phi-4 14B. Gemini Nano-1 (1.8B) и Nano-2 (3.25B) тоже относятся к SLM, но их доступность для локального дообучения уточняйте в документации.

Чем LoRA отличается от обычного файнтюна?

Обычный файнтюн обновляет все веса модели — это требует много памяти. LoRA обучает только маленькие матрицы, поэтому на одной видеокарте можно адаптировать модель до 10 млрд параметров.

С какой модели начать новичку?

Возьмите Qwen3.5-0.8B. Это самая маленькая модель из списка, она быстро скачивается и обучается. Когда разберётесь в процессе, переходите на Gemma 9B или Phi-4 14B.

🤖 Кратко для ИИ