При запуске модели Gemma необходимо принять два ключевых решения: 1) какой вариант Gemma вы хотите использовать и 2) какую платформу для выполнения ИИ вы будете применять? Ключевой вопрос при принятии обоих решений связан с тем, какое оборудование есть у вас и ваших пользователей для запуска модели.
Этот обзор поможет вам принять правильные решения и начать работу с моделями Gemma. Общие шаги для запуска модели Gemma следующие:
- Выберите фреймворк для запуска
- Выберите вариант Gemma
- Запросы на генерацию и вывод результатов выполнения
Выберите фреймворк
Модели Gemma совместимы с широким спектром инструментов экосистемы. Выбор подходящего инструмента зависит от имеющегося у вас оборудования (облачные графические процессоры или локальный ноутбук) и ваших предпочтений в интерфейсе (код Python или настольное приложение).
Воспользуйтесь следующей таблицей, чтобы быстро определить, какой инструмент лучше всего подходит для ваших нужд:
| Если вы хотите... | Рекомендуемая структура | Лучше всего подходит для |
|---|---|---|
| Запуск локально с пользовательским интерфейсом чата. | - LM Studio - Оллама | Для начинающих или пользователей, желающих получить опыт работы на ноутбуке, аналогичный Gemini. |
| Эффективная работа в Edge | - Gemma.cpp - LiteRT-LM - llama.cpp - API вывода LLM от MediaPipe - MLX | Высокопроизводительный локальный вывод с минимальными ресурсами. |
| Разработка/обучение программ на Python | - Библиотека Gemma для JAX - Обнимающие лица Трансформеры - Керас - PyTorch - Бездельник | Исследователи и разработчики, создающие пользовательские приложения или дорабатывающие модели. |
| Развертывание в производственной/корпоративной среде | — Google Cloud Kubernetes Engine (GKE) - Google Cloud Run - Vertex AI - vLLM | Масштабируемое, управляемое облачное развертывание с поддержкой корпоративной безопасности и MLOps. |
Детали структуры
Ниже приведены инструкции по запуску моделей Gemma, сгруппированные по типу вашей среды развертывания.
1. Вывод данных на рабочем столе и локально (высокая эффективность)
Эти инструменты позволяют запускать Gemma на потребительском оборудовании (ноутбуках, настольных компьютерах) с использованием оптимизированных форматов (например, GGUF) или специальных аппаратных ускорителей.
- LM Studio : Настольное приложение, позволяющее скачивать модели Gemma и общаться с ними в удобном интерфейсе. Программирование не требуется.
- llama.cpp : Популярный порт Llama (и Gemma) на C++ с открытым исходным кодом, который невероятно быстро работает на процессорах и Apple Silicon.
- LiteRT-LM : Предоставляет интерфейс командной строки ( CLI ) для запуска оптимизированных моделей Gemma в
.litertlmна настольных компьютерах (Windows, Linux, macOS) на базе LiteRT (ранее TFLite). - MLX : фреймворк, разработанный специально для машинного обучения на процессорах Apple Silicon, идеально подходящий для пользователей Mac, которым нужна встроенная производительность.
- Gemma.cpp : Легковесный автономный механизм вывода информации на C++, разработанный специально для Google.
- Ollama : Инструмент для локального запуска открытых LLM-модулей, часто используемый для работы других приложений.
2. Разработка на Python (исследования и доработка)
Стандартные фреймворки для разработчиков ИИ, создающих приложения, конвейеры обработки данных или обучающие модели.
- Hugging Face Transformers : отраслевой стандарт для быстрого доступа к моделям и рабочим процессам.
- Unsloth : оптимизированная библиотека для тонкой настройки LLM-моделей. Она позволяет обучать модели Gemma в 2-5 раз быстрее, используя значительно меньше памяти, что делает возможной тонкую настройку на потребительских графических процессорах (например, в бесплатных версиях Google Colab).
- Keras / JAX / PyTorch : основные библиотеки для исследований в области глубокого обучения и реализации пользовательских архитектур.
3. Развертывание на мобильных устройствах и периферийных устройствах (на самом устройстве)
Фреймворки, предназначенные для запуска программ с низким уровнем сложности (LLM) непосредственно на пользовательских устройствах (Android, iOS, Web) без подключения к интернету, часто с использованием нейронных процессоров (NPU).
- LiteRT-LM : Полностью открытая платформа для разработки LLM-приложений на устройствах, обеспечивающая максимальную производительность и точный контроль, с прямой поддержкой ускорения на CPU, GPU и NPU на Android и iOS.
- MediaPipe LLM Inference API : Самый простой способ интегрировать Gemma в кроссплатформенные приложения. Он предлагает высокоуровневый API, работающий на Android, iOS и в веб-среде.
4. Развертывание в облаке и в производственной среде
Управляемые сервисы для масштабирования вашего приложения до тысяч пользователей или доступа к огромным вычислительным мощностям.
- Vertex AI : полностью управляемая платформа искусственного интеллекта от Google Cloud. Идеально подходит для корпоративных приложений, требующих соглашений об уровне обслуживания (SLA) и масштабируемости.
- Google Cloud Kubernetes Engine (GKE) : Для оркестрации собственных кластеров обслуживания.
- vLLM : Высокопроизводительный и экономичный с точки зрения использования памяти механизм вывода и обслуживания данных, часто используемый в облачных средах.
Убедитесь, что выбранный вами формат модели Gemma для развертывания, например, встроенный формат Keras, Safetensors или GGUF, поддерживается выбранной вами платформой.
Выберите вариант Gemma
Модели Gemma доступны в нескольких вариантах и размерах, включая базовые или основные модели Gemma, а также более специализированные варианты, такие как PaliGemma и DataGemma , и множество вариантов, созданных сообществом разработчиков ИИ на таких сайтах, как Kaggle и Hugging Face . Если вы не уверены, с какого варианта начать, выберите последнюю базовую модель Gemma, оптимизированную по инструкциям (IT), с наименьшим количеством параметров. Этот тип модели Gemma имеет низкие вычислительные требования и способен реагировать на широкий спектр запросов без дополнительной разработки.
При выборе варианта Gemma следует учитывать следующие факторы:
- Gemma core и другие семейства вариантов, такие как PaliGemma, CodeGemma : Рекомендуем Gemma (core). Варианты Gemma, выходящие за рамки базовой версии, имеют ту же архитектуру, что и основная модель, и обучены лучше справляться с конкретными задачами. Если ваше приложение или цели не соответствуют специализации конкретного варианта Gemma, лучше начать с базовой модели Gemma.
- Инструкционно-настроенный (IT), предварительно обученный (PT), тонко настроенный (FT), смешанный (mix) : Рекомендуется IT.
- Варианты модели Gemma , настроенные на выполнение инструкций (Instruction-tuned , IT), — это модели, обученные реагировать на различные инструкции или запросы на человеческом языке. Эти варианты моделей — лучшее начало, поскольку они могут реагировать на подсказки без дополнительного обучения.
- Предварительно обученные (ПТ) варианты Gemma — это модели, которые были обучены делать выводы о языке или других данных, но не были обучены следовать инструкциям человека. Эти модели требуют дополнительного обучения или настройки для эффективного выполнения задач и предназначены для исследователей или разработчиков, которые хотят изучить или развить возможности модели и ее архитектуры.
- Тонко настроенные (FT) варианты Gemma можно рассматривать как IT-варианты, но обычно они обучаются для выполнения конкретной задачи или показывают хорошие результаты на конкретном эталонном тесте генеративного ИИ. Семейство вариантов PaliGemma включает в себя ряд тонко настроенных вариантов.
- Варианты Gemma смешанного типа (mix) — это версии моделей PaliGemma, которые были доработаны с учетом различных инструкций и подходят для общего использования.
- Параметры : Рекомендуется использовать наименьшее доступное количество параметров . В целом, чем больше параметров у модели, тем она мощнее. Однако запуск более крупных моделей требует больших и сложных вычислительных ресурсов и, как правило, замедляет разработку приложения ИИ. Если вы еще не определили, что более компактная модель Gemma не может удовлетворить ваши потребности, выберите модель с небольшим количеством параметров.
- Уровни квантизации: Рекомендуется половинная точность (16 бит), за исключением случаев настройки . Квантизация — сложная тема, которая сводится к определению размера и точности данных, и, следовательно, к объему памяти, используемой генеративной моделью ИИ для вычислений и генерации ответов. После обучения модели на данных высокой точности, обычно 32-битных данных с плавающей запятой, модели, подобные Gemma, могут быть модифицированы для использования данных более низкой точности, таких как 16, 8 или 4 бита. Эти квантованные модели Gemma могут по-прежнему хорошо работать в зависимости от сложности задач, используя при этом значительно меньше вычислительных ресурсов и памяти. Однако инструменты для настройки квантованных моделей ограничены и могут быть недоступны в выбранной вами среде разработки ИИ. Как правило, необходимо выполнить тонкую настройку модели, подобной Gemma, с полной точностью, а затем квантовать полученную модель.
Список ключевых моделей Gemma, опубликованных Google, можно найти в разделе «Начало работы с моделями Gemma» , «Список моделей Gemma».
Запросы на генерацию и вывод результатов выполнения
После выбора платформы выполнения ИИ и варианта Gemma вы можете запустить модель и дать ей команду на генерацию контента или выполнение задач. Более подробную информацию о запуске Gemma с конкретной платформой см. в руководствах, ссылки на которые приведены в разделе «Выбор платформы» .
Подсказка по форматированию
Все оптимизированные для инструкций варианты Gemma имеют специфические требования к форматированию подсказок. Некоторые из этих требований к форматированию обрабатываются автоматически используемой вами платформой для запуска моделей Gemma, но при отправке данных подсказки непосредственно в токенизатор необходимо добавить определенные теги, и требования к тегированию могут меняться в зависимости от используемого варианта Gemma. Информацию о форматировании подсказок и системных инструкциях для вариантов Gemma см. в следующих руководствах: