Gemini Nano

Gemini Nano te permite ofrecer experiencias de IA generativa enriquecidas sin necesidad de una conexión de red ni de enviar datos a la nube. La IA integrada en el dispositivo es una excelente solución para los casos de uso en los que tus principales preocupaciones son el bajo costo y las protecciones de privacidad.

Para los casos de uso integrados en el dispositivo, puedes aprovechar el modelo de base Gemini Nano de Google. Gemini Nano se ejecuta en el servicio del sistema AICore de Android, que aprovecha el hardware del dispositivo para permitir una baja latencia de inferencia y mantener el modelo actualizado.

APIs de IA generativa de ML Kit

Las APIs de IA generativa de ML Kit aprovechan la potencia de Gemini Nano para ayudar a tus apps a realizar tareas de IA generativa integrada en el dispositivo. Estas APIs se compilan sobre AICore, un servicio del sistema de Android que permite la ejecución de modelos de base de IA generativa en el dispositivo para facilitar funciones como las funcionalidades de la app mejoradas y una mayor privacidad del usuario a través del procesamiento de datos de forma local. Obtén más información.

Características clave

El ML Kit organiza sus capacidades de IA generativa en las siguientes categorías:

Generación y agentes personalizados

Trabaja directamente con el modelo de base de Gemini Nano para casos de uso personalizados:

  • Acceso directo al modelo (con la clase GenerativeModel): Genera texto o un resultado estructurado con tipo a partir de instrucciones solo de texto o instrucciones multimodales personalizadas, o administra tu propio historial de chat de varios turnos directamente con un objeto List<Content> con roles USER y MODEL y un valor sessionId.
  • Flujos de trabajo basados en agentes (con la clase AgentRunner): Se basan en la clase GenerativeModel y automatizan la administración de sesiones de varios turnos (incluido el historial de conversaciones en la memoria) y los bucles de llamadas a herramientas de varios pasos.

Voz y audio

Transcribe, traduce y sintetiza audio de voz integrado en el dispositivo:

Tareas de texto y de imagen

Usa APIs específicas para tareas optimizadas para tareas comunes de visión, escritura y búsqueda a través de una interfaz de alto nivel:

  • Descripción de la imagen: Genera una descripción breve de una imagen determinada.
  • Resumen: Resume artículos o conversaciones como una lista con viñetas.
  • Revisión de texto: Revisa mensajes de chat cortos.
  • Reescritura: Reescribe mensajes de chat cortos en diferentes tonos o estilos.
  • Búsqueda semántica: Genera embeddings de vectores para texto e imágenes con la API de Embedding y vincúlalos con AppSearch de AndroidX para encontrar contenido por significado.

Arquitectura a través de AICore

Como módulo a nivel del sistema, accedes a AICore a través de una serie de APIs para ejecutar la inferencia integrado en el dispositivo. Además, AICore tiene varias funciones de seguridad integradas, lo que garantiza una evaluación exhaustiva con nuestros filtros de seguridad. En el siguiente diagrama, se describe cómo una app accede a AICore para ejecutar Gemini Nano integrado en el dispositivo.

Diagrama que muestra cómo una app para Android usa el SDK de Google AI Edge para
    acceder a AICore, donde se administran y ejecutan Gemini Nano, LoRA y las funciones de seguridad
    en aceleradores de hardware.
Figura 1: AICore funciona como la interfaz entre tu app y el modelo de Gemini Nano, y administra las actualizaciones y la seguridad del modelo, a la vez que aprovecha el hardware integrado en el dispositivo.

Mantener la privacidad y la seguridad de los datos de los usuarios

La IA generativa integrada en el dispositivo ejecuta instrucciones de forma local, lo que elimina las llamadas al servidor. Si bien esto quita la latencia de red, la velocidad de inferencia depende del hardware del dispositivo. Este enfoque mejora la privacidad, ya que mantiene los datos sensibles en el dispositivo, habilita la funcionalidad sin conexión y reduce los costos de inferencia.

AICore se adhiere a los principios de Private Compute Core, con las siguientes características clave:

  • Vinculación de paquetes restringida: AICore está aislado de la mayoría de los demás paquetes, con excepciones limitadas para paquetes específicos del sistema. Cualquier modificación en esta lista de entidades permitidas solo puede realizarse durante una actualización OTA completa de Android.
  • Acceso indirecto a Internet: AICore no tiene acceso directo a Internet. Todas las solicitudes de Internet, incluidas las descargas de modelos, se enrutan a través del APK complementario de código abierto de Private Compute Services. Las APIs de Private Compute Services deben demostrar explícitamente su naturaleza centrada en la privacidad.

Además, AICore está diseñado para aislar cada solicitud y no almacena ningún registro de los datos de entrada ni de los resultados después de procesarlos, lo que protege la privacidad del usuario. Lee la entrada de blog Introducción a la privacidad y la seguridad de Gemini Nano para obtener más información.

Un diagrama de arquitectura detallado de AICore que muestra el flujo de solicitudes:
    superficie de la API, procesamiento de entradas con indicadores de seguridad, configuración de funciones,
    entorno de ejecución con pesos de modelos y LoRA, y procesamiento de salidas con indicadores de
    seguridad. También muestra las descargas de modelos a través de Private Compute Services.
Figura 2: La arquitectura de AICore administra la seguridad de entrada y salida, el procesamiento de solicitudes y los pesos de los modelos para proporcionar un entorno seguro para la IA integrada en el dispositivo.

Beneficios de acceder a modelos de base de IA con AICore

AICore permite que el SO Android proporcione y administre modelos de base de IA. Esto reduce significativamente el costo de usar estos modelos grandes en tu app, principalmente debido a lo siguiente:

  • Facilidad de implementación: AICore administra la distribución de Gemini Nano y controla las actualizaciones futuras. No tienes que preocuparte por descargar o actualizar modelos grandes a través de la red, ni por el impacto en el presupuesto de memoria de disco y de tiempo de ejecución de tu app.
  • Inferencia acelerada: AICore aprovecha el hardware integrado en el dispositivo para acelerar la inferencia. Tu app obtiene el mejor rendimiento en cada dispositivo, y no necesitas preocuparte por las interfaces de hardware subyacentes.

Cuándo usar la inferencia híbrida

Aunque Gemini Nano es ideal para tareas sin conexión y sensibles a la privacidad, tiene restricciones integradas en el dispositivo, como límites de tokens, limitaciones de hardware del dispositivo y límites de capacidad del modelo. En estas situaciones, puedes usar la inferencia híbrida para balancear las cargas de trabajo de IA entre el dispositivo local y la nube.

Para garantizar una experiencia del usuario coherente en todos los dispositivos y controlar consultas complejas, puedes usar la API híbrida de Firebase AI Logic. Esto permite que tu app haga lo siguiente:

  • Respaldo elegante: Enruta automáticamente las solicitudes a los modelos de Gemini Flash o Gemini Pro en la nube cuando Gemini Nano no esté disponible o no sea compatible con el dispositivo del usuario.
  • Aplica la seguridad: Protege la inferencia en la nube con la Verificación de aplicaciones de Firebase (y sus proveedores de certificación compatibles, como Play Integrity) y mantén las instrucciones del sistema sensibles del lado del servidor.