VPTQ: экстремальное квантование векторов LLM с низким битрейтом от Microsoft |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-10-04 12:57 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-битном квантовании, уменьшая перплексию VPTQ отличается низкими вычислительными затратами процесса квантования (10.4-18.6% от времени аналогичных алгоритмов) и высокой пропускной способностью при инференсе (в 1.6-1.8 раза выше, чем у SOTA) В сообществе VPTQ на Huggingface (https://huggingface.co/VPTQ-community) выложена 41 модель в разрядностях VPTQ-квантования от 1.375 до 4 bits: Llama 3.1 Instruct (8B (https://huggingface.co/collections/VPTQ-community/vptq-llama-31-8b-instruct-without-finetune-66f2b70b1d002ceedef02d2e), 70B (https://huggingface.co/collections/VPTQ-community/vptq-llama-31-70b-instruct-without-finetune-66f2bf454d3dd78dfee2ff11) и 405B (https://huggingface.co/collections/VPTQ-community/vptq-llama-31-405b-instruct-without-finetune-66f4413f9ba55e1a9e52cfb0)); Qwen 2.5 Instruct (7B (https://huggingface.co/collections/VPTQ-community/vptq-qwen-25-7b-instruct-without-finetune-66f3e9866d3167cc05ce954a), 14B (https://huggingface.co/collections/VPTQ-community/vptq-qwen-25-14b-instruct-without-finetune-66f827f83c7ffa7931b8376c) и 72B (https://huggingface.co/collections/VPTQ-community/vptq-qwen-25-72b-instruct-without-finetune-66f3bf1b3757dfa1ecb481c0)) . Посчитать битность и размер модели по названию на примере 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. Локальная установка и примеры инференса в разных режимах:
Лицензирование кода : MIT License. Лицензирование моделей: cогласно родительской модели. Коллекция моделей на HF (https://huggingface.co/collections/VPTQ-community/vptq-llama-31-70b-instruct-without-finetune-66f2bf454d3dd78dfee2ff11) Arxiv (https://arxiv.org/pdf/2409.17066) Сообщество в HF (https://huggingface.co/VPTQ-community) GitHub (https://github.com/microsoft/vptq) Источник: github.com Комментарии: |
|