Esta guía está diseñada para ayudarte a integrar las soluciones de inteligencia artificial y aprendizaje automático (IA/AA) generativos de Google en tus aplicaciones. Proporciona orientación para ayudarte a explorar las diversas soluciones de inteligencia artificial y aprendizaje automático disponibles, y elegir la que mejor se adapte a tus necesidades. El objetivo de este documento es ayudarte a determinar qué herramienta usar y por qué, enfocándonos en tus necesidades y casos de uso.
Para ayudarte a seleccionar la solución de IA/AA más adecuada para tus requisitos específicos, este documento incluye una guía de soluciones. Al responder una serie de preguntas sobre los objetivos y las restricciones de tu proyecto, la guía te dirige hacia las herramientas y tecnologías más adecuadas.
Esta guía te ayuda a elegir la mejor solución de IA para tu app. Ten en cuenta los siguientes factores: el tipo de datos (texto, imágenes, audio, video), la complejidad de la tarea (desde un resumen simple hasta tareas complejas que requieren conocimientos especializados) y el tamaño de los datos (entradas cortas frente a documentos grandes). Esto te ayudará a decidir si usar Gemini Nano en tu dispositivo o la IA basada en la nube de Firebase (Gemini Flash, Gemini Pro o Imagen).
Aprovecha el poder de la inferencia integrada en el dispositivo
Cuando agregas funciones basadas en IA y AA a tu app para Android, puedes elegir diferentes formas de ofrecerlas, ya sea en el dispositivo o con la nube.
Las soluciones integradas en el dispositivo, como Gemini Nano, brindan resultados sin costo adicional, mejoran la privacidad del usuario y ofrecen una funcionalidad sin conexión confiable, ya que los datos de entrada se procesan de forma local. Estos beneficios pueden ser fundamentales para ciertos casos de uso, como el resumen de mensajes, lo que convierte a la tecnología integrada en el dispositivo en una prioridad a la hora de elegir las soluciones adecuadas.
Gemini Nano te permite ejecutar la inferencia directamente en un dispositivo con Android. Si trabajas con texto, imágenes o audio, comienza con las APIs de IA generativa de ML Kit para obtener soluciones listas para usar. Las APIs de IA generativa de ML Kit están potenciadas por Gemini Nano y optimizadas para tareas específicas integradas en el dispositivo. Las APIs de IA generativa de ML Kit son una ruta ideal hacia la producción para tus apps debido a su interfaz de nivel superior y su escalabilidad. Estas APIs te permiten implementar casos de uso para resumir, corregir y reescribir texto, generar descripciones de imágenes y realizar reconocimiento de voz.
Para ir más allá de los casos de uso fundamentales que proporcionan las APIs de IA generativa de ML Kit, considera el Acceso experimental a Gemini Nano. El acceso experimental a Gemini Nano te brinda un acceso más directo a las instrucciones personalizadas con Gemini Nano.
Para las tareas tradicionales de aprendizaje automático, tienes la flexibilidad de implementar tus propios modelos personalizados. Proporcionamos herramientas sólidas, como ML Kit, MediaPipe, LiteRT y funciones de entrega de Google Play para optimizar tu proceso de desarrollo.
En el caso de las aplicaciones que requieren soluciones altamente especializadas, puedes usar tu propio modelo personalizado, como Gemma o algún otro modelo diseñado para tu caso de uso específico. Ejecuta tu modelo directamente en el dispositivo del usuario con LiteRT, que proporciona arquitecturas de modelos prediseñadas para un rendimiento optimizado.
También puedes considerar la posibilidad de crear una solución híbrida aprovechando los modelos en el dispositivo y en la nube.
Por lo general, las apps para dispositivos móviles utilizan modelos locales para datos de texto pequeños, como conversaciones de chat o artículos de blogs. Sin embargo, para fuentes de datos más grandes (como PDFs) o cuando se requiere conocimiento adicional, es posible que se necesite una solución basada en la nube con modelos de Gemini más potentes.
Integra modelos avanzados de Gemini
Los desarrolladores de Android pueden integrar las capacidades avanzadas de IA generativa de Google, incluidos los potentes modelos Gemini Pro, Gemini Flash y Imagen, en sus aplicaciones con el SDK de Firebase AI Logic. Este SDK está diseñado para necesidades de datos más grandes y proporciona capacidades y adaptabilidad expandidas, ya que permite el acceso a estos modelos de IA multimodales y de alto rendimiento.
Con el SDK de Firebase AI Logic, los desarrolladores pueden realizar llamadas del cliente a los modelos de IA de Google con un esfuerzo mínimo. Estos modelos, como Gemini Pro y Gemini Flash, ejecutan la inferencia en la nube y permiten que las apps para Android procesen una variedad de entradas, como imágenes, audio, video y texto. Gemini Pro se destaca por su capacidad de razonamiento para resolver problemas complejos y analizar grandes cantidades de datos, mientras que la serie Gemini Flash ofrece una velocidad superior y una ventana de contexto lo suficientemente grande para la mayoría de las tareas.
Cuándo usar el aprendizaje automático tradicional
Si bien la IA generativa es útil para crear y editar contenido, como texto, imágenes y código, muchos problemas del mundo real se resuelven mejor con las técnicas tradicionales de aprendizaje automático (AA). Estos métodos establecidos se destacan en tareas que implican la predicción, la clasificación, la detección y la comprensión de patrones en los datos existentes, a menudo con mayor eficiencia, menor costo computacional y una implementación más simple que los modelos generativos.
Los marcos de trabajo de AA tradicionales ofrecen soluciones sólidas, optimizadas y, a menudo, más prácticas para las aplicaciones enfocadas en analizar la entrada, identificar atributos o hacer predicciones basadas en patrones aprendidos, en lugar de generar resultados completamente nuevos. Herramientas como ML Kit, LiteRT y MediaPipe de Google proporcionan potentes capacidades diseñadas para estos casos de uso no generativos, en particular en entornos de procesamiento perimetral y para dispositivos móviles.
Comienza tu integración de aprendizaje automático con ML Kit
ML Kit ofrece soluciones listas para producción y optimizadas para dispositivos móviles para tareas comunes de aprendizaje automático, sin necesidad de experiencia previa en AA. Este SDK para dispositivos móviles fácil de usar lleva la experiencia de Google en AA directamente a tus apps para iOS y Android, lo que te permite enfocarte en el desarrollo de funciones en lugar del entrenamiento y la optimización de modelos. ML Kit proporciona APIs prediseñadas y modelos listos para usar para funciones como el escaneo de códigos de barras, el reconocimiento de texto (OCR), la detección de rostros, el etiquetado de imágenes, la detección y el seguimiento de objetos, la identificación de idiomas y la respuesta inteligente.
Por lo general, estos modelos se optimizan para la ejecución en el dispositivo, lo que garantiza una latencia baja, funcionalidad sin conexión y mayor privacidad del usuario, ya que los datos suelen permanecer en el dispositivo. Elige ML Kit para agregar rápidamente funciones de AA establecidas a tu app para dispositivos móviles sin necesidad de entrenar modelos ni requerir resultados generativos. Es ideal para mejorar de manera eficiente las apps con capacidades "inteligentes" usando los modelos optimizados de Google o implementando modelos personalizados de TensorFlow Lite.
Comienza a usar nuestras guías y documentación integrales en el sitio para desarrolladores de ML Kit.
Implementación de AA personalizado con LiteRT
Para tener un mayor control o implementar tus propios modelos de AA, usa una pila de AA personalizada compilada en LiteRT y los Servicios de Google Play. Esta pila proporciona los elementos esenciales para implementar funciones de AA de alto rendimiento. LiteRT es un kit de herramientas optimizado para ejecutar modelos de TensorFlow de manera eficiente en dispositivos móviles, integrados y perimetrales con recursos limitados, lo que te permite ejecutar modelos significativamente más pequeños y rápidos que consumen menos memoria, energía y almacenamiento. El tiempo de ejecución de LiteRT está altamente optimizado para varios aceleradores de hardware (GPU, DSP y NPU) en dispositivos perimetrales, lo que permite la inferencia de baja latencia.
Elige LiteRT cuando necesites implementar de manera eficiente modelos de AA entrenados (generalmente para clasificación, regresión o detección) en dispositivos con potencia de procesamiento o duración de batería limitadas, como smartphones, dispositivos de IoT o microcontroladores. Es la solución preferida para implementar modelos predictivos personalizados o estándar en el borde, donde la velocidad y la conservación de recursos son fundamentales.
Obtén más información sobre la implementación de AA con LiteRT.
Incorpora la percepción en tiempo real a tus apps con MediaPipe
MediaPipe proporciona soluciones de aprendizaje automático personalizables, multiplataforma y de código abierto diseñadas para medios de transmisión y en vivo. Aprovecha las herramientas optimizadas y prediseñadas para tareas complejas, como el seguimiento de manos, la estimación de la pose, la detección de la malla facial y la detección de objetos, que permiten una interacción en tiempo real y de alto rendimiento incluso en dispositivos móviles.
Las canalizaciones basadas en grafos de MediaPipe son altamente personalizables, lo que te permite adaptar soluciones para aplicaciones de Android, iOS, la Web, computadoras de escritorio y backend. Elige MediaPipe cuando tu aplicación necesite comprender y reaccionar de inmediato a los datos de sensores en tiempo real, en especial los flujos de video, para casos de uso como el reconocimiento de gestos, los efectos de RA, el monitoreo de actividad física o el control de avatares, todo enfocado en analizar e interpretar la entrada.
Explora las soluciones y comienza a compilar con MediaPipe.
Elige un enfoque: en el dispositivo o en la nube
Cuando integras funciones basadas en AA/ML en tu app para Android, una decisión inicial crucial es si el procesamiento se realizará directamente en el dispositivo del usuario o en la nube. Herramientas como ML Kit, Gemini Nano y TensorFlow Lite habilitan capacidades integradas en el dispositivo, mientras que las APIs de Gemini Cloud con Firebase AI Logic pueden proporcionar un procesamiento potente basado en la nube. Elegir la opción correcta depende de una variedad de factores específicos de tu caso de uso y las necesidades de los usuarios.
Ten en cuenta los siguientes aspectos para guiar tu decisión:
- Conectividad y funcionalidad sin conexión: Si tu aplicación necesita funcionar de manera confiable sin conexión a Internet, las soluciones en el dispositivo, como Gemini Nano, son ideales. Por su naturaleza, el procesamiento basado en la nube requiere acceso a la red.
- Privacidad de los datos: Para los casos de uso en los que los datos del usuario deben permanecer en el dispositivo por motivos de privacidad, el procesamiento en el dispositivo ofrece una ventaja distintiva, ya que mantiene la información sensible de forma local.
- Capacidades del modelo y complejidad de la tarea: Los modelos basados en la nube suelen ser mucho más grandes, potentes y se actualizan con mayor frecuencia, lo que los hace adecuados para tareas de IA muy complejas o cuando se procesan entradas más grandes en las que la calidad de la salida y las capacidades extensas son fundamentales. Las tareas más sencillas se pueden controlar bien con los modelos integrados en el dispositivo.
- Consideraciones sobre los costos: Por lo general, las APIs de Cloud tienen precios basados en el uso, lo que significa que los costos pueden aumentar según la cantidad de inferencias o la cantidad de datos procesados. La inferencia en el dispositivo, si bien generalmente no tiene cargos directos por uso, genera costos de desarrollo y puede afectar los recursos del dispositivo, como la duración de la batería y el rendimiento general.
- Recursos del dispositivo: Los modelos integrados en el dispositivo consumen espacio de almacenamiento en el dispositivo del usuario. También es importante tener en cuenta la compatibilidad de los dispositivos con modelos específicos integrados en el dispositivo, como Gemini Nano, para garantizar que tu público objetivo pueda usar las funciones.
- Ajuste y personalización: Si necesitas la capacidad de ajustar modelos para tu caso de uso específico, las soluciones basadas en la nube suelen ofrecer mayor flexibilidad y más opciones de personalización.
- Coherencia multiplataforma: Si es fundamental que las funciones basadas en IA sean coherentes en varias plataformas, incluido iOS, ten en cuenta que algunas soluciones integradas en el dispositivo, como Gemini Nano, aún no están disponibles en todos los sistemas operativos.
Si consideras cuidadosamente los requisitos de tu caso de uso y las opciones disponibles, podrás encontrar la solución de IA/AA perfecta para mejorar tu app para Android y brindar experiencias inteligentes y personalizadas a tus usuarios.
Guía de soluciones de IA/AA
Esta guía de soluciones puede ayudarte a identificar las herramientas para desarrolladores adecuadas para integrar tecnologías de IA y AA en tus proyectos de Android.
¿Cuál es el objetivo principal de la función basada en IA?
- A) ¿Generar contenido nuevo (texto, descripciones de imágenes) o realizar un procesamiento de texto simple (resumir, corregir o reescribir texto)? → Ve a IA generativa.
- B) ¿Analiza los datos o las entradas existentes para la predicción, la clasificación, la detección, la comprensión de patrones o el procesamiento de transmisiones en tiempo real (como video o audio)? → Ir a ML tradicional y percepción
AA y percepción tradicionales
Necesitas analizar la entrada, identificar atributos o hacer predicciones basadas en patrones aprendidos, en lugar de generar resultados completamente nuevos.
¿Qué tarea específica realizas?
- A) ¿Necesitas una integración rápida de funciones de AA para dispositivos móviles comunes y prediseñadas?
(p.ej., escaneo de códigos de barras, reconocimiento de texto (OCR), detección de rostros, etiquetado de imágenes, detección y seguimiento de objetos, identificación de idiomas, respuesta inteligente básica)
- → Uso: ML Kit (APIs tradicionales)
- Por qué: Es la integración más sencilla para las tareas de AA móviles establecidas, que a menudo se optimizan para el uso en el dispositivo (baja latencia, sin conexión, privacidad).
- B) ¿Necesitas procesar datos de transmisión en tiempo real (como audio o video) para tareas de percepción? (p.ej., seguimiento de manos, estimación de poses, malla facial, detección y segmentación de objetos en tiempo real en video)
- → Uso: MediaPipe
- Por qué: Es un framework especializado para canalizaciones de percepción en tiempo real y de alto rendimiento en varias plataformas.
- C) ¿Necesitas ejecutar de manera eficiente tu propio modelo de AA entrenado de forma personalizada (p.ej., para clasificación, regresión o detección) en el dispositivo, priorizando el rendimiento y el bajo uso de recursos?
- → Uso: LiteRT (tiempo de ejecución de TensorFlow Lite)
- Por qué: Tiempo de ejecución optimizado para implementar modelos personalizados de manera eficiente en dispositivos móviles y perimetrales (tamaño pequeño, inferencia rápida y aceleración por hardware).
- D) ¿Necesitas entrenar tu propio modelo de AA personalizado para una tarea específica?
- → Uso: LiteRT (entorno de ejecución de TensorFlow Lite) + entrenamiento de modelos personalizados
- Por qué: Proporciona las herramientas para entrenar e implementar modelos personalizados, optimizados para dispositivos móviles y perimetrales.
- E) ¿Necesitas clasificación de contenido avanzada, análisis de opiniones o traducción a muchos idiomas con un alto nivel de matices?
- Considera si los modelos de AA tradicionales (que se pueden implementar con LiteRT o en la nube) son adecuados, o si el CLN avanzado requiere modelos generativos (vuelve a Inicio y elige A). Para la clasificación, el análisis de opiniones o la traducción basados en la nube, haz lo siguiente:
- → Uso: Soluciones basadas en la nube (p.ej., API de Natural Language de Google Cloud, API de Translation de Google Cloud, a la que se puede acceder con un backend personalizado o Vertex AI). (Tiene una prioridad más baja que las opciones integradas en el dispositivo si no hay conexión o si la privacidad es clave).
- Por qué: Las soluciones en la nube ofrecen modelos potentes y una amplia compatibilidad con idiomas, pero requieren conectividad y pueden generar costos.
IA generativa
Necesitas crear contenido nuevo, resumir, reescribir o realizar tareas complejas de comprensión o interacción.
¿Necesitas que la IA funcione sin conexión, requieres la máxima privacidad de los datos (mantener los datos del usuario en el dispositivo) o quieres evitar los costos de inferencia en la nube?
- A) Sí, la privacidad máxima, la capacidad sin conexión o la ausencia de costos de nube son fundamentales.
- B) No, la conectividad está disponible y es aceptable, las capacidades y la escalabilidad de la nube son más importantes, o bien las funciones específicas requieren la nube.
- → Ve a IA generativa de Cloud
IA generativa integrada en el dispositivo (con Gemini Nano)
Advertencias: Requiere dispositivos Android compatibles, compatibilidad limitada con iOS, límites de tokens específicos (1,024 de instrucción, 4,096 de contexto), los modelos son menos potentes que sus equivalentes en la nube.
¿Tu caso de uso coincide específicamente con las tareas optimizadas que ofrecen las APIs de IA generativa de ML Kit? (¿Se puede resumir, corregir, reescribir o generar descripciones de imágenes, o realizar reconocimiento de voz?) Y ¿los límites de tokens son suficientes?
- A) Sí:
- → Uso: APIs de IA generativa de ML Kit (con tecnología de Gemini Nano)
- Por qué: Es la forma más sencilla de integrar tareas generativas específicas y comunes en el dispositivo, y es la solución integrada en el dispositivo de mayor prioridad.
- B) No (necesitas instrucciones o tareas más flexibles que las APIs específicas de IA generativa de ML Kit, pero aún quieres la ejecución integrada en el dispositivo dentro de las capacidades de Nano):
- → Uso: Acceso experimental a Gemini Nano
- Por qué: Proporciona capacidades de instrucciones abiertas en el dispositivo para casos de uso más allá de las APIs estructuradas de IA generativa de ML Kit, respetando las limitaciones de Nano.
IA generativa en la nube
Utiliza modelos más potentes, requiere conectividad, suele implicar costos de inferencia, ofrece un mayor alcance de dispositivos y una coherencia multiplataforma (Android y iOS) más sencilla.
¿Cuál es tu prioridad: la facilidad de integración en Firebase O la máxima flexibilidad y control?
- A) ¿Prefieres una integración más sencilla, una experiencia de API administrada y es probable que ya uses Firebase?
- → Uso: SDK de Firebase AI Logic → Ve a Firebase AI Logic
- B) ¿Necesitas la máxima flexibilidad, acceso a la mayor variedad de modelos (incluidos los personalizados o de terceros) y un ajuste avanzado, y estás dispuesto a administrar tu propia integración de backend (más compleja)?
- → Uso: API de Gemini con un backend personalizado de Cloud (con Google Cloud Platform)
- Por qué: Ofrece el mayor control, el acceso más amplio al modelo y opciones de entrenamiento personalizadas, pero requiere un esfuerzo significativo de desarrollo del backend. Adecuado para necesidades complejas, a gran escala o altamente personalizadas.
(Elegiste el SDK de Firebase AI Logic) ¿Qué tipo de tarea generativa y perfil de rendimiento necesitas?
- A) ¿Necesitas un equilibrio entre rendimiento y costo, adecuado para la generación de texto general, el resumen o las aplicaciones de chat en las que la velocidad es importante?
- → Uso: SDK de Firebase AI Logic con Gemini Flash
- Por qué: Se optimizó para la velocidad y la eficiencia dentro del entorno administrado de Vertex AI.
- B) ¿Necesitas mayor calidad y capacidad para la generación de texto complejo, el razonamiento, la CLN avanzada o el cumplimiento de instrucciones?
- → Uso: SDK de Firebase AI Logic con Gemini Pro
- Por qué: Es un modelo de texto más potente para tareas exigentes, al que se accede a través de Firebase.
- C) ¿Necesitas una generación de imágenes sofisticada o una comprensión o manipulación de imágenes avanzadas basadas en instrucciones de texto?
- → Uso: SDK de Firebase AI Logic con Imagen 3
- Por qué: Modelo de generación de imágenes de vanguardia al que se accede a través del entorno administrado de Firebase.