Gemini Nano

Gemini Nano vous permet de proposer des expériences d'IA générative riches sans avoir besoin d'une connexion réseau ni d'envoyer de données vers le cloud. L'IA sur l'appareil est une excellente solution pour les cas d'utilisation où les coûts réduits et les mesures de protection de la confidentialité sont vos principales préoccupations.

Pour les cas d'utilisation sur l'appareil, vous pouvez exploiter le modèle de fondation Gemini Nano de Google. Gemini Nano s'exécute dans le service système AICore d'Android, qui exploite le matériel de l'appareil pour réduire la latence d'inférence et maintenir le modèle à jour.

API d'IA générative ML Kit

Les API d'IA générative ML Kit exploitent la puissance de Gemini Nano pour aider vos applications à effectuer des tâches d'IA générative sur l'appareil. Ces API sont basées sur AICore, un service système Android qui permet d'exécuter des modèles de fondation d'IA générative sur l'appareil afin de faciliter des fonctionnalités telles que l'amélioration des fonctionnalités de l'application et de la confidentialité des utilisateurs en traitant les données localement. En savoir plus

Principales fonctionnalités

ML Kit organise ses fonctionnalités d'IA générative dans les catégories suivantes :

Génération et agents personnalisés

Utilisez directement le modèle de fondation Gemini Nano pour des cas d'utilisation personnalisés :

  • Accès direct au modèle (à l'aide de la classe GenerativeModel) : générez du texte ou une sortie structurée typée à partir de requêtes textuelles ou multimodales personnalisées, ou gérez votre propre historique de chat multitour directement à l'aide d'un objet List<Content> avec les rôles USER et MODEL et une valeur sessionId.
  • Workflows agentiques (à l'aide de la classe AgentRunner) : basés sur la classe GenerativeModel, ils automatisent la gestion des sessions multitours (y compris l'historique des conversations en mémoire) et les boucles d'appel d'outils en plusieurs étapes.

Voix et audio

Transcrivez, traduisez et synthétisez des contenus audio sur l'appareil :

  • Reconnaissance vocale : transcrivez du contenu audio parlé en texte dans la même langue.
  • Speech Translation : traduisez du contenu audio parlé en texte dans une autre langue en temps réel.
  • Text-to-Speech : synthétisez des contenus audio vocaux au son naturel à partir de texte.

Tâches de texte et d'image

Utilisez des API spécifiques aux tâches, optimisées pour les tâches courantes de vision, d'écriture et de recherche, via une interface de haut niveau :

  • Description de l'image : générez une brève description d'une image donnée.
  • Résumé : résumez des articles ou des conversations sous forme de liste à puces.
  • Relecture : relisez des messages de chat courts.
  • Réécriture : réécrivez des messages de chat courts dans différents tons ou styles.
  • Recherche sémantique : générez des embeddings vectoriels pour du texte et des images à l'aide de l'API Embedding, puis associez-les à AndroidX AppSearch pour trouver du contenu par signification.

Architecture via AICore

En tant que module au niveau du système, vous accédez à AICore via une série d'API pour exécuter l'inférence sur l'appareil. De plus, AICore dispose de plusieurs fonctionnalités de sécurité intégrées, ce qui garantit une évaluation approfondie par rapport à nos filtres de sécurité. Le schéma suivant montre comment une application accède à AICore pour exécuter Gemini Nano sur l'appareil.

Diagramme montrant comment une application Android utilise le SDK Google AI Edge pour accéder à AICore, où Gemini Nano, LoRA et les fonctionnalités de sécurité sont gérés et exécutés sur des accélérateurs matériels.
Figure 1. AICore sert d'interface entre votre application et le modèle Gemini Nano, en gérant les mises à jour et la sécurité du modèle tout en exploitant le matériel sur l'appareil.

Préserver la confidentialité et la sécurité des données utilisateur

L'IA générative sur l'appareil exécute les requêtes localement, ce qui élimine les appels au serveur. Bien que cela supprime la latence du réseau, la vitesse d'inférence dépend du matériel de l'appareil. Cette approche améliore la confidentialité en conservant les données sensibles sur l'appareil, permet un fonctionnement hors connexion et réduit les coûts d'inférence.

AICore respecte les principes de Private Compute Core, avec les caractéristiques clés suivantes :

  • Liaison de package restreinte : AICore est isolé de la plupart des autres packages, à quelques exceptions près pour des packages système spécifiques. Toute modification de cette liste d'autorisation ne peut être effectuée que lors d'une mise à jour OTA Android complète.
  • Accès indirect à Internet : AICore n'a pas d'accès direct à Internet. Toutes les requêtes Internet, y compris les téléchargements de modèles, sont acheminées via l'APK associé Open Source Private Compute Services. Les API de Private Compute Services doivent explicitement démontrer leur nature axée sur la confidentialité.

De plus, AICore est conçu pour isoler chaque requête et ne stocke aucun enregistrement des données d'entrée ni des résultats obtenus après leur traitement, afin de protéger la confidentialité des utilisateurs. Pour en savoir plus, consultez l'article de blog Présentation de la confidentialité et de la sécurité pour Gemini Nano.

Diagramme d'architecture détaillé d'AICore montrant le flux de requêtes : surface de l'API, traitement des entrées avec des signaux de sécurité, configuration des fonctionnalités, environnement d'exécution avec les pondérations de modèle et les LoRA, et traitement des sorties avec des signaux de sécurité. Il affiche également les téléchargements de modèles via Private Compute Services.
Figure 2. L'architecture AICore gère la sécurité des entrées et des sorties, le traitement des requêtes et les pondérations des modèles pour fournir un environnement sécurisé pour l'IA sur l'appareil.

Avantages de l'accès aux modèles de fondation d'IA avec AICore

AICore permet à l'OS Android de fournir et de gérer des modèles de fondation d'IA. Cela réduit considérablement le coût d'utilisation de ces grands modèles dans votre application, principalement pour les raisons suivantes :

  • Facilité de déploiement : AICore gère la distribution de Gemini Nano et les futures mises à jour. Vous n'avez pas à vous soucier du téléchargement ou de la mise à jour de modèles volumineux sur le réseau, ni de l'impact sur le budget de mémoire d'exécution et de disque de votre application.
  • Inférence accélérée : AICore exploite le matériel de l'appareil pour accélérer l'inférence. Votre application bénéficie des meilleures performances sur chaque appareil, et vous n'avez pas à vous soucier des interfaces matérielles sous-jacentes.

Quand utiliser l'inférence hybride ?

Bien que Gemini Nano soit idéal pour les tâches hors connexion et sensibles à la confidentialité, il présente des contraintes sur l'appareil, telles que des limites de jetons, des limites matérielles de l'appareil et des limites de capacité du modèle. Dans ce cas, vous pouvez utiliser l'inférence hybride pour équilibrer les charges de travail d'IA entre l'appareil local et le cloud.

Pour garantir une expérience utilisateur cohérente sur tous les appareils et gérer les requêtes complexes, vous pouvez utiliser l'API Firebase AI Logic Hybrid. Votre application peut ainsi effectuer les opérations suivantes :

  • Utiliser une solution de secours : redirigez automatiquement les requêtes vers les modèles Gemini Flash ou Gemini Pro dans le cloud lorsque Gemini Nano n'est pas disponible ou n'est pas compatible avec l'appareil de l'utilisateur.
  • Appliquer la sécurité : protégez l'inférence cloud avec Firebase App Check (et ses fournisseurs d'attestation compatibles, comme Play Integrity) et conservez les requêtes système sensibles côté serveur.