Google представляет модели с QAT для ‘Gemma 3’: снижение занимаемой памяти при сохранении высокого качества
Google недавно представила модели с Quantization-Aware Training (QAT) для своего семейства открытых AI-моделей ‘Gemma 3’. Эта разработка направлена на решение проблемы вычислительных ресурсов, необходимых для больших языковых моделей, делая их более доступными для широкого спектра аппаратных конфигураций.
Что такое ‘Gemma 3’?
‘Gemma 3’ – это семейство легких, высокопроизводительных моделей с открытым весом, разработанных Google. Они построены на той же исследовательской базе и технологиях, что и модель Google ‘Gemini 2.0’. ‘Gemma 3’ доступна в четырех вариантах размера параметров: 1B, 4B, 12B и 27B. Она зарекомендовала себя как ведущая модель, работающая в собственной точности BFloat16 (BF16) на высокопроизводительных графических процессорах, таких как NVIDIA H100.
Существенным преимуществом QAT-моделей ‘Gemma 3’ является их способность поддерживать высокое качество при значительном снижении требований к памяти. Это крайне важно, поскольку позволяет высокопроизводительным моделям, таким как ‘Gemma 3’ 27B, работать локально на графических процессорах потребительского класса, таких как NVIDIA GeForce RTX 3090.
Мотивация для создания QAT-моделей
При сравнении производительности часто используется BF16. Однако при развертывании больших моделей иногда используются форматы с более низкой точностью, такие как FP8 (8-битный), для снижения требований к оборудованию (например, к количеству графических процессоров), даже ценой производительности. Существует высокий спрос на использование ‘Gemma 3’ с существующим оборудованием.
Именно здесь вступает в игру квантование. В моделях AI квантование снижает точность чисел (параметров модели), которые модель использует для хранения и расчета ответов. Это похоже на сжатие изображения путем уменьшения количества используемых цветов. Вместо представления параметров в 16-битном формате (BF16) их можно представить в меньшем количестве битов, например, в 8-битном (INT8) или 4-битном (INT4).
Однако квантование часто приводит к снижению производительности. Чтобы сохранить качество, Google использует QAT. Вместо квантования модели после ее полной тренировки, QAT включает процесс квантования в саму тренировку. Путем моделирования операций с низкой точностью во время обучения QAT минимизирует ухудшение производительности после обучения. Это приводит к созданию более мелких, быстрых моделей с сохранением точности.
Значительная экономия VRAM
Google заявляет, что квантование INT4 значительно снижает объем VRAM (памяти графического процессора), необходимый для загрузки модели, по сравнению с использованием BF16, следующим образом:
- ‘Gemma 3’ 27B: 54 ГБ (BF16) до 14,1 ГБ (INT4)
- ‘Gemma 3’ 12B: 24 ГБ (BF16) до 6,6 ГБ (INT4)
- ‘Gemma 3’ 4B: 8 ГБ (BF16) до 2,6 ГБ (INT4)
- ‘Gemma 3’ 1B: 2 ГБ (BF16) до 0,5 ГБ (INT4)
Это снижение занимаемой памяти имеет первостепенное значение для демократизации доступа к мощным моделям AI, позволяя развертывать их на устройствах с ограниченными ресурсами.
Поддержка моделей ‘Gemma 3’ на различных устройствах
По данным Google, QAT позволяет мощным моделям ‘Gemma 3’ работать на широком спектре потребительского оборудования.
‘Gemma 3’ 27B (INT4 QAT): Можно комфортно загрузить и запустить локально на настольном компьютере с NVIDIA GeForce RTX 3090 (24 ГБ VRAM) или эквивалентной картой, что позволяет пользователям использовать самую большую модель ‘Gemma 3’.
‘Gemma 3’ 12B (INT4 QAT): Может эффективно работать на графических процессорах ноутбуков, таких как NVIDIA GeForce RTX 4060 Laptop GPU (8 ГБ VRAM), обеспечивая мощные возможности AI на портативных машинах.
Меньшие модели (4B, 1B): Стали более доступными для систем с ограниченными ресурсами, таких как смартфоны.
Это расширение аппаратной совместимости значительно расширяет потенциальные применения ‘Gemma 3’, делая ее доступной для более широкой аудитории разработчиков и пользователей. Возможность запуска этих моделей на потребительском оборудовании открывает новые возможности для локальной обработки AI, снижая зависимость от облачных сервисов и повышая конфиденциальность.
Простая интеграция с популярными инструментами
Google позаботилась о том, чтобы разработчики могли использовать эти новые QAT-модели в привычных рабочих процессах. Модели INT4 QAT и Q4\_0 (4-битные) QAT для ‘Gemma 3’ доступны на Hugging Face и Kaggle. Их можно легко протестировать с помощью популярных инструментов для разработчиков, таких как:
Ollama: Позволяет пользователям запускать QAT-модели ‘Gemma 3’ с помощью простых команд. Ollama упрощает процесс развертывания и экспериментов с этими моделями, облегчая разработчикам их интеграцию в свои проекты.
LM Studio: Предоставляет интуитивно понятный и простой в использовании GUI (графический интерфейс пользователя), который позволяет пользователям легко загружать и запускать QAT-модели ‘Gemma 3’ на своих настольных компьютерах. LM Studio упрощает установку и управление моделями AI, делая их более доступными для нетехнических пользователей.
MLX: Обеспечивает оптимизированный и эффективный вывод QAT-моделей ‘Gemma 3’ на Mac с процессорами Apple Silicon. MLX использует уникальную архитектуру Apple Silicon для обеспечения повышенной производительности и энергоэффективности для рабочих нагрузок AI.
Gemma.cpp: Специальная реализация Google на C++. Позволяет осуществлять очень эффективный вывод непосредственно на ЦП. Gemma.cpp предоставляет низкоуровневый интерфейс для разработчиков, которые хотят точно настроить производительность своих AI-приложений.
llama.cpp: Обеспечивает встроенную поддержку QAT-моделей ‘Gemma 3’ в формате GGUF, что упрощает интеграцию в существующие рабочие процессы. Llama.cpp — популярная библиотека для запуска больших языковых моделей на различных аппаратных платформах, включая ЦП и графические процессоры.
Доступность QAT-моделей ‘Gemma 3’ на этих платформах и их совместимость с популярными инструментами значительно снижают порог входа для разработчиков, которые хотят использовать эти модели в своих проектах. Эта простота интеграции поощряет эксперименты и инновации, что приводит к расширению спектра применения ‘Gemma 3’.
Технические основы обучения с учетом квантования
Чтобы в полной мере оценить значение QAT-моделей Google для ‘Gemma 3’, важно углубиться в технические детали квантования и то, как QAT решает связанные с этим задачи.
Понимание квантования:
Квантование — это метод, используемый для уменьшения размера и вычислительной сложности нейронных сетей за счет представления весов и активаций с более низкой точностью. Вместо использования чисел с плавающей запятой (например, 32-битных или 16-битных) в квантованных моделях для представления этих значений используются целые числа (например, 8-битные или 4-битные). Это снижение точности приводит к нескольким преимуществам:
- Уменьшенный объем памяти: Представления с более низкой точностью требуют меньше памяти для хранения модели, что позволяет развертывать модели на устройствах с ограниченными ресурсами памяти.
- Более быстрый вывод: Целочисленные операции, как правило, быстрее операций с плавающей запятой, что приводит к ускорению времени вывода.
- Более низкое энергопотребление: Целочисленные операции потребляют меньше энергии, чем операции с плавающей запятой, что делает квантованные модели более подходящими для устройств с питанием от батарей.
Проблемы квантования:
Хотя квантование предлагает значительные преимущества, оно также создает проблемы:
- Снижение точности: Снижение точности весов и активаций может привести к потере точности. Модель может стать менее способной улавливать нюансы данных, что приведет к снижению производительности.
- Проблемы калибровки: Диапазон значений, которые могут быть представлены целыми числами, ограничен. Это может привести к отсечению или насыщению активаций, что может еще больше ухудшить точность.
Обучение с учетом квантования (QAT): Решение:
Обучение с учетом квантования (QAT) — это метод, который решает проблему снижения точности путем включения квантования в процесс обучения. В QAT модель обучается с имитацией квантования, что означает, что веса и активации квантуются во время прямого и обратного проходов обучения. Это позволяет модели научиться компенсировать эффекты квантования, что приводит к созданию более точной квантованной модели.
Как работает QAT:
Имитация квантования: Во время обучения веса и активации квантуются до желаемой точности (например, 8-битной или 4-битной) после каждого прямого и обратного прохода. Это имитирует квантование, которое будет применено во время вывода.
Корректировка градиента: Градиенты также корректируются с учетом эффектов квантования. Это помогает модели научиться минимизировать ошибку, вызванную квантованием.
Точная настройка: После обучения с имитацией квантования модель точно настраивается с квантованными весами и активациями. Это еще больше повышает точность квантованной модели.
Преимущества QAT:
- Улучшенная точность: QAT значительно повышает точность квантованных моделей по сравнению с квантованием после обучения (PTQ), которое квантует модель после ее обучения.
- Устойчивость к квантованию: QAT делает модель более устойчивой к эффектам квантования, позволяя достигать более высоких коэффициентов сжатия без ущерба для точности.
- Аппаратная совместимость: QAT позволяет развертывать модель на аппаратных платформах, поддерживающих целочисленные операции, таких как мобильные устройства и встроенные системы.
Реализация QAT компанией Google для ‘Gemma 3’:
Реализация QAT компанией Google для ‘Gemma 3’ использует новейшие достижения в области методов квантования для достижения высокой точности и коэффициентов сжатия. Конкретные детали их реализации не являются общедоступными, но, вероятно, они используют такие методы, как:
- Квантование со смешанной точностью: Использование различных уровней точности для различных частей модели для оптимизации точности и сжатия.
- Квантование для каждого тензора: Квантование каждого тензора независимо для минимизации ошибки, вызванной квантованием.
- Параметры обучаемого квантования: Изучение параметров квантования во время обучения для дальнейшего повышения точности.
Более широкие последствия QAT и ‘Gemma 3’
Выпуск QAT-моделей для ‘Gemma 3’ представляет собой значительный шаг вперед в разработке более доступных и эффективных моделей AI. Снижая объем занимаемой памяти и вычислительные требования этих моделей, Google позволяет более широкому кругу разработчиков и пользователей использовать их возможности. Это имеет несколько важных последствий:
Демократизация AI:
Возможность запускать мощные модели AI на потребительском оборудовании демократизирует доступ к AI,позволяя частным лицам и малым предприятиям разрабатывать и развертывать приложения на основе AI, не полагаясь на дорогостоящие облачные сервисы.
Периферийные вычисления:
QAT-модели хорошо подходят для периферийных вычислений, когда данные обрабатываются локально на устройствах, а не в облаке. Это снижает задержку, повышает конфиденциальность и обеспечивает новые приложения, такие как автономные транспортные средства и интеллектуальные датчики.
Мобильный AI:
Уменьшенный объем занимаемой памяти QAT-моделей делает их идеальными для мобильных устройств, обеспечивая новые функции на основе AI, такие как перевод в реальном времени, распознавание изображений и персонализированные рекомендации.
Исследования и разработки:
Доступность QAT-моделей с открытым исходным кодом для ‘Gemma 3’ ускорит исследования и разработки в области AI, позволяя исследователям экспериментировать с новыми методами квантования и изучать новые приложения для квантованных моделей.
Экологическая устойчивость:
Снижая энергопотребление моделей AI, QAT способствует экологической устойчивости. Это особенно важно, поскольку AI становится все более распространенным в нашей жизни.
В заключение, выпуск QAT-моделей Google для ‘Gemma 3’ является значительным достижением, которое окажет длительное влияние на область AI. Делая модели AI более доступными, эффективными и устойчивыми, Google помогает раскрыть весь потенциал AI на благо общества. Сочетание мощной архитектуры ‘Gemma 3’ и эффективных методов квантования QAT обещает стимулировать инновации в широком спектре приложений, от мобильных устройств до периферийных вычислений и за их пределами.