Это руководство разработано, чтобы помочь вам интегрировать генеративные решения искусственного интеллекта и машинного обучения (AI/ML) от Google в ваши приложения. Оно содержит руководство, которое поможет вам ориентироваться в различных доступных решениях искусственного интеллекта и машинного обучения и выбрать то, которое лучше всего соответствует вашим потребностям. Цель этого документа — помочь вам определить, какой инструмент использовать и почему, сосредоточившись на ваших потребностях и вариантах использования.
Чтобы помочь вам выбрать наиболее подходящее решение AI/ML для ваших конкретных требований, этот документ включает руководство по решениям . Отвечая на ряд вопросов о целях и ограничениях вашего проекта, руководство направляет вас к наиболее подходящим инструментам и технологиям.
Это руководство поможет вам выбрать лучшее решение ИИ для вашего приложения. Рассмотрите следующие факторы: тип данных (текст, изображения, аудио, видео), сложность задачи (от простого обобщения до сложных задач, требующих специальных знаний) и размер данных (короткие входные данные против больших документов). Это поможет вам сделать выбор между использованием Gemini Nano на вашем устройстве или облачного ИИ Firebase (Gemini Flash, Gemini Pro или Imagen).
Используйте возможности вывода на устройстве
Добавляя функции искусственного интеллекта и машинного обучения в свое приложение для Android, вы можете выбрать различные способы их предоставления — либо на устройстве, либо с использованием облака.
Решения на устройстве, такие как Gemini Nano, обеспечивают результаты без дополнительных затрат, обеспечивают улучшенную конфиденциальность пользователей и надежную офлайн-функциональность, поскольку входные данные обрабатываются локально. Эти преимущества могут быть критически важными для определенных вариантов использования, таких как обобщение сообщений, что делает on-device приоритетом при выборе правильных решений.
Gemini Nano позволяет вам запускать вывод непосредственно на устройстве на базе Android. Если вы работаете с текстом или изображениями, начните с API GenAI ML Kit для готовых решений. API GenAI ML Kit работают на Gemini Nano и настроены для определенных задач на устройстве. API GenAI ML Kit являются идеальным путем к производству для ваших приложений благодаря их высокоуровневому интерфейсу и масштабируемости. Эти API позволяют вам реализовывать сценарии использования для резюмирования, проверки и переписывания текста, а также генерировать описания изображений .
Чтобы выйти за рамки основных вариантов использования, предоставляемых API GenAI ML Kit, рассмотрите Gemini Nano Experimental Access . Gemini Nano Experimental Access дает вам более прямой доступ к пользовательским подсказкам с Gemini Nano.
Для традиционных задач машинного обучения у вас есть возможность реализовать собственные пользовательские модели. Мы предоставляем надежные инструменты, такие как ML Kit , MediaPipe , LiteRT и функции доставки Google Play , чтобы оптимизировать процесс разработки.
Для приложений, требующих узкоспециализированных решений, вы можете использовать собственную пользовательскую модель, например Gemma или другую модель, адаптированную под ваш конкретный вариант использования. Запустите свою модель непосредственно на устройстве пользователя с помощью LiteRT, который предоставляет предварительно разработанные архитектуры моделей для оптимизированной производительности.
Вы также можете рассмотреть возможность создания гибридного решения, используя как локальную, так и облачную модели.
Мобильные приложения обычно используют локальные модели для небольших текстовых данных, таких как чаты или статьи в блогах. Однако для более крупных источников данных (например, PDF-файлов) или когда требуются дополнительные знания, может потребоваться облачное решение с более мощными моделями Gemini.
Интеграция расширенных моделей Gemini
Разработчики Android могут интегрировать передовые возможности генеративного ИИ от Google, включая мощные модели Gemini Pro, Gemini Flash и Imagen, в свои приложения с помощью Firebase AI Logic SDK . Этот SDK предназначен для больших потребностей в данных и обеспечивает расширенные возможности и адаптивность, предоставляя доступ к этим высокопроизводительным, мультимодальным моделям ИИ.
С Firebase AI Logic SDK разработчики могут делать клиентские вызовы к моделям ИИ Google с минимальными усилиями. Эти модели, такие как Gemini Pro и Gemini Flash, запускают вывод в облаке и позволяют приложениям Android обрабатывать различные входные данные, включая изображения, аудио, видео и текст. Gemini Pro отлично справляется с рассуждениями о сложных проблемах и анализом обширных данных, в то время как серия Gemini Flash предлагает превосходную скорость и контекстное окно, достаточно большое для большинства задач.
Когда использовать традиционное машинное обучение
Хотя генеративный ИИ полезен для создания и редактирования контента, такого как текст, изображения и код, многие реальные проблемы лучше решать с помощью традиционных методов машинного обучения (ML). Эти устоявшиеся методы превосходны в задачах, включающих прогнозирование, классификацию, обнаружение и понимание закономерностей в существующих данных, часто с большей эффективностью, меньшими вычислительными затратами и более простой реализацией, чем генеративные модели.
Традиционные фреймворки ML предлагают надежные, оптимизированные и часто более практичные решения для приложений, ориентированных на анализ ввода, идентификацию признаков или создание прогнозов на основе изученных шаблонов, а не на генерацию совершенно нового вывода. Такие инструменты, как ML Kit от Google, LiteRT и MediaPipe, предоставляют мощные возможности, адаптированные для этих негенеративных вариантов использования, особенно в мобильных и периферийных вычислительных средах.
Начните интеграцию машинного обучения с помощью ML Kit
ML Kit предлагает готовые к производству, оптимизированные для мобильных устройств решения для общих задач машинного обучения, не требующие предварительного опыта в области машинного обучения. Этот простой в использовании мобильный SDK переносит опыт Google в области машинного обучения непосредственно в ваши приложения Android и iOS, позволяя вам сосредоточиться на разработке функций, а не на обучении и оптимизации моделей. ML Kit предоставляет готовые API и готовые к использованию модели для таких функций, как сканирование штрихкодов, распознавание текста (OCR), обнаружение лиц, маркировка изображений, обнаружение и отслеживание объектов, идентификация языка и интеллектуальный ответ.
Эти модели обычно оптимизированы для выполнения на устройстве, что обеспечивает низкую задержку, офлайн-функциональность и улучшенную конфиденциальность пользователя, поскольку данные часто остаются на устройстве. Выберите ML Kit, чтобы быстро добавить установленные функции ML в ваше мобильное приложение без необходимости обучения моделей или требования генеративного вывода. Он идеально подходит для эффективного улучшения приложений с помощью «умных» возможностей с использованием оптимизированных моделей Google или путем развертывания пользовательских моделей TensorFlow Lite.
Начните работу с нашими подробными руководствами и документацией на сайте разработчиков ML Kit .
Развертывание пользовательского машинного обучения с помощью LiteRT
Для большего контроля или для развертывания собственных моделей машинного обучения используйте пользовательский стек машинного обучения, созданный на основе LiteRT и сервисов Google Play. Этот стек предоставляет все необходимое для развертывания высокопроизводительных функций машинного обучения. LiteRT — это набор инструментов, оптимизированный для эффективного запуска моделей TensorFlow на мобильных, встроенных и периферийных устройствах с ограниченными ресурсами, что дает вам возможность запускать значительно меньшие и более быстрые модели, потребляющие меньше памяти, энергии и хранилища. Среда выполнения LiteRT в высокой степени оптимизирована для различных аппаратных ускорителей (GPU, DSP, NPU) на периферийных устройствах, что обеспечивает вывод с малой задержкой.
Выбирайте LiteRT, когда вам нужно эффективно развернуть обученные модели машинного обучения (обычно для классификации, регрессии или обнаружения) на устройствах с ограниченной вычислительной мощностью или временем автономной работы, таких как смартфоны, устройства IoT или микроконтроллеры. Это предпочтительное решение для разворачивания пользовательских или стандартных прогностических моделей на периферии, где скорость и экономия ресурсов имеют первостепенное значение.
Узнайте больше о развертывании машинного обучения с помощью LiteRT .
Встраивайте восприятие в реальном времени в свои приложения с помощью MediaPipe
MediaPipe предоставляет решения с открытым исходным кодом, кроссплатформенные и настраиваемые решения для машинного обучения, разработанные для живого и потокового мультимедиа. Воспользуйтесь оптимизированными, готовыми инструментами для сложных задач, таких как отслеживание рук, оценка позы, обнаружение лицевой сетки и обнаружение объектов, все это обеспечивает высокопроизводительное взаимодействие в реальном времени даже на мобильных устройствах.
Графические конвейеры MediaPipe обладают высокой степенью настраиваемости, что позволяет вам адаптировать решения для Android, iOS, веб-приложений, настольных компьютеров и бэкэнд-приложений. Выбирайте MediaPipe, когда вашему приложению необходимо понимать и мгновенно реагировать на данные датчиков в реальном времени, особенно видеопотоки, для таких случаев использования, как распознавание жестов, эффекты дополненной реальности, отслеживание фитнеса или управление аватарами — все это сосредоточено на анализе и интерпретации ввода.
Изучите решения и начните разработку с MediaPipe .
Выберите подход: на устройстве или в облаке
При интеграции функций AI/ML в ваше приложение Android решающим ранним решением является то, выполнять ли обработку непосредственно на устройстве пользователя или в облаке. Такие инструменты, как ML Kit, Gemini Nano и TensorFlow Lite, обеспечивают возможности на устройстве, в то время как API-интерфейсы облака Gemini с Firebase AI Logic могут обеспечить мощную обработку в облаке. Правильный выбор зависит от множества факторов, характерных для вашего варианта использования и потребностей пользователя.
При принятии решения примите во внимание следующие аспекты:
- Связность и офлайн-функциональность : если ваше приложение должно надежно функционировать без подключения к Интернету, идеальными будут решения на устройстве, такие как Gemini Nano. Облачная обработка по своей природе требует доступа к сети.
- Конфиденциальность данных : в случаях, когда пользовательские данные должны оставаться на устройстве по соображениям конфиденциальности, обработка на устройстве дает явное преимущество, поскольку конфиденциальная информация хранится локально.
- Возможности модели и сложность задачи : Облачные модели часто значительно больше, мощнее и обновляются чаще, что делает их подходящими для очень сложных задач ИИ или при обработке больших объемов входных данных, где более высокое качество вывода и обширные возможности имеют первостепенное значение. Более простые задачи могут хорошо обрабатываться моделями на устройстве.
- Соображения по стоимости : Облачные API обычно предполагают ценообразование на основе использования, то есть расходы могут масштабироваться в зависимости от количества выводов или объема обработанных данных. Вывод на устройстве, хотя обычно не требует прямых платежей за использование, влечет за собой расходы на разработку и может повлиять на ресурсы устройства, такие как срок службы батареи и общая производительность.
- Ресурсы устройства : Модели на устройстве потребляют дисковое пространство на устройстве пользователя. Также важно знать о совместимости определенных моделей на устройстве, таких как Gemini Nano, чтобы убедиться, что ваша целевая аудитория может использовать эти функции.
- Тонкая настройка и индивидуальная настройка : если вам требуется возможность тонкой настройки моделей для вашего конкретного варианта использования, облачные решения, как правило, предлагают большую гибкость и более широкие возможности для настройки.
- Кроссплатформенная согласованность : если для вас критически важна согласованность функций ИИ на нескольких платформах, включая iOS, учтите, что некоторые решения для устройств, такие как Gemini Nano, могут быть пока недоступны для всех операционных систем.
Тщательно продумав требования вашего варианта использования и доступные варианты, вы сможете найти идеальное решение на базе ИИ/МО для улучшения вашего приложения Android и предоставления интеллектуального и персонализированного опыта вашим пользователям.
Руководство по решениям AI/ML
Это руководство по решениям поможет вам определить подходящие инструменты разработчика для интеграции технологий искусственного интеллекта/машинного обучения в ваши проекты Android.
Какова основная цель функции ИИ?
- A) Генерация нового контента (текста, описаний изображений) или выполнение простой обработки текста (резюмирование, вычитка или переписывание текста)? → Перейти к Генеративному ИИ
- B) Анализ существующих данных/входных данных для прогнозирования, классификации, обнаружения, понимания закономерностей или обработки потоков в реальном времени (например, видео/аудио)? → Перейти к разделу Традиционное машинное обучение и восприятие
Традиционное МО и восприятие
Вам необходимо анализировать входные данные, выявлять особенности или делать прогнозы на основе изученных закономерностей, а не генерировать совершенно новые выходные данные.
Какую конкретную задачу вы выполняете?
- A) Нужна ли быстрая интеграция готовых, распространенных функций мобильного МО? (например, сканирование штрихкодов, распознавание текста (OCR), обнаружение лиц, маркировка изображений, обнаружение и отслеживание объектов, идентификатор языка, базовый интеллектуальный ответ)
- → Использование: ML Kit (традиционные API)
- Почему : Самая простая интеграция для существующих мобильных задач машинного обучения, часто оптимизированная для использования на устройстве (низкая задержка, работа в автономном режиме, конфиденциальность).
- B) Необходимо ли обрабатывать потоковые данные в реальном времени (например, видео или аудио) для задач восприятия? (например, отслеживание рук, оценка позы, сетка лица, обнаружение объектов в реальном времени и сегментация на видео)
- → Использование: MediaPipe
- Почему : Фреймворк, специализированный для высокопроизводительных конвейеров восприятия в реальном времени на различных платформах.
- C) Вам необходимо эффективно запустить собственную специально обученную модель МО (например, для классификации, регрессии, обнаружения) на устройстве, отдавая приоритет производительности и низкому использованию ресурсов?
- → Использование: LiteRT (TensorFlow Lite Runtime)
- Почему : Оптимизированная среда выполнения для эффективного развертывания пользовательских моделей на мобильных и периферийных устройствах (небольшой размер, быстрый вывод, аппаратное ускорение).
- D) Вам нужно обучить собственную модель машинного обучения для решения конкретной задачи?
- → Использование: LiteRT (TensorFlow Lite Runtime) + обучение пользовательской модели
- Почему : Предоставляет инструменты для обучения и развертывания пользовательских моделей, оптимизированных для мобильных и периферийных устройств.
- E) Нужна расширенная классификация контента, анализ настроений или перевод на многие языки с высокой степенью детализации?
- Подумайте, подходят ли традиционные модели ML (потенциально развернутые с использованием LiteRT или облака) или требуются ли расширенные NLU генеративные модели (вернитесь к началу, выберите A). Для классификации, тональности или перевода на основе облака:
- → Использование: облачные решения (например, Google Cloud Natural Language API , Google Cloud Translation API , потенциально доступные с использованием пользовательского бэкэнда или Vertex AI ) . (Меньший приоритет, чем варианты на устройстве, если ключевыми факторами являются офлайн-доступ или конфиденциальность).
- Почему : Облачные решения предлагают мощные модели и обширную языковую поддержку, но требуют подключения и могут повлечь за собой расходы.
Генеративный ИИ
Вам необходимо создать новый контент, обобщить, переписать или выполнить сложные задачи на понимание или взаимодействие.
Требуется ли вам, чтобы ИИ работал в автономном режиме , нужна ли вам максимальная конфиденциальность данных (хранение пользовательских данных на устройстве) или вы хотите избежать затрат на облачные вычисления?
- A) Да , решающее значение имеют работа в автономном режиме, максимальная конфиденциальность или отсутствие затрат на облако.
- → Перейти к Генеративный ИИ на устройстве
- Б) Нет , подключение доступно и приемлемо, более важны возможности облака и масштабируемость или для определенных функций требуется облако.
- → Перейти к облачному генеративному ИИ
Генеративный ИИ на устройстве (с использованием Gemini Nano)
Предостережения : требуются совместимые устройства Android, ограниченная поддержка iOS, определенные ограничения по токенам (1024 подсказки, 4096 контекстов), модели менее мощные, чем облачные аналоги.
Соответствует ли ваш вариант использования оптимизированным задачам, предлагаемым API GenAI из ML Kit? (Резюмирование текста, Корректура текста, Переписывание текста, Генерация описаний изображений) И достаточны ли ограничения на количество токенов?
- А) Да :
- → Использование: API GenAI из набора ML (на базе Gemini Nano)
- Почему : Самый простой способ интегрировать конкретные, общие генеративные задачи на устройстве, решение с наивысшим приоритетом на устройстве.
- B) Нет (вам нужны более гибкие подсказки или задачи, выходящие за рамки конкретных API GenAI ML Kit, но при этом вы по-прежнему хотите выполнять команды на устройстве в рамках возможностей Nano):
- → Использование: Gemini Nano Экспериментальный доступ
- Почему : Предоставляет возможности открытых подсказок на устройстве для вариантов использования, выходящих за рамки структурированных API GenAI ML Kit, с учетом ограничений Nano.
Облачный генеративный ИИ
Использует более мощные модели, требует подключения, обычно влечет за собой затраты на вывод, обеспечивает более широкий охват устройств и более простую кроссплатформенную (Android и iOS) согласованность.
Что для вас приоритетно: простота интеграции в Firebase ИЛИ максимальная гибкость/контроль?
- A) Предпочитаете более простую интеграцию, управляемый API-интерфейс и, вероятно, уже используете Firebase?
- → Использовать: Firebase AI Logic SDK → Перейти к Firebase AI Logic
- Б) Вам нужна максимальная гибкость, доступ к самому широкому спектру моделей (включая сторонние/пользовательские), расширенные возможности тонкой настройки и готовность управлять собственной интеграцией бэкэнда (более сложная задача)?
- → Использование: API Gemini с пользовательским облачным бэкэндом (с использованием Google Cloud Platform)
- Почему : Предлагает максимальный контроль, самый широкий доступ к модели и индивидуальные возможности обучения, но требует значительных усилий по разработке бэкэнда. Подходит для сложных, крупномасштабных или высоконастраиваемых потребностей.
( Вы выбрали Firebase AI Logic SDK) Какой тип генеративной задачи и профиль производительности вам нужен?
- A) Требуется баланс производительности и стоимости, подходящий для общих приложений генерации текста, реферирования или чата, где важна скорость?
- → Использование: Firebase AI Logic SDK с Gemini Flash
- Почему : Оптимизировано для скорости и эффективности в управляемой среде Vertex AI.
- Б) Требуется более высокое качество и возможности для сложной генерации текста, рассуждений, продвинутого NLU или следования инструкциям?
- → Использование: Firebase AI Logic SDK с Gemini Pro
- Почему : Более мощная текстовая модель для сложных задач, доступ к которой осуществляется через Firebase.
- C) Нужна сложная генерация изображений или расширенное понимание или обработка изображений на основе текстовых подсказок?
- → Использование: Firebase AI Logic SDK с Imagen 3
- Почему : Современная модель генерации изображений, доступная с использованием управляемой среды Firebase.