Esta guía está diseñada para ayudarte a integrar las soluciones de aprendizaje automático (AA) y de inteligencia artificial (IA) generativa de Google en tus aplicaciones. Te proporciona orientación para ayudarte a navegar por 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ándose 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. A través de una serie de preguntas sobre los objetivos y las limitaciones de tu proyecto, la guía te dirige a 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 estos factores: el tipo de datos (texto, imágenes, audio, video), la complejidad de la tarea (resumen simple a tareas complejas que requieren conocimiento especializado) y el tamaño de los datos (entradas cortas en comparación con documentos grandes). Esto te ayudará a decidir entre 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 de IA y de AA a tu app para Android, puedes elegir diferentes formas de entregarlas, 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 confiable sin conexión, 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 hace que la ejecución integrada en el dispositivo sea una prioridad cuando se eligen las soluciones adecuadas.
Gemini Nano te permite ejecutar inferencias directamente en un dispositivo con Android. Si trabajas con texto o imágenes, comienza con las APIs de GenAI de ML Kit para obtener soluciones listas para usar. Las APIs de IA generativa de ML Kit se basan en Gemini Nano y se optimizaron para tareas específicas integradas en el dispositivo. Las APIs de IA generativa de ML Kit son una ruta ideal a la producción para tus apps debido a su escalabilidad y su interfaz de nivel superior. Estas APIs te permiten implementar casos de uso para resumir, corregir y reescribir texto, así como generar descripciones de imágenes.
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 acceso más directo a las instrucciones personalizadas con Gemini Nano.
Para las tareas de aprendizaje automático tradicionales, tienes la flexibilidad de implementar tus propios modelos personalizados. Proporcionamos herramientas sólidas, como ML Kit, MediaPipe, LiteRT y las funciones de publicación 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 cualquier otro que se adapte a tu caso de uso específico. Ejecuta tu modelo directamente en el dispositivo del usuario con LiteRT, que proporciona arquitecturas de modelos preconcebidas para un rendimiento optimizado.
También puedes considerar compilar 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 blog. Sin embargo, para fuentes de datos más grandes (como los archivos PDF) 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 funciones 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 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 el mínimo esfuerzo. Estos modelos, como Gemini Pro y Gemini Flash, ejecutan inferencias 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 en el razonamiento sobre problemas complejos y el análisis de datos extensos, 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 técnicas tradicionales de aprendizaje automático (AA). Estos métodos establecidos se destacan en las tareas que implican la predicción, la clasificación, la detección y la comprensión de patrones dentro de los datos existentes, a menudo con mayor eficiencia, menor costo computacional y una implementación más simple que los modelos generativos.
Los frameworks de AA tradicionales ofrecen soluciones sólidas, optimizadas y, a menudo, más prácticas para aplicaciones enfocadas en analizar entradas, identificar atributos o realizar predicciones basadas en patrones aprendidos, en lugar de generar resultados completamente nuevos. Herramientas como ML Kit, LiteRT y MediaPipe de Google proporcionan funciones potentes adaptadas para estos casos de uso no generativos, en particular, en entornos de procesamiento de EDGE y para dispositivos móviles.
Inicia tu integración de aprendizaje automático con ML Kit
ML Kit ofrece soluciones optimizadas para dispositivos móviles y listas para usar en producción 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 el AA directamente a tus apps para iOS y Android, lo que te permite enfocarte en el desarrollo de funciones en lugar de la capacitación y optimización de modelos. El kit de AA 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 las respuestas inteligentes.
Por lo general, estos modelos están optimizados para la ejecución en el dispositivo, lo que garantiza una latencia baja, funcionalidad sin conexión y una privacidad del usuario mejorada, 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 generar resultados. Es ideal para mejorar de forma eficiente las apps con funciones "inteligentes" mediante los modelos optimizados de Google o mediante la implementación de modelos personalizados de TensorFlow Lite.
Comienza a usar nuestras guías y documentación completas 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 lo esencial 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 de arista con recursos limitados, lo que te permite ejecutar modelos mucho más pequeños y rápidos que consumen menos memoria, energía y almacenamiento. El entorno de ejecución de LiteRT está muy 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 (por lo general, para la clasificación, la regresión o la detección) en dispositivos con potencia de procesamiento o duración de batería limitadas, como smartphones, dispositivos de la IoT o microcontroladores. Es la solución preferida para implementar modelos predictivos personalizados o estándar en el perímetro, donde la velocidad y la conservación de recursos son primordiales.
Obtén más información sobre la implementación de AA con LiteRT.
Integra la percepción en tiempo real en tus apps con MediaPipe
MediaPipe proporciona soluciones de aprendizaje automático personalizables, multiplataforma y de código abierto diseñadas para contenido multimedia en vivo y en transmisión. Benefíciate de las herramientas precompiladas y optimizadas para tareas complejas, como el seguimiento de manos, la estimación de poses, la detección de mallas de rostros y la detección de objetos, todo lo cual permite una interacción en tiempo real de alto rendimiento, incluso en dispositivos móviles.
Las canalización basadas en gráficos de MediaPipe son altamente personalizables, lo que te permite adaptar soluciones para aplicaciones de backend, iOS, Android, Web y computadoras de escritorio. Elige MediaPipe cuando tu aplicación necesite comprender y reaccionar de forma instantánea a los datos de sensores en vivo, en especial a las transmisiones de video, para casos de uso como el reconocimiento de gestos, los efectos de RA, el seguimiento de fitness o el control de avatares, todos enfocados en analizar e interpretar las entradas.
Explora las soluciones y comienza a compilar con MediaPipe.
Elige un enfoque: En el dispositivo o en la nube
Cuando integras funciones de IA/AA en tu app para Android, una decisión clave al principio es si realizar el procesamiento directamente en el dispositivo del usuario o en la nube. Las herramientas como ML Kit, Gemini Nano y TensorFlow Lite habilitan funciones integradas en el dispositivo, mientras que las APIs de Gemini en la nube con Firebase AI Logic pueden proporcionar un procesamiento potente basado en la nube. Hacer la elecció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 forma confiable sin una conexión a Internet, las soluciones integradas 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: En los casos de uso en los que los datos del usuario deben permanecer en el dispositivo por motivos de privacidad, el procesamiento integrado 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, más potentes y se actualizan con más 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 amplias son fundamentales. Los modelos integrados en el dispositivo pueden controlar bien las tareas más simples.
- Consideraciones sobre los costos: Por lo general, las APIs de Cloud incluyen precios basados en el uso, lo que significa que los costos pueden escalar con la cantidad de inferencias o la cantidad de datos procesados. Si bien la inferencia integrada en el dispositivo, por lo general, no tiene cargos directos por uso, genera costos de desarrollo y puede afectar los recursos del dispositivo, como la duración de 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 integrados específicos, como Gemini Nano, para garantizar que tu público objetivo pueda usar las funciones.
- Ajuste fino y personalización: Si necesitas la capacidad de ajustar los modelos para tu caso de uso específico, las soluciones basadas en la nube suelen ofrecer una mayor flexibilidad y opciones más amplias de personalización.
- Coherencia multiplataforma: Si las funciones de IA coherentes en varias plataformas, incluido iOS, son fundamentales, ten en cuenta que es posible 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, puedes encontrar la solución de IA/AA perfecta para mejorar tu app para Android y ofrecer 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 de desarrollador adecuadas para integrar tecnologías de IA/AA en tus proyectos de Android.
¿Cuál es el objetivo principal de la función de 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) ¿Analizar datos o 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)? → Ve a Percepción y aprendizaje automático tradicionales.
AA tradicional y percepción
Debes analizar las entradas, identificar atributos o hacer predicciones en función de los patrones aprendidos, en lugar de generar resultados completamente nuevos.
¿Qué tarea específica estás realizando?
- A) ¿Necesitas una integración rápida de funciones comunes de AA para dispositivos móviles compiladas previamente?
(p.ej., escaneo de códigos de barras, reconocimiento de texto [OCR], detección de rostro, etiquetado de imágenes, detección y seguimiento de objetos, ID de idioma, respuesta inteligente básica)
- → Uso: ML Kit (APIs tradicionales)
- Por qué: Es la integración más fácil para tareas de AA establecidas en dispositivos móviles, que a menudo se optimizan para el uso integrado en el dispositivo (latencia baja, sin conexión y privacidad).
- B) ¿Necesitas procesar datos de transmisión en tiempo real (como video o audio) para tareas de percepción? (p.ej., seguimiento de manos, estimación de poses, malla de rostro, detección y segmentación de objetos en tiempo real en video)
- → Uso: MediaPipe
- Por qué: Framework especializado en 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 la clasificación, la regresión o la detección) en el dispositivo, dando prioridad al rendimiento y al bajo uso de recursos?
- → Uso: LiteRT (entorno 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 de perímetro (tamaño pequeño, inferencia rápida, aceleración de hardware).
- D) ¿Necesitas entrenar tu propio modelo de AA personalizado para una tarea específica?
- → Usa: 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 de muchos idiomas con muchos matices?
- Considera si los modelos de AA tradicionales (posiblemente implementados con LiteRT o la nube) son adecuados o si la CLN avanzada requiere modelos generativos (regresa al principio y elige A). Para la clasificación, el análisis de opiniones o la traducción basada en la nube, haz lo siguiente:
- → Uso: Soluciones basadas en la nube (p.ej., API de Natural Language de Google Cloud, API de Google Cloud Translation, a las que se puede acceder con un backend personalizado o Vertex AI). (prioridad más baja que las opciones integradas en el dispositivo 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
Debes crear contenido nuevo, resumir, reescribir o realizar tareas complejas de comprensión o interacción.
¿Necesitas que la IA funcione sin conexión, necesitas 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, sin conexión o sin costo de la nube es fundamental.
- 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)
Consideraciones: Requiere dispositivos Android compatibles, compatibilidad limitada con iOS, límites de tokens específicos (mensaje de 1,024 y contexto de 4,096), los modelos son menos potentes que sus contrapartes en la nube.
¿Tu caso de uso específicamente coincide con las tareas optimizadas que ofrecen las APIs de IA generativa de ML Kit? (resumir texto, revisar texto, reescribir texto, generar descripciones de imágenes) Y, ¿son suficientes los límites de tokens?
- A) Sí:
- → Uso: APIs de IA generativa de ML Kit (con tecnología Gemini Nano)
- Por qué: Es la forma más fácil de integrar tareas generativas específicas y comunes en el dispositivo, la solución en el dispositivo de mayor prioridad.
- B) No (necesitas indicaciones o tareas más flexibles más allá de las APIs de IA generativa de ML Kit específicas, pero aún deseas la ejecución integrada en el dispositivo dentro de las capacidades de Nano):
- → Uso: Acceso experimental a Gemini Nano
- Por qué: Proporciona capacidades de indicaciones abiertas en el dispositivo para casos de uso más allá de las APIs de GenAI de ML Kit estructuradas, respetando las limitaciones de Nano.
IA generativa en la nube
Usa modelos más potentes, requiere conectividad, suele implicar costos de inferencia, ofrece un alcance más amplio de dispositivos y una coherencia multiplataforma (Android y iOS) más fácil.
¿Cuál es tu prioridad: facilidad de integración en Firebase O máxima flexibilidad o control?
- A) ¿Prefieres una integración más sencilla, una experiencia de API administrada y es probable que ya uses Firebase?
- → Usa el SDK de Firebase AI Logic → Ve a Firebase AI Logic
- B) ¿Necesitas la máxima flexibilidad, acceso a la más amplia variedad de modelos (incluidos los de terceros o personalizados), un ajuste fino avanzado y estás dispuesto a administrar tu propia integración de backend (más compleja)?
- → Uso: API de Gemini con un backend de Cloud personalizado (con Google Cloud Platform)
- Por qué: Ofrece el mayor control, el acceso más amplio al modelo y las opciones de entrenamiento personalizado, pero requiere un esfuerzo significativo de desarrollo de backend. Adecuada para necesidades complejas, a gran escala o altamente personalizadas.
(Elegiste el SDK de Logic de Firebase AI). ¿Qué tipo de tarea generativa y perfil de rendimiento necesitas?
- A) ¿Necesitas un equilibrio entre el rendimiento y el costo, adecuado para la generación general de texto, el resumen o las aplicaciones de chat en las que la velocidad es importante?
- → Usa el 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 una calidad y una capacidad superiores para la generación de texto complejo, el razonamiento, la CLN avanzada o el seguimiento de instrucciones?
- → Usa el 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 en función de instrucciones de texto?
- → Uso: SDK de lógica de IA de Firebase con la imagen 3
- Por qué: Es un modelo de generación de imágenes de vanguardia al que se accede con el entorno de Firebase administrado.