Почему «4-битная» модель весит 4,58 ГБ, а не 3,74 ГБ

12+
12+

1 просмотр

8 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

1 просмотр

8 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

1 просмотр

8 дней назад

Файл Llama 3.1 8B в формате F16 занимает 14,96 ГиБ. Четыре бита — это четверть шестнадцати, поэтому 4-битный файл Q4_K_M должен занимать около 3,74 ГиБ. Он занимает 4,58 ГиБ. Откуда берутся дополнительные 0,84 ГиБ, и что теряет модель при уменьшении размера? Этот анимированный пример показывает, как работает квантование LLM, отслеживая один вес в 4-битном файле. Мы преобразуем вес 0,19 в целочисленный код на сетке от −7 до 7, считываем его обратно как примерно 0,1371 и измеряем ошибку округления около −0,0529. Затем мы видим, почему каждому коду нужна шкала, как один выброс растягивает сетку для каждого веса, который ее разделяет, и почему меньшие группы лучше подходят, но хранят больше метаданных: Q4_0 из llama.cpp упаковывает 32 четырехбитных кода в 16 байт плюс одну 2-байтовую шкалу FP16, поэтому в среднем на каждый вес приходится 4,5 бита. Далее, квантование весов с учетом активации (AWQ) показывает, что одна и та же ошибка веса может иметь в десять раз большее значение, когда его активация в десять раз больше, и как парное масштабирование защищает эти каналы, не изменяя выход слоя перед округлением. Затем мы расшифровываем имя GGUF Q4_K_M по частям: Q4 для четырехбитных кодов, K для группированной блочной структуры llama.cpp (256 весов в восьми группах по 32) и M для рецепта, в основном использующего Q4_K, который сохраняет выбранные тензоры в пяти или шести битах. Вместе они в среднем содержат 4,8944 бита на вес, поэтому файл примерно в 3,27 раза меньше, а не в 4. В заключение мы рассмотрим, чего не может гарантировать 4-битная метка. В исследовании EMNLP 2025, проведенном на пяти моделях Llama и Qwen, 4-битные модели AWQ в среднем показали результаты на 0,7 балла ниже, чем их версии BF16, в тесте на извлечение RULER при 8K токенах и на 6,4 балла ниже при 128K. Попутно мы ответим на следующие вопросы: • Что на самом деле хранит "4-битный" код, и почему 4-битная модель не в 4 раза меньше? • Как масштабы, группы и выбросы определяют, насколько сильно изменяется квантованный вес? • Что означают Q4, K и M в имени файла GGUF, например, Q4_K_M? Разделы 0:00 Почему 4-битный файл не в 4 раза меньше? 1:05 Один вес превращается в 4-битный код 2:36 Потери от округления и потери от обрезки 2:58 Один выброс растягивает сетку 4:06 Гранулярность: Q4_0 при 4,5 битах на вес 4:40 Не все ошибки одинаково важны 5:08 AWQ: квантование весов с учетом активации 5:36 Прием масштабирования 6:29 Насколько сильное масштабирование — это уже слишком? 6:59 Чтение Q4_K_M: Часть Q4 7:29 K: Блоки по 256 весов 7:50 M: Тензоры более высокой точности 8:14 Откуда берутся дополнительные 0,84 ГиБ 8:52 Что «4 бита» не могут рассказать о качестве Полная серия: Плейлист LLM Zero to Hero: https://www.youtube.com/playlist?list=PLI3rR0P6VJUbhNRYhrnzexqkDim9kcjuF Источники: • Инструмент квантизации llama.cpp: Размеры файлов Llama-3.1-8B и количество бит на вес для каждого типа квантизации: https://github.com/ggml-org/llama.cpp/tree/master/tools/quantize • Запрос на слияние k-quantes в llama.cpp #1684 (Q4_K и другие варианты расположения блоков K, 2023): https://github.com/ggml-org/llama.cpp/pull/1684 • Спецификация формата файла GGUF: https://github.com/ggml-org/ggml/blob/master/docs/gguf.md • Обзор квантизации TorchAO — PyTorch: https://docs.pytorch.org/ao/stable/contributing/quantization_overview.html • AWQ: квантизация весов с учетом активации для сжатия и ускорения LLM — Lin et al. (2023), MLSys 2024: https://arxiv.org/abs/2306.00978 • Влияет ли квантизация на производительность моделей в задачах с длинным контекстом? — Mekala et al. (2025), EMNLP 2025: https://arxiv.org/abs/2505.20276 О канале ML Visualized — это канал, созданный бывшим инженером по машинному обучению из FAANG, который снимает видео из своей спальни о том, как на самом деле работает современный ИИ. Каждое видео начинается с нуля и покадрово раскрывает реальную математику и архитектуру таких систем, как ChatGPT, Claude и Gemini. Никаких поверхностных объяснений. Никаких «это черный ящик». Только терпеливые, подробные объяснения механизмов внимания, эмбеддингов, токенизации, тонкой настройки и RAG, которые мне самому очень пригодились бы, когда я только начинал изучать это. Создано с помощью Manim. Сделано с терпением. Если какой-то момент в этом видео заставил меня что-то понять, оставьте комментарий — именно это мотивирует меня продолжать анимировать. Подписывайтесь и включайте уведомления, чтобы получать больше визуализаций математики, лежащей в основе современного ИИ. #КвантованиеLLM #Квантование #GGUF #LlamaCpp #AWQ #LLM #ГлубокоеОбучение #МашинноеОбучение #ВизуализацияML Запросы пользователей: Квантование LLM: объяснение Что такое квантование в LLM Квантование модели Квантование: объяснение 4-битное квантование: объяснение Квантование GGUF Квантование LlamaCpp Значение q4_k_m Как работает квантование в LLM Квантование AWQ

Название:

Почему «4-битная» модель весит 4,58 ГБ, а не 3,74 ГБ

Категория:

Разное