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