Ценовой потолок Каждый GPU как минимум на 30 % ниже медианы рынка — сверяется с рынком еженедельно.

Посмотреть доказательства

Руководство · Практическое руководство

Как дообучить Llama 3.1 8B с QLoRA на одном GPU

Полное пошаговое руководство «копируй и запускай»: от датасета до объединённых весов примерно за час на одной карте 24 GB, с axolotl.

14 мин чтения Опубликовано 2026-08-18 Обновлено 2026-09-03 цены в реальном времени из прайс-листа

Как дообучить Llama 3.1 8B с QLoRA на одном GPU — иллюстрация обложки

TL;DR

  • QLoRA-файнтюнинг модели Llama 3.1 8B на 10 000 парах инструкций, три эпохи, занимает около 95 минут на одной RTX 4090.
  • Стоимость на LowCostGPU — примерно 1,6 часа по прерываемому тарифу $0,177 в час, плюс том на 20 GB.
  • 24 GB достаточно: 4-битная базовая модель 8B занимает около 5,5 GB, а пиковое значение VRAM — около 14 GB при батче 4 и длине последовательности 2048.
  • Ключевые настройки: lora_r 32, alpha 64, все линейные слои, чекпоинтинг градиентов и save_steps 100 — тогда прерывание обходится в одно возобновление.

Настройка: один инстанс, один том

Всё, что должно сохраняться, хранится на томе; GPU-инстанс остаётся одноразовым:

инфраструктура, 2 команды
lowcostgpu volume create --name ft --size 20 --region eu-west-1
lowcostgpu launch --gpu rtx-4090 --type interruptible \
  --template axolotl --volume ft:/ft --disk 40
# ✓ i-c41b9a02 running · $0,177/hr

Почему прерываемый режим: axolotl сохраняет чекпоинты в /ft, поэтому прерывание стоит одного возобновления, а не всего запуска. Почему хватает 24 GB: QLoRA держит базовую модель 8B в 4-бит (~5,5 GB) + адаптеры + оптимизатор (~3 GB) + активации — пик около 14 GB при batch 4, sequence 2048. RTX 3090 за $0,074/ч справляется тоже, но примерно на 35 % медленнее.

Формат датасета

data.jsonl
// /ft/data.jsonl — one instruction pair per line
{"instruction": "Summarize this ticket for an engineer.",
 "input": "Customer reports…",
 "output": "P1 — checkout API 500s when…"}

На этом масштабе качество решающим образом превосходит объём: 2 000 чистых, согласованных пар превосходят 50 тыс. пар, собранных скрейпингом. Убирайте дубликаты, зачищайте шум форматирования и сохраняйте ответы точно в нужном вам тоне.

Конфигурация axolotl с комментариями

qlora.yml — вся конфигурация
# /ft/qlora.yml
base_model: meta-llama/Llama-3.1-8B-Instruct
load_in_4bit: true            # the Q in QLoRA
adapter: qlora
lora_r: 32                    # capacity of the adapter; 16-64 is the sane band
lora_alpha: 64                # 2x r is the boring, correct default
lora_target_linear: true      # all linear layers — better than picking modules

datasets:
  - path: /ft/data.jsonl
    type: alpaca
val_set_size: 0.05

sequence_len: 2048
micro_batch_size: 4
gradient_accumulation_steps: 4   # effective batch 16
num_epochs: 3
learning_rate: 2e-4
lr_scheduler: cosine
warmup_ratio: 0.03

gradient_checkpointing: true  # ~30% VRAM back for ~20% speed
flash_attention: true
bf16: true

output_dir: /ft/out
save_steps: 100               # ← interruption insurance
logging_steps: 10

Запуск и наблюдение

the run
axolotl train /ft/qlora.yml
# step 10/561 · loss 1.842 · 14.1 GB VRAM · 3.4 it/s
# …
# step 561/561 · loss 0.914 · eval_loss 0.987 · 94 min

Читайте кривые так: train loss должен быстро падать, а затем выходить на плато; eval loss, падающий следом, значит обучение, а рост eval loss при падающем train loss значит запоминание — остановитесь в точке расхождения (или увеличьте val_set_size и уменьшите число эпох). При первом запуске 3 эпохи на 10 тыс. пар почти никогда не переобучают модель 8B.

Слияние, тестирование, сервинг

от адаптеров до эндпоинта
# merge adapters into standalone weights (on /ft, survives the instance)
axolotl merge-lora /ft/qlora.yml --lora-model-dir /ft/out

# smoke-test locally
python -m vllm.entrypoints.openai.api_server \
  --model /ft/out/merged --max-model-len 4096 &
curl localhost:8000/v1/chat/completions -d '{…}'

# then destroy the trainer and serve properly
lowcostgpu destroy i-c41b9a02 --yes
lowcostgpu launch --gpu rtx-5090 --template vllm \
  --volume ft:/ft:ro --env MODEL=/ft/out/merged

Выбор карты для сервинга — это отдельная от обучения оптимизация; этим правильно занимается руководство по vLLM.

Итоговый счёт

GPU, ~96 мин, прерываемый тариф$0,28
Том 20 GB, 2 дня$0,107
Итого≈ $0,39

8B-модель с нужным поведением за цену сэндвича. Тот же рецепт масштабируется: 14B — на той же карте, ~34B — на карте 32 GB, 70B — на карте 80 GB за ночь — предельные значения есть в руководстве по VRAM.


Применить цифры на практике

Каждая цена в этом руководстве — наш тариф в реальном времени: фиксированный, ≥30 % ниже медианы рынка, с посекундной тарификацией. Разверните ту же конфигурацию, что описана выше, из консоли примерно за 30 секунд — оплата криптой, без карты и без KYC.

Читайте также

Те же цены в реальном времени, новые вопросы.

Все руководства
Как развернуть vLLM на облачном GPU: эндпоинт, совместимый с OpenAIПрактическое руководствоКак развернуть vLLM на облачном GPU: эндпоинт, совместимый с OpenAIРазверните vLLM на арендованном GPU, подберите карту под размер модели, измерьте скорость в токенах в секунду и посчитайте стоимость за миллион токенов. 11 мин чтения обновлено 2026-09-03Облачный рендеринг в Blender на GPU: настройка, стоимость за кадр, подводные камниПрактическое руководствоОблачный рендеринг в Blender на GPU: настройка, стоимость за кадр, подводные камниРендеринг сцен Cycles на арендованном оборудовании RTX: настройка без монитора, расчёт стоимости за кадр и ошибки, которые незаметно утраивают счёт за рендер. 10 мин чтения обновлено 2026-09-03Как запустить ComfyUI на облачном GPU: настройка, модели, стоимость за изображениеПрактическое руководствоКак запустить ComfyUI на облачном GPU: настройка, модели, стоимость за изображениеРазверните ComfyUI на арендованной RTX 4090 или 5090 за 30 секунд, храните чекпоинты на томе, запускайте воркфлоу без GUI через API, знайте цену каждого изображения. 9 мин чтения обновлено 2026-09-03

Разверните первый GPU меньше чем за минуту

Пополните баланс в криптовалюте, сравните нас с текущим провайдером. Посекундная тарификация, фиксированные цены ≥ 30 % ниже рынка — для отмены достаточно остановить инстанс.