227K subscribers
3.8K photos
632 videos
17 files
4.45K links
Погружаемся в машинное обучение и Data Science

Показываем как запускать любые LLm на пальцах.

По всем вопросам - @haarrp

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download 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
🔥35👍127🥰3😴1