Загрузка урока...
У вас есть папка с LoRA-адаптерами. Но запускать её в продакшене через Python-скрипт медленно. Чтобы модель работала быстро и дешево (или вообще локально на ноутбуке клиента), нам нужно:
Merge: Вплавить адаптер в основную модель.
Quantize: Конвертировать результат в эффективный формат (GGUF или AWQ).
Мы загружаем базовую модель в полном 16-битном формате (FP16), накладываем адаптер и сохраняем как единое целое.
Внимание: Для этого нужно много RAM (ОЗУ), так как модель загружается целиком. Если не влезает в GPU, делайте merge на CPU.
Python
from peft import PeftModel
# 1. Грузим базу в FP16
base_model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B",
low_cpu_mem_usage=True,
return_dict=True,
torch_dtype=torch.float16,
device_map="cpu", # Важно для экономии VRAM
)
# 2. Накладываем адаптер
model = PeftModel.from_pretrained(base_model, "my_finetuned_model_lora")
# 3. Сливаем
model = model.merge_and_unload()
# 4. Сохраняем
model.save_pretrained("merged_model_16bit")
tokenizer.save_pretrained("merged_model_16bit")
Теперь у нас есть модель в FP16 (15 ГБ). Это все еще много. Выбираем формат сжатия:
GGUF (The Local King): Формат для llama.cpp.
Плюсы: Работает везде (CPU, Apple Silicon, Android, старые GPU).
Для кого: Для локального запуска, раздачи клиентам, выкладки на Qubu Models для широкой аудитории.
AWQ / GPTQ (The Server Standard):
Плюсы: Очень быстрый инференс на Nvidia GPU. Поддерживается vLLM.
Для кого: Для вашего продакшен-сервера с API.
EXL2 (The Speed King):
Плюсы: Самый быстрый на современных картах (4090).
Минус: Сложная настройка.
Для этого используется инструмент llama.cpp.
Bash
# Клонируем репозиторий llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
pip install -r requirements.txt
# Конвертируем в FP16 GGUF
python convert-hf-to-gguf.py ../merged_model_16bit --outfile model-f16.gguf
# Квантуем до 4 бит (Q4_K_M - золотая середина качество/размер)
./llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M
Теперь ваш файл весит около 5 ГБ вместо 15, и его можно запустить на любом макбуке через Ollama.
Если вы поднимаете свой API на Qudata, не используйте transformers pipeline — это медленно. Используйте vLLM.
Это движок, который управляет памятью видеокарты так эффективно (PagedAttention), что может обрабатывать в 10-20 раз больше запросов в секунду. Он «ест» ваши смерженные веса (или AWQ) нативно.
Выполните слияние (Merge) вашей обученной модели.
Сконвертируйте её в GGUF формат Q4_K_M.
Скачайте программу LM Studio (или Ollama), загрузите туда свой GGUF файл и пообщайтесь с созданной вами моделью.
Проверьте, сохранила ли она стиль/знания, которым вы её учили.
Monitor Loss: Единственный способ понять, учится модель или деградирует.
Merge: Адаптеры хороши для обучения, но для деплоя их лучше вплавлять в базу.
Quantize: GGUF для людей (локально), AWQ/vLLM для серверов. Никогда не деплойте модель в FP16, если у вас нет безлимитного бюджета.
В этом материале нет файлов для просмотра.