Efficient Quantization-Aware Training (EfficientQAT) предлагает новую технику для сжатия LLM, состоящую из двух этапов: блочное обучение всех параметров (Block-AP) и обучение параметров квантования (E2E-QP).
Block-AP последовательно проводит квантизационное обучение для всех параметров каждого блока трансформера с блочной реконструкцией.
Это позволяет избежать обучения всей модели и сохраняет эффективность памяти.
На втором этапе EfficientQAT фиксируются веса и обучаются только параметры квантования (шаги квантования) на целевых наборах данных. Это повышает производительность и позволяет проводить инструктаж моделей для выполнения специфических задач.
Эксперименты, проведенные в ходе исследования показывают, что EfficientQAT превосходит существующие методы квантования по производительности и эффективности потребления памяти.
Например, модель Llama-2-70B была квантована до 2 бит на одном GPU A100-80GB за 41 час с потерей точности менее 3%.
EfficientQAT также способен улучшать точность в сложных условиях 2-битной квантизации и позволяет эффективно проводить finetune моделей.
В репозитории проекта предоставлен большой список на предварительно квантованных Model Zoo моделей семейств Llama-2 и Llama-3 в форматах EQAT, GPTQ и BitBLAS.
@ai_machinelearning_big_data
#AI #LLM #EQAT #ML #Quantization
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
AutoRound - усовершенствованный алгоритм квантования для малоразрядных LLM, основанный на методе "SignRound" исследования "Optimize Weight Rounding via Signed Gradient Descent for the Quantization of LLMs".
Алгоритм использует градиентный спуск по знаку для точной настройки значений округления и minmax-значений весов всего за 200 шагов. AutoRound составляет конкуренцию современным методам, не создавая дополнительных накладных расходов на инференс и сохраняя низкую стоимость настройки.
В основе AutoRound лежит идея SignRound - поиска оптимального порога округления для каждого блока весов. В отличие от стандартного округления к ближайшему целому (RTN),
SignRound учитывает взаимосвязи между весами, и между весами и активациями. Для этого используется блочная реконструкция вывода, где минимизируется ошибка между выходом исходного блока и его квантованной версией.
Алгоритм поддерживает практически все основные крупные языковые модели и семейства:
Llama, Qwen, Yi, Mistral, gemma, falcon, Phi, Mixtral и др.
Полный список с примерами и рецептами конфигураций для каждого семейства можно найти в репозитории проекта.
@ai_machinelearning_big_data
#AI #ML #Quantization #LLM #AutoRound
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Vector Post-Training Quantization (VPTQ) - экспериментальный метод, который использует векторное квантование LLM c сохранением высокой точности при сверхнизкой битовой ширине (<2 бит).
VPTQ использует технику оптимизации второго порядка для векторного квантования в LLM. Ключевым алгоритмом VPTQ является "Channel-Independent Second-Order Optimization" - квантование каждого столбца матрицы весов независимо и использование взвешенной по матрице Гессе инициализации центроидов.
Оптимизация в VPTQ состоит из применения взвешенных К-средних для центроидов, остаточного векторного квантования (RVQ) в качестве балансировщика ошибки и исключения выбросов в весах для повышения точности .
Эксперименты на моделях LLaMA-2, LLaMA-3 и Mistral-7B показали, что в сравнении с существующими методами, VPTQ обеспечивает сопоставимую или более высокую точность при 2-битном квантовании, уменьшая перплексию
на 0.01-0.34, 0.38-0.68 и 4.41-7.34
соответственно. В сообществе VPTQ на Huggingface выложена 41 модель в разрядностях VPTQ-квантования от 1.375 до 4 bits:
Посчитать битность и размер модели по названию на примере
Meta-Llama-3.1-70B-Instruct-v8-k65536-256-woft
:Расчет итоговой битности: индекс: log2(65536) = 16 / 8 = 2 bits, остаточный индекс: log2(256) = 8 / 8 = 1 bit, итоговое значение 2 bits+1 bit, = 3 bits.
Расчет размера модели (без учета codebook): 70B * 3 bits / 8 bits = 26.25 GB.
# Set up CUDA PATH:
export PATH=/usr/local/cuda-12/bin/:$PATH
# Clone repo:
pip install git+https://github.com/microsoft/VPTQ.git --no-build-isolation
# Simple generation:
python -m vptq --model=VPTQ-community/Meta-Llama-3.1-70B-Instruct-v8-k65536-0-woft --prompt="..."
# Chatbot example:
python -m vptq --model=VPTQ-community/Meta-Llama-3.1-70B-Instruct-v8-k65536-0-woft --chat
# Gradio Web App
python -m vptq.app
📌Лицензирование кода : MIT License.
📌Лицензирование моделей: cогласно родительской модели.
▪Коллекция моделей на HF
▪Arxiv
▪Сообщество в HF
▪GitHub
@ai_machinelearning_big_data
#AI #ML #LLM #Quantization #Microsoft #VPTQ #hardcore
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Unsloth представил практический метод динамического 4-битного квантования VLM, который решает проблему снижения точности популярных алгоритмов квантования AWQ, Bitsandbytes, GPTQ и HQQ.
В эксперименте использовался Bitsandbytes в качестве основы для всех линейных слоев, но квантование определенных параметров было динамически отключено. Этот подход позволил добиться значительного повышения точности при использовании всего на 10% больше VRAM по сравнению с стандартным 4-битным квантованием Bitsandbytes.
В результате, этот метод позволяет сохранить точность модели, близкую к 16-битной точности, при значительном сокращении размера модели.
Тестирование на VL-моделях Llama 3.2 Vision, Qwen2 Vision и Pixtral, показали значительные преимущества по сравнению со стандартным 4-битным квантованием. Например, квантование Qwen2 Vision 2B до 4 бит приводило к полной поломке модели, в то время как метод динамического квантования позволял восстановить точность при увеличении использования памяти всего на 450 МБ.
Аналогичным образом, получилось восстановить точность Llama 3.2 Vision 11B и Pixtral 12B, которые также деградировали на стандартном 4-битном квантовании.
⚠️ К каждой модели в Model Card можно найти блокнот для запуска в Google Collab и созданные сообществом GGUF-версии.
@ai_machinelearning_big_data
#AI #ML #VLM #Unsolth #Quantization
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Gemma 3 QAT
Google DeepMind выпустили обновленные версии своих языковых моделей Gemma 3, которые стали значительно эффективнее по использованию памяти без существенной потери производительности.
Ключевая технология: QAT (Quantization-Aware Training)
Что это? QAT — это техника обучения, при которой модель во время дообучения "учится" работать с пониженной точностью вычислений (используя меньше бит для представления чисел). Это имитирует условия, в которых модель будет работать после квантизации (сжатия).
Обычная квантизация после обучения может привести к падению точности. QAT позволяет модели заранее адаптироваться к работе в низкоточном режиме, минимизируя потерю качества после финальной квантизации.
Каждая модель (1B, 4B, 12B, 27B) была дообучена примерно на 5000 шагов с имитацией низкой разрядности весов. При этом использовался приём, похожий на знание-дистилляцию: оригинальная неквантованная модель выступала в роли «учителя».
Преимущество QAT-подхода для Gemma 3 оказалось колоссальным. Официально заявлено, что квантованные модели Gemma 3 QAT сохраняют качество, практически не упало, при этом требуют в ~3 раза меньше памяти.
Например, объём памяти для хранения весов самой крупной модели на 27B параметров сократился с ~54 ГБ (в формате bfloat16) до ~14 ГБ в 4-битном целочисленном формате – это экономия памяти примерно в ~3–4 раза.
✔️HF
@ai_machinelearning_big_data
#google #gemma #AI #ML #LLM #Quantization
Google DeepMind выпустили обновленные версии своих языковых моделей Gemma 3, которые стали значительно эффективнее по использованию памяти без существенной потери производительности.
Ключевая технология: QAT (Quantization-Aware Training)
Что это? QAT — это техника обучения, при которой модель во время дообучения "учится" работать с пониженной точностью вычислений (используя меньше бит для представления чисел). Это имитирует условия, в которых модель будет работать после квантизации (сжатия).
Обычная квантизация после обучения может привести к падению точности. QAT позволяет модели заранее адаптироваться к работе в низкоточном режиме, минимизируя потерю качества после финальной квантизации.
Каждая модель (1B, 4B, 12B, 27B) была дообучена примерно на 5000 шагов с имитацией низкой разрядности весов. При этом использовался приём, похожий на знание-дистилляцию: оригинальная неквантованная модель выступала в роли «учителя».
Преимущество QAT-подхода для Gemma 3 оказалось колоссальным. Официально заявлено, что квантованные модели Gemma 3 QAT сохраняют качество, практически не упало, при этом требуют в ~3 раза меньше памяти.
Например, объём памяти для хранения весов самой крупной модели на 27B параметров сократился с ~54 ГБ (в формате bfloat16) до ~14 ГБ в 4-битном целочисленном формате – это экономия памяти примерно в ~3–4 раза.
ollama run hf(.)co/google/gemma-3-4b-it-qat-q4_0-gguf
✔️HF
@ai_machinelearning_big_data
#google #gemma #AI #ML #LLM #Quantization
Недавно был представлен HIGGS (Hadamard Incoherence with Gaussian MSE-optimal GridS) — data-free метод квантизации, который позволяет запускать большие языковые модели локально, за минуты, без GPU.
Применение:
🛠 Установка:
pip install flute-kernel
python
from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b-it",
quantization_config=HiggsConfig(bits=4),
device_map="auto",
)
@ai_machinelearning_big_data
#quantization #LLM #opensource #HIGGS #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM