Машинное обучение digest
47 subscribers
1.5K photos
202 videos
776 links
Download Telegram
🌟 AutoRound: расширенный алгоритм квантования LLM от Intel.

AutoRound - усовершенствованный алгоритм квантования для малоразрядных LLM, основанный на методе "SignRound" исследования "Optimize Weight Rounding via Signed Gradient Descent for the Quantization of LLMs".

Алгоритм использует градиентный спуск по знаку для точной настройки значений округления и minmax-значений весов всего за 200 шагов. AutoRound составляет конкуренцию современным методам, не создавая дополнительных накладных расходов на инференс и сохраняя низкую стоимость настройки.

В основе AutoRound лежит идея SignRound - поиска оптимального порога округления для каждого блока весов. В отличие от стандартного округления к ближайшему целому (RTN),

SignRound учитывает взаимосвязи между весами, и между весами и активациями. Для этого используется блочная реконструкция вывода, где минимизируется ошибка между выходом исходного блока и его квантованной версией.

▶️Форматы квантования:

🟢AutoRound - подходит для CPU, HPU устройств и инференса со смешанной точностью;

🟢AutoGPTQ - подходит для симметричного квантования на устройствах CUDA, но симметричное квантование имеет тенденцию плохо работать при 2-битной точности;

🟢AutoAWQ - подходит для асимметричного 4-битного квантования на устройствах CUDA, в нем реализовано специализированное слияние слоев, предназначенное для моделей семейства Llama.

Алгоритм поддерживает практически все основные крупные языковые модели и семейства:
Llama, Qwen, Yi, Mistral, gemma, falcon, Phi, Mixtral и др.

Полный список с примерами и рецептами конфигураций для каждого семейства можно найти в репозитории проекта.


📌Лицензирование : Apache 2.0 License.


🟡Arxiv
🖥Github


@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
🌟 VPTQ: экстремальное квантование векторов LLM с низким битрейтом от Microsoft.

Vector Post-Training Quantization (VPTQ) - экспериментальный метод, который использует векторное квантование LLM c сохранением высокой точности при сверхнизкой битовой ширине (<2 бит).

🔥 VPTQ позволяет сжать 70B до 1-2 бит без переобучения и запустить ее на потребительской 4090.

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 отличается низкими вычислительными затратами процесса квантования (10.4-18.6% от времени аналогичных алгоритмов) и высокой пропускной способностью при инференсе (в 1.6-1.8 раза выше, чем у SOTA)

В сообществе VPTQ на Huggingface выложена 41 модель в разрядностях VPTQ-квантования от 1.375 до 4 bits:

🟢Llama 3.1 Instruct (8B, 70B и 405B);

🟢Qwen 2.5 Instruct (7B, 14B и 72B) .

Посчитать битность и размер модели по названию на примере Meta-Llama-3.1-70B-Instruct-v8-k65536-256-woft:

🟢v8 - длина вектора, равная 8
🟢k65536 - количество центроидов (2^16)
🟢256 - количество остаточных центроидов (2^8)
🟠woft - маркировка without finetune, в расчете не участвует.

Расчет итоговой битности: индекс: 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
🌟 Динамическое 4-битное квантование VLM с повышенной точностью от Unsolth .

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-битном квантовании.

▶️В открытый доступ на HF опубликованы модели, участвующие в исследовании:

🟢Llama-3.2-11B-Vision-Instruct-unsloth-bnb-4bit (7.23 GB)

🟢Llama-3.2-11B-Vision-unsloth-bnb-4bit (7.23 GB)

🟠Qwen2-VL-2B-Instruct-unsloth-bnb-4bit (1.81 GB)

🟠Qwen2-VL-7B-Instruct-unsloth-bnb-4bit (6.3 GB)

🟠QwQ-32B-Preview-unsloth-bnb-4bit

🟢Pixtral-12B-2409-unsloth-bnb-4bit (8.42GB)


⚠️ К каждой модели в Model Card можно найти блокнот для запуска в Google Collab и созданные сообществом GGUF-версии.


📌Лицензирование моделей:

🟠Семейство Llama: Llama 3.2 Community License Agreement
🟢Семейство Qwen: Apache 2.0 License.
🟢Pixtral: Apache 2.0 License.


🟡Статья
🟡Набор моделей
🟡Сообщество в Discord


@ai_machinelearning_big_data

#AI #ML #VLM #Unsolth #Quantization
Please open Telegram to view this post
VIEW IN TELEGRAM