Сколько стоит зафайнтюнить Llama 3 на своих данных: расчёт на 4 GPU

Полный расчёт стоимости fine-tuning Llama 3 8B и 70B на RTX 4090, A100 и H100. LoRA, QLoRA, full fine-tune — время, VRAM, цена за полный цикл.

Fine-tuning — это не абстрактное «обучение нейросети». Это конкретная задача с конкретной стоимостью: столько-то часов GPU, столько-то рублей за полный цикл. В этой статье мы разбираем реальную экономику дообучения Llama 3 и Qwen на своих данных — от выбора метода до итоговой суммы в рублях.

Зачем вообще дообучать LLM на своих данных? Три основных сценария:

  • Кастомизация под домен. Юридические документы, медицинские протоколы, техническая документация — модель начинает «говорить на языке» вашей отрасли.
  • Стиль и тон ответов. Формат, длина, структура — fine-tuning позволяет настроить модель под стиль вашего продукта.
  • Приватные данные. Данные не уходят за пределы вашего GPU-инстанса — вы контролируете весь пайплайн.

Три способа дообучения: LoRA, QLoRA и full fine-tune

Прежде чем считать деньги, нужно понять разницу между методами. Выбор метода определяет, сколько VRAM нужно и какую GPU арендовать.

Параметр QLoRA LoRA Full fine-tune
VRAM Минимум Среднее Максимум
Качество 90–95% от full 95–98% от full Эталон
Скорость обучения Средняя (квантизация замедляет) Быстрая Медленная
Стоимость Самая низкая Средняя Самая высокая
Количество обучаемых параметров 0.1–1% 0.1–1% 100%

QLoRA — оптимальный выбор для большинства задач. Базовая модель загружается в 4-bit квантизации, а обучаемые LoRA-адаптеры работают в bf16/fp16. Это позволяет дообучить 8B модель на GPU с 12 ГБ VRAM.

LoRA — те же низкоранговые адаптеры, но базовая модель остаётся в fp16/bf16. Качество чуть выше, VRAM — значительно больше.

Full fine-tune — обновление всех весов модели. Требует огромного объёма VRAM и оправдан только при больших датасетах (50k+ примеров) или специфических задачах.

Что понадобится для fine-tuning

Датасет

Минимальный размер — 500 примеров, оптимальный — 5,000–50,000. Форматы:

  • Alpaca — instruction / input / output
  • ShareGPT — многооборотные диалоги conversations: [{from: human, value: ...}, {from: gpt, value: ...}]
  • Completion — простые пары text для дообучения

Качество данных важнее количества. 1,000 чистых примеров дадут лучший результат, чем 50,000 шумных.

Железо

Требования зависят от модели и метода — подробная таблица ниже. Ключевое: для QLoRA 8B модели достаточно одного RTX 4090, для 70B — минимум два A100 80GB.

Софт

  • Axolotl — наш рекомендуемый фреймворк. YAML-конфиги, поддержка LoRA/QLoRA/full, DeepSpeed, FSDP.
  • Unsloth — ускоренный fine-tuning с оптимизированными ядрами, до 2× быстрее.
  • TRL — библиотека от HuggingFace для RLHF, DPO, SFT.
  • PEFT — библиотека для parameter-efficient методов (LoRA, QLoRA, IA3).
  • DeepSpeed — фреймворк для распределённого обучения, ZeRO для экономии VRAM.

Требования по VRAM

Главная таблица. Используйте её для выбора GPU:

Llama 3

Модель QLoRA LoRA Full fine-tune
Llama 3.1 8B 12 ГБ 24 ГБ 80+ ГБ
Llama 3.3 70B 48 ГБ 160 ГБ 560+ ГБ

Qwen 2.5

Модель QLoRA LoRA Full fine-tune
Qwen 2.5 7B 10 ГБ 22 ГБ 70+ ГБ
Qwen 2.5 32B 24 ГБ 80 ГБ 280+ ГБ
Qwen 2.5 72B 48 ГБ 160 ГБ 560+ ГБ

Примечание. Значения VRAM приблизительные и зависят от batch size, sequence length и rank адаптера. Указаны для типовых настроек: batch_size=4, seq_len=2048, rank=16.

Выбор GPU

Какую GPU арендовать? Зависит от модели и бюджета:

GPU VRAM Подходит для Цена
RTX 4090 24 ГБ QLoRA до 13B, LoRA 8B ₽/час
RTX 5090 32 ГБ QLoRA до 32B, LoRA 13B ₽/час
A100 80GB 80 ГБ QLoRA 70B, LoRA до 32B, full 8B ₽/час
H100 80GB 80 ГБ Все задачи, максимальная скорость ₽/час
H200 141 ГБ 70B LoRA на одном GPU ₽/час

Посмотреть все доступные GPU и цены →

Практический расчёт: Llama 3.1 8B QLoRA на 10,000 примеров

Самый распространённый сценарий — дообучение 8B модели методом QLoRA. Вот сколько это стоит на разных GPU:

GPU Время обучения Цена за час Итого
RTX 4090 ~4 часа ₽ ₽
RTX 5090 ~2.5 часа ₽ ₽
A100 80GB ~3 часа ₽ ₽
H100 80GB ~1.5 часа ₽ ₽

Лучший по цене/производительности — RTX 4090: минимальная стоимость при приемлемом времени. Лучший по абсолютной скорости — H100: в 2.5× быстрее RTX 4090 за счёт FP8 и большей пропускной способности памяти.

Арендовать RTX 4090 →

Практический расчёт: Llama 3.3 70B QLoRA на 10,000 примеров

Модель 70B требует минимум 48 ГБ VRAM, поэтому RTX 4090 (24 ГБ) не подходит. Нужны серверные GPU или multi-GPU конфигурация:

GPU Время обучения Цена за час Итого
RTX 4090 (24 ГБ) Не хватает VRAM — —
2× A100 80GB ~12 часов 2 × ₽ ₽
2× H100 80GB ~5 часов 2 × ₽ ₽
H200 ~6 часов ₽ ₽

Для 70B модели multi-GPU обучение требует DeepSpeed ZeRO-3 или FSDP — Axolotl поддерживает оба из коробки. Практический гайд: FSDP/DeepSpeed.

Арендовать H100 для быстрого обучения →

Что влияет на стоимость кроме GPU

Аренда GPU — основная, но не единственная статья расходов:

  • Storage. Датасет, чекпоинты модели и финальные веса занимают место. Для 8B модели — 30–50 ГБ, для 70B — 150–300 ГБ. Стоимость хранения обычно незначительна по сравнению с GPU.
  • Эксперименты. Первый запуск редко бывает финальным. Планируйте 2–3× от базового времени на эксперименты: подбор learning rate, rank, формата данных.
  • Debug-итерации. Отлаживайте на дешёвой GPU (RTX 4090), а финальный запуск делайте на быстрой (H100). Это экономит 30–50% бюджета.
  • Network. Скачивание модели с HuggingFace и загрузка датасета — обычно быстро и дёшево, но учитывайте при планировании.

Совет. Фактический счёт часто выше «минимальной» оценки из таблицы: повторные прогоны, отладка и загрузка данных добавляют часы. Следите за балансом в панели и закладывайте запас — ориентируйтесь на актуальные цены в каталоге в момент запуска, а не только на цифры из статьи.

Пошаговый пример запуска

Покажем на практике: QLoRA fine-tune Llama 3.1 8B на RTX 4090 через Axolotl.

1. Запустите инстанс

Перейдите в шаблон Axolotl и запустите инстанс с RTX 4090. Рекомендуемый диск — 200 ГБ.

2. Подготовьте датасет

Загрузите датасет в формате alpaca:

[
  {
    "instruction": "Переведи на юридический язык",
    "input": "Клиент хочет вернуть товар через 20 дней",
    "output": "В соответствии со ст. 25 Закона о защите прав потребителей, потребитель вправе обменять непродовольственный товар надлежащего качества в течение 14 дней..."
  }
]

3. Создайте конфиг Axolotl

base_model: meta-llama/Llama-3.1-8B-Instruct
model_type: LlamaForCausalLM
tokenizer_type: AutoTokenizer

load_in_4bit: true
adapter: qlora
lora_r: 16
lora_alpha: 32
lora_dropout: 0.05
lora_target_linear: true

dataset_prepared_path: /workspace/data/prepared
datasets:
  - path: /workspace/data/train.jsonl
    type: alpaca

sequence_len: 2048
sample_packing: true
pad_to_sequence_len: true

micro_batch_size: 4
gradient_accumulation_steps: 4
num_epochs: 3

optimizer: adamw_torch
lr_scheduler: cosine
learning_rate: 2e-4
warmup_ratio: 0.05

bf16: auto
tf32: true

output_dir: /workspace/output/llama-3.1-8b-qlora

save_strategy: steps
save_steps: 100
save_total_limit: 3

eval_strategy: steps
eval_steps: 100
eval_sample_packing: false

logging_steps: 10

4. Запустите обучение

accelerate launch -m axolotl.cli.train config.yml

Обучение на RTX 4090 с 10,000 примеров займёт ~4 часа. Следите за loss в логах — он должен плавно снижаться.

5. Протестируйте результат

accelerate launch -m axolotl.cli.inference config.yml \
  --lora_model_dir /workspace/output/llama-3.1-8b-qlora

Запустить готовый шаблон fine-tuning →

Типичные ошибки и как не потерять деньги

Из опыта запусков на нашей платформе — ошибки, которые стоят денег:

1. OOM при evaluation. Обучение проходит, а на eval — Out of Memory. Причина: при evaluation отключается gradient checkpointing, и модель потребляет больше VRAM. Решение: уменьшите micro_batch_size для eval или используйте eval_sample_packing: false.

2. Забытый save_steps. Обучение 4 часа, а чекпоинты не сохранялись — потеря всей работы при disconnects. Всегда ставьте save_steps: 100 и save_total_limit: 3.

3. Debug на дорогой GPU. Отлаживаете конфиг на H100 при ₽/час, хотя для debug достаточно RTX 4090 при ₽/час. Сначала один epoch на дешёвой GPU — потом полный запуск на быстрой.

4. Слишком высокий learning rate. LR > 5e-4 для QLoRA часто приводит к расхождению. Начинайте с 2e-4 и двигайтесь оттуда.

5. Неправильный формат датасета. Axolotl молча обрежет или пропустит некорректные примеры. Проверяйте: accelerate launch -m axolotl.cli.preprocess config.yml перед обучением.

Когда fine-tune не нужен

Fine-tuning — не универсальный ответ. Иногда проще и дешевле:

Задача Альтернатива Когда выбирать
Добавить знания о продукте RAG (Retrieval-Augmented Generation) Данные часто обновляются, нужны ссылки на источники
Изменить формат ответа System prompt + few-shot < 10 примеров достаточно, нет нужды в обучении
Классификация текстов Few-shot prompting Мало классов, простая логика
Перевод / суммаризация Промпт-инженеринг Модель уже справляется, нужна лишь точная инструкция
Генерация кода Fine-tune на кодовой базе Да, fine-tune оправдан — стиль, паттерны, внутренние API
Специализированный домен Fine-tune Да — медицина, юриспруденция, узкие отрасли

Чек-лист. Попробуйте сначала: (1) system prompt, (2) few-shot примеры в контексте, (3) RAG. Если не хватает качества — fine-tune.

Итоговая таблица: сценарий → GPU → стоимость

Сценарий GPU Ориентировочная стоимость
QLoRA 8B на 10k примеров RTX 4090 ₽
QLoRA 8B, максимальная скорость H100 80GB ₽
QLoRA 70B на 10k примеров 2× A100 80GB ₽
QLoRA 70B, максимальная скорость 2× H100 80GB ₽
LoRA 8B на 10k примеров A100 80GB ₽
Full fine-tune 8B A100 80GB ₽

Цены рассчитаны по тарифам CloudCompute.ru на момент публикации. Актуальные цены — на странице GPU.


Дообучение LLM на своих данных — это не rocket science и не миллионные бюджеты. QLoRA для 8B модели стоит несколько сотен рублей за полный цикл. Главное — правильно выбрать метод, GPU и не тратить время на debug на дорогом железе.

Посмотреть все GPU и цены → · Запустить Axolotl → · Подробнее про LoRA · Подробнее про QLoRA

Запустите облачный GPU за минуты

Выберите подходящую конфигурацию NVIDIA и платите только за использование.