Unsloth — в 2x быстрее дообучение

Дообучайте LLM в 2 раза быстрее с на 70% меньшим потреблением VRAM, используя Unsloth на Clore.ai

Unsloth переписывает критичные для производительности части HuggingFace Transformers с помощью вручную оптимизированных ядер Triton, обеспечивая 2x скорость обучения и сокращение использования видеопамяти на 70% без потери точности. Это взаимозаменяемая замена — ваши существующие скрипты TRL/PEFT работают без изменений после замены импорта.

circle-check

Ключевые особенности

  • Обучение в 2 раза быстрее — кастомные ядра Triton для attention, RoPE, кросс-энтропии и RMS нормализации

  • На 70% меньше видеопамяти — интеллектуальное чекпоинтирование градиентов и отображение весов в память

  • Drop-in замена для HuggingFace — смена только одного импорта, ничего больше

  • QLoRA / LoRA / полная дообучение — все режимы поддерживаются из коробки

  • Нативный экспорт — сохраняйте напрямую в GGUF (все типы квантизации), LoRA адаптеры или объединённые 16-битные модели

  • Широкое покрытие моделей — Llama 3.x, Mistral, Qwen 2.5, Gemma 2, DeepSeek-R1, Phi-4 и другие

  • Свободное и открытое ПО (Apache 2.0)

Требования

Компонент
Минимум
Рекомендуется

GPU

RTX 3060 12 ГБ

RTX 4090 24 ГБ

VRAM

10 ГБ

24 ГБ

ОЗУ

16 ГБ

32 ГБ

Диск

40 ГБ

80 ГБ

CUDA

11.8

12.1+

Python

3.10

3.11

Цены Clore.ai: RTX 4090 ≈ $0.5–2/день · RTX 3090 ≈ $0.3–1/день · RTX 3060 ≈ $0.15–0.3/день

Модель 7B с 4-битным QLoRA помещается в ~10 GB видеопамяти, что делает жизнеспособным даже RTX 3060.

Быстрый старт

1. Установите Unsloth

2. Загрузите модель с 4-битной квантизацией

3. Примените LoRA адаптеры

4. Подготовьте данные и обучите

Экспорт модели

Сохранить только LoRA адаптер

Объединить и сохранить полную модель (float16)

Экспорт в GGUF для Ollama / llama.cpp

После экспорта разверните с Ollama:

Примеры использования

Дообучение на кастомном наборе данных для чата

DPO / ORPO выравнивающее обучение

Справочник по использованию видеопамяти

Модель
Квантизация
Метод
VRAM
GPU

Llama 3.1 8B

4-бит

QLoRA

~10 ГБ

RTX 3060

Llama 3.1 8B

16-бит

LoRA

~18 GB

RTX 3090

Qwen 2.5 14B

4-бит

QLoRA

~14 GB

RTX 3090

Mistral 7B

4-бит

QLoRA

~9 GB

RTX 3060

DeepSeek-R1 7B

4-бит

QLoRA

~10 ГБ

RTX 3060

Llama 3.3 70B

4-бит

QLoRA

~44 GB

2× RTX 3090

Советы

  • Всегда используйте use_gradient_checkpointing="unsloth" — это самый большой экономитель видеопамяти, уникальный для Unsloth

  • Установите lora_dropout=0 — Triton-ядра Unsloth оптимизированы для нулевого dropout и работают быстрее

  • Используйте packing=True в SFTTrainer, чтобы избежать потерь на паддинге для коротких примеров

  • Начните с r=16 для ранга LoRA — повышайте до 32 или 64 только если валидационная потеря выравнивается

  • Мониторьте с помощью wandb — добавьте report_to="wandb" в TrainingArguments для отслеживания loss

  • Настройка размера батча — увеличьте per_device_train_batch_size пока не приблизитесь к лимиту видеопамяти, затем компенсируйте с помощью gradient_accumulation_steps

Устранение неполадок

Проблема
Решение

OutOfMemoryError во время обучения

Уменьшите размер батча до 1, уменьшите max_seq_length, или используйте 4-битную квантизацию

Ошибки компиляции ядра Triton

Запустите pip install triton --upgrade и убедитесь, что CUDA toolkit совпадает

Медленный первый шаг (компиляция)

Нормально — Triton компилирует ядра при первом запуске, затем они кешируются

bitsandbytes Ошибка версии CUDA

Установите соответствующую версию: pip install bitsandbytes --upgrade

Пики loss во время обучения

Понизьте скорость обучения до 1e-4, добавьте warmup шаги

Аварии при экспорте в GGUF

Убедитесь в наличии достаточного ОЗУ (2× размер модели) и места на диске для конверсии

Ресурсы

Последнее обновление

Это было полезно?