Квантизация LLM: делаем модели легче в 4 раза. llm.. llm. llm-модели.. llm. llm-модели. llm-приложения.. llm. llm-модели. llm-приложения. искусственный интеллект.. llm. llm-модели. llm-приложения. искусственный интеллект. квантизация.

Введение

Современные языковые модели (LLM) содержат миллиарды параметров, что создает огромные требования к вычислительным ресурсам. Например:

  • BERT: <1 млрд параметров

  • GPT-2: >1 млрд параметров

  • GPT-3: сотни млрд параметров

  • DeepSeek: 671 млрд параметров

Такие модели сложно запускать не только на домашних компьютерах, но даже на серверах среднего уровня. Квантизация – это метод уменьшения размера моделей для более эффективного использования памяти.

📊 Форматы хранения чисел в нейросетях

Стандартные форматы

Формат

Размер

Применение

FP64

64 бита

Научные вычисления с высокой точностью

FP32

32 бита

Стандартный формат для нейросетей

FP16

16 бит

Экономия памяти в 2 раза

BF16

16 бит

Похож на FP32 по структуре, но экономнее

Квантизированные форматы

Формат

Размер

Экономия памяти

INT8

8 бит

В 4 раза меньше FP32

INT4

4 бита

В 8 раз меньше FP32

1.58-бит

~1.58 бита

До 20 раз меньше FP32

💡 Существуют даже эксперименты с квантизацией до 2 бит и 1 бита!

🔄 Как работает квантизация

Квантизация преобразует числа с плавающей запятой в целочисленный формат с меньшей точностью.

  1. Определяются границы (min/max) для весов модели

  2. Все веса за пределами этих границ обрезаются до крайних значений:

    • Все значения > max → 127

    • Все значения < min → -128

  3. Остальные значения распределяются по диапазону от -128 до 127 (для INT8)

  4. Более частые значения получают более плотное распределение

Проблемы квантизации

  • Модель может выдавать некорректные результаты

  • Модель может зацикливаться

  • Потеря точности

QAT (Quantization-Aware Training)

Современный подход, при котором модель на этапе обучения “знает”, что будет квантизирована, что позволяет сохранить качество работы.

📁 GGUF формат

GGUF – популярный формат для хранения квантизированных моделей, разработанный создателем Llama.cpp.

Структура GGUF файла

- Магические байты (4 байта)
- Версия (сейчас v3)
- Количество тензоров
- Метаданные (пары ключ-значение)
- Тензоры
- Контрольная сумма

Преимущества GGUF

  • ✅ Один файл содержит всё необходимое (веса, метаданные, токенизатор)

  • ✅ Memory mapping для быстрой загрузки моделей

  • ✅ Удобное хранение метаданных

  • ✅ Встроенная поддержка различных типов квантизации

🚀 Пример: Квантизация DeepSeek

DeepSeek – крупная языковая модель с 671 млрд параметров:

  • Оригинальный размер: 720 ГБ

  • После квантизации до 1.58 бит: 131 ГБ

Особенности 1.58-битной квантизации

  • Используются только 3 значения: -1, 0, 1

  • log₂(3) ≈ 1.58 бита

  • Не все слои квантизируются одинаково (иначе модель зацикливается)

Требования для запуска

  • Минимум 20 ГБ оперативной памяти

  • 131+ ГБ свободного места на диске

  • Для комфортной работы: сумма RAM + VRAM ≥ 80 ГБ

Производительность

  • На CPU: очень медленно, но работает

  • RTX 4090 (24 ГБ VRAM): ~9-10 токенов/сек

  • Две H100: 13-14 токенов/сек (1 пользователь) или до 140 токенов/сек (много пользователей)

📈 Сравнение качества

Интересный эксперимент: модель написала игру в стиле Flappy Bird до и после квантизации:

  • Оригинальная модель: код запускается, есть различные фигуры, подсчет очков

  • Квантизированная до 1.58 бит: практически такое же качество!

Заключение

Квантизация – мощный метод для уменьшения размера LLM без значительной потери качества. С развитием техник квантизации всё более крупные модели становятся доступными для запуска на обычном оборудовании.

Автор: rk-helper

Источник

Рейтинг@Mail.ru
Rambler's Top100