Ce guide est conçu pour vous aider à intégrer les solutions d'intelligence artificielle et de machine learning (IA/ML) génératives de Google dans vos applications. Il vous guide pour vous aider à choisir la solution d'intelligence artificielle et de machine learning qui répond le mieux à vos besoins. L'objectif de ce document est de vous aider à déterminer quel outil utiliser et pourquoi, en vous concentrant sur vos besoins et vos cas d'utilisation.
Pour vous aider à choisir la solution d'IA/de ML la plus adaptée à vos besoins spécifiques, ce document inclut un guide des solutions. En répondant à une série de questions sur les objectifs et les contraintes de votre projet, le guide vous oriente vers les outils et technologies les plus appropriés.
Ce guide vous aide à choisir la meilleure solution d'IA pour votre application. Tenez compte des facteurs suivants : le type de données (texte, images, audio, vidéo), la complexité de la tâche (résumé simple ou tâches complexes nécessitant des connaissances spécialisées) et la taille des données (entrées courtes ou documents volumineux). Cela vous aidera à choisir entre Gemini Nano sur votre appareil ou l'IA basée dans le cloud de Firebase (Gemini Flash, Gemini Pro ou Imagen).
Exploiter la puissance de l'inférence sur l'appareil
Lorsque vous ajoutez des fonctionnalités d'IA et de ML à votre application Android, vous pouvez choisir différentes manières de les fournir : sur l'appareil ou dans le cloud.
Les solutions sur l'appareil, comme Gemini Nano, fournissent des résultats sans frais supplémentaires, améliorent la confidentialité des utilisateurs et offrent une fonctionnalité hors connexion fiable, car les données d'entrée sont traitées localement. Ces avantages peuvent être essentiels pour certains cas d'utilisation, comme la synthèse de messages, ce qui fait de l'appareil un élément prioritaire lors du choix des solutions appropriées.
Gemini Nano vous permet d'exécuter l'inférence directement sur un appareil Android. Si vous travaillez avec du texte, des images ou de l'audio, commencez par les API GenAI de ML Kit pour obtenir des solutions prêtes à l'emploi. Les API ML Kit GenAI sont optimisées par Gemini Nano, qui utilise AICore comme service système sous-jacent. Elles sont affinées pour des tâches spécifiques sur l'appareil. Les API ML Kit GenAI sont idéales pour la production de vos applications en raison de leur interface et de leur évolutivité de niveau supérieur. Ces API vous permettent d'envoyer des requêtes en langage naturel avec des entrées de texte et d'image, ce qui permet une variété de cas d'utilisation tels que la compréhension d'images, les traductions courtes, les résumés guidés, etc.
Pour les tâches de machine learning traditionnelles, vous pouvez implémenter vos propres modèles personnalisés. Nous fournissons des outils robustes tels que ML Kit, MediaPipe, LiteRT et les fonctionnalités de diffusion Google Play pour simplifier votre processus de développement.
Pour les applications qui nécessitent des solutions très spécialisées, vous pouvez utiliser votre propre modèle personnalisé, tel que Gemma ou un autre modèle adapté à votre cas d'utilisation spécifique. Exécutez votre modèle directement sur l'appareil de l'utilisateur avec LiteRT, qui fournit des architectures de modèle prédéfinies pour des performances optimisées.
Vous pouvez également envisager de créer une solution hybride en tirant parti des modèles sur l'appareil et dans le cloud.
Les applications mobiles utilisent généralement des modèles locaux pour les petits ensembles de données textuelles, comme les conversations de chat ou les articles de blog. Toutefois, pour les sources de données plus volumineuses (comme les PDF) ou lorsque des connaissances supplémentaires sont requises, une solution cloud avec des modèles Gemini plus puissants peut être nécessaire.
Intégrer des modèles Gemini avancés
Les développeurs Android peuvent intégrer les fonctionnalités avancées d'IA générative de Google, y compris les puissants modèles Gemini Pro, Gemini Flash et Imagen, dans leurs applications à l'aide du SDK Firebase AI Logic. Ce SDK est conçu pour les besoins en données plus importants. Il offre des capacités et une adaptabilité accrues en permettant l'accès à ces modèles d'IA multimodaux et performants.
Le SDK Firebase AI Logic permet aux développeurs d'effectuer des appels côté client aux modèles d'IA de Google avec un minimum d'efforts. Ces modèles, tels que Gemini Pro et Gemini Flash, exécutent l'inférence dans le cloud et permettent aux applications Android de traiter une variété d'entrées, y compris des images, de l'audio, des vidéos et du texte. Gemini Pro excelle dans le raisonnement sur des problèmes complexes et l'analyse de données volumineuses, tandis que la gamme Gemini Flash offre une vitesse supérieure et une fenêtre de contexte suffisamment grande pour la plupart des tâches.
Quand utiliser le machine learning traditionnel ?
L'IA générative est utile pour créer et modifier des contenus tels que du texte, des images et du code. Toutefois, de nombreux problèmes concrets sont mieux résolus à l'aide de techniques de machine learning (ML) traditionnelles. Ces méthodes établies excellent dans les tâches impliquant la prédiction, la classification, la détection et la compréhension des modèles dans les données existantes, souvent avec une efficacité accrue, un coût de calcul plus faible et une implémentation plus simple que les modèles génératifs.
Les frameworks de ML traditionnels offrent des solutions robustes, optimisées et souvent plus pratiques pour les applications axées sur l'analyse des entrées, l'identification des caractéristiques ou la prédiction basée sur des modèles appris, plutôt que sur la génération de résultats entièrement nouveaux. Des outils tels que ML Kit, LiteRT et MediaPipe de Google offrent de puissantes fonctionnalités adaptées à ces cas d'utilisation non génératifs, en particulier dans les environnements de calcul mobile et périphérique.
Lancez votre intégration du machine learning avec ML Kit
ML Kit propose des solutions prêtes pour la production et optimisées pour les mobiles pour les tâches courantes de machine learning, sans nécessiter d'expertise préalable en ML. Ce SDK mobile facile à utiliser apporte l'expertise de Google en matière de ML directement à vos applications Android et iOS, ce qui vous permet de vous concentrer sur le développement de fonctionnalités au lieu de l'entraînement et de l'optimisation des modèles. ML Kit fournit des API prédéfinies et des modèles prêts à l'emploi pour des fonctionnalités telles que la lecture de codes-barres, la reconnaissance de texte (OCR), la détection de visages, l'étiquetage d'images, la détection et le suivi d'objets, l'identification des langues et la réponse suggérée.
Ces modèles sont généralement optimisés pour l'exécution sur l'appareil, ce qui garantit une faible latence, une fonctionnalité hors connexion et une confidentialité renforcée des utilisateurs, car les données restent souvent sur l'appareil. Choisissez ML Kit pour ajouter rapidement des fonctionnalités de ML établies à votre application mobile sans avoir à entraîner de modèles ni à générer de résultats. Il est idéal pour améliorer efficacement les applications avec des fonctionnalités "intelligentes" à l'aide des modèles optimisés de Google ou en déployant des modèles TensorFlow Lite personnalisés.
Consultez nos guides et notre documentation complets sur le site pour les développeurs ML Kit.
Déploiement de ML personnalisé avec LiteRT
Pour un contrôle plus précis ou pour déployer vos propres modèles de ML, utilisez une pile de ML personnalisée basée sur LiteRT et les services Google Play. Cette pile fournit l'essentiel pour déployer des fonctionnalités de ML hautes performances. LiteRT est une boîte à outils optimisée pour exécuter efficacement des modèles TensorFlow sur des appareils mobiles, embarqués et de périphérie aux ressources limitées. Elle vous permet d'exécuter des modèles beaucoup plus petits et plus rapides qui consomment moins de mémoire, d'énergie et d'espace de stockage. L'environnement d'exécution LiteRT est hautement optimisé pour divers accélérateurs matériels (GPU, DSP, NPU) sur les appareils périphériques, ce qui permet une inférence à faible latence.
Choisissez LiteRT lorsque vous devez déployer efficacement des modèles de ML entraînés (généralement pour la classification, la régression ou la détection) sur des appareils dont la puissance de calcul ou l'autonomie de la batterie sont limitées, tels que les smartphones, les appareils IoT ou les microcontrôleurs. Il s'agit de la solution privilégiée pour déployer des modèles prédictifs personnalisés ou standards en périphérie, où la vitesse et la conservation des ressources sont primordiales.
En savoir plus sur le déploiement du ML avec LiteRT
Intégrer la perception en temps réel dans vos applications avec MediaPipe
MediaPipe fournit des solutions de machine learning Open Source, multiplates-formes et personnalisables, conçues pour les contenus multimédias en direct et en streaming. Profitez d'outils préconfigurés et optimisés pour les tâches complexes comme le suivi des mains, l'estimation de pose, la détection de maillage facial et la détection d'objets. Ils permettent tous une interaction en temps réel et performante, même sur les appareils mobiles.
Les pipelines basés sur des graphiques de MediaPipe sont hautement personnalisables, ce qui vous permet d'adapter des solutions pour les applications Android, iOS, Web, de bureau et de backend. Choisissez MediaPipe lorsque votre application doit comprendre et réagir instantanément aux données de capteurs en direct, en particulier aux flux vidéo, pour des cas d'utilisation tels que la reconnaissance des gestes, les effets de RA, le suivi de la forme physique ou le contrôle d'avatar, tous axés sur l'analyse et l'interprétation des entrées.
Découvrez les solutions et commencez à créer avec MediaPipe.
Intégrer votre application à l'assistant de l'appareil
Alors que l'intégration de l'IA traditionnelle se concentre sur l'intégration de l'IA dans votre application, vous pouvez également intégrer votre application dans l'IA. En contribuant aux fonctionnalités d'IA du système, vous permettez aux assistants au niveau du système (comme Gemini) de découvrir et d'appeler les capacités de votre application de manière autonome. AppFunctions est le principal moyen d'y parvenir, permettant à votre application de participer à l'écosystème d'IA Android plus vaste.
Choisir une approche
Lorsque vous intégrez l'IA pour améliorer votre application Android, vous devez envisager trois approches principales : effectuer le traitement sur l'appareil, exploiter des modèles basés sur le cloud ou ajouter les fonctionnalités de votre application à l'IA au niveau du système. Des outils tels que ML Kit, Gemini Nano et LiteRT permettent d'utiliser des fonctionnalités sur l'appareil, tandis que les API cloud Gemini avec Firebase AI Logic offrent un traitement puissant dans le cloud. AppFunctions représente une troisième voie, qui vous permet d'intégrer votre application à l'IA en rendant ses fonctionnalités disponibles de manière agentique pour le système.
Tenez compte des facteurs suivants lorsque vous choisissez votre approche :
| Facteur | Solutions sur l'appareil | Solutions cloud |
|---|---|---|
| Connectivité et fonctionnalités hors connexion | Idéal pour une utilisation hors connexion ; fonctionne sans connexion réseau. | Nécessite une connexion réseau pour communiquer avec les serveurs distants. |
| Confidentialité des données | traite et stocke les données sensibles localement sur l'appareil ; | Les données sont transmises au cloud, ce qui nécessite de faire confiance à la sécurité du fournisseur. |
| Découvrabilité et couverture | L'intégration directe à l'OS (AppFunctions) permet aux assistants de découvrir des fonctionnalités. | La découverte est généralement limitée à l'UI interne de l'application ou à des intégrations d'API spécifiques. |
| Capacités du modèle | Optimisé pour une faible latence et des tâches spécifiques moins intensives. | Modèles puissants capables de gérer une grande complexité et des entrées volumineuses. |
| Considérations liées au coût | Aucun frais direct par utilisation ; utilise le matériel de l'appareil existant. | Implique généralement une tarification basée sur l'utilisation ou des frais d'abonnement continus. |
| Ressources de l'appareil | Utilise l'espace de stockage local, la RAM et l'autonomie de la batterie. | Impact local minimal ; les tâches lourdes sont déchargées sur le serveur. |
| Affinage | Flexibilité limitée, contrainte par les capacités matérielles locales. | Plus de flexibilité pour une personnalisation poussée et un réglage à grande échelle. |
| Cohérence multiplate-forme | La disponibilité peut varier en fonction de la compatibilité avec l'OS et le matériel. | Expérience cohérente sur n'importe quelle plate-forme disposant d'un accès à Internet. |
En examinant attentivement les exigences de votre cas d'utilisation et les options disponibles, vous pouvez trouver la solution d'IA/ML idéale pour améliorer votre application Android et offrir des expériences intelligentes et personnalisées à vos utilisateurs.
Guide des solutions d'IA/de ML
Ce guide des solutions peut vous aider à identifier les outils de développement appropriés pour intégrer des technologies d'IA/de ML dans vos projets Android.
Quel est l'objectif principal de la fonctionnalité d'IA ?
- A) Générer de nouveaux contenus (texte, descriptions d'images) ou effectuer un traitement de texte simple (résumer, relire ou réécrire un texte) ? → Accéder à IA générative
- B) Analysez-vous des données/entrées existantes pour la prédiction, la classification, la détection, la compréhension de modèles ou le traitement de flux en temps réel (comme des flux vidéo/audio) ? → Accédez à ML et perception traditionnels.
- C) Améliorer les fonctionnalités de votre application pour l'intégrer aux fonctionnalités d'IA du système (intégrer votre application à l'IA) ? → Consultez Intégrer votre application à l'IA.
ML et perception traditionnels
Vous devez analyser les entrées, identifier les caractéristiques ou faire des prédictions en fonction des schémas appris, plutôt que de générer des sorties entièrement nouvelles.
Quelle tâche spécifique effectuez-vous ?
- A) Vous avez besoin d'intégrer rapidement des fonctionnalités ML mobiles courantes et prédéfinies ?
(par exemple, lecture de codes-barres, reconnaissance de texte (OCR), détection de visages, étiquetage d'images, détection et suivi d'objets, identification des langues, réponse suggérée de base)
- → Utilisation : ML Kit (API traditionnelles)
- Pourquoi : l'intégration la plus simple pour les tâches de ML mobiles établies, souvent optimisée pour une utilisation sur l'appareil (faible latence, hors connexion, confidentialité).
- B) Vous devez traiter des flux de données en temps réel (comme des vidéos ou de l'audio) pour des tâches de perception. (par exemple, suivi des mains, estimation des poses, maillage facial, détection et segmentation d'objets en temps réel dans une vidéo)
- → Utilisation : MediaPipe
- Pourquoi : framework spécialisé pour les pipelines de perception en temps réel et hautes performances sur différentes plates-formes.
- C) Vous devez exécuter efficacement votre propre modèle de ML entraîné sur mesure (par exemple, pour la classification, la régression ou la détection) sur l'appareil, en privilégiant les performances et la faible utilisation des ressources.
- → Utilisation : LiteRT (TensorFlow Lite Runtime)
- Pourquoi : exécution optimisée pour déployer efficacement des modèles personnalisés sur les appareils mobiles et périphériques (petite taille, inférence rapide, accélération matérielle).
- D) Vous devez entraîner votre propre modèle de ML personnalisé pour une tâche spécifique.
- → Utilisation : LiteRT (TensorFlow Lite Runtime) + entraînement de modèle personnalisé
- Pourquoi ? Fournit les outils permettant d'entraîner et de déployer des modèles personnalisés, optimisés pour les appareils mobiles et de périphérie.
- E) Vous avez besoin d'une classification de contenu avancée, d'une analyse des sentiments ou d'une traduction dans de nombreuses langues avec un grand nombre de nuances ?
- Déterminez si les modèles de ML traditionnels (potentiellement déployés à l'aide de LiteRT ou du cloud) conviennent, ou si le NLU avancé nécessite des modèles génératifs (revenez à "Démarrer", puis sélectionnez A). Pour la classification, l'analyse des sentiments ou la traduction dans le cloud :
- → Utiliser des solutions basées sur le cloud (par exemple, Google Cloud Natural Language API, Google Cloud Translation API, potentiellement accessibles à l'aide d'un backend personnalisé ou de Vertex AI). (Priorité inférieure aux options sur l'appareil si vous êtes hors connexion ou si la confidentialité est essentielle)
- Pourquoi : les solutions cloud offrent des modèles puissants et une prise en charge linguistique étendue, mais nécessitent une connectivité et peuvent entraîner des coûts.
IA générative
Vous devez créer du contenu, résumer, réécrire ou effectuer des tâches complexes de compréhension ou d'interaction.
Avez-vous besoin que l'IA fonctionne hors connexion, avez-vous besoin d'une confidentialité maximale des données (en conservant les données utilisateur sur l'appareil) ou souhaitez-vous éviter les coûts d'inférence dans le cloud ?
- A) Oui, le mode hors connexion, la confidentialité maximale ou l'absence de coût cloud sont essentiels.
- → Accéder à IA générative sur l'appareil
- B) Non, la connectivité est disponible et acceptable, les capacités et l'évolutivité du cloud sont plus importantes, ou des fonctionnalités spécifiques nécessitent le cloud.
- → Accéder à l'IA générative dans le cloud
IA générative sur l'appareil (avec Gemini Nano)
Remarques : Nécessite des appareils Android compatibles, compatibilité limitée avec iOS, modèles moins puissants que leurs homologues dans le cloud.
L'API Prompt de ML Kit vous permet d'envoyer des requêtes en langage naturel avec des entrées textuelles uniquement ou textuelles et d'image pour divers cas d'utilisation, tels que la compréhension d'images, les traductions courtes et les résumés guidés. Si vos cas d'utilisation peuvent être satisfaits par ces limites de jetons, les API ML Kit GenAI sont la meilleure option pour l'IA générative sur l'appareil. ML Kit propose également des API simplifiées pour les tâches courantes telles que la synthèse et les réponses intelligentes.
- → Utilisation : API ML Kit GenAI (optimisées par Gemini Nano)
- Pourquoi : il s'agit de la méthode la plus simple pour intégrer des tâches d'IA générative sur l'appareil à l'aide de requêtes en langage naturel. C'est la solution sur l'appareil qui est la plus prioritaire.
IA générative dans le cloud
Utilise des modèles plus puissants, nécessite une connectivité, implique généralement des coûts d'inférence, offre une couverture d'appareils plus large et une cohérence multiplate-forme (Android et iOS) plus facile.
Qu'est-ce qui est le plus important pour vous : la facilité d'intégration dans Firebase OU la flexibilité/le contrôle maximum ?
- A) Vous préférez une intégration plus facile et une expérience d'API gérée, et vous utilisez probablement déjà Firebase ?
- → Utiliser : SDK Firebase AI Logic → Accéder à Firebase AI Logic
- B) Vous avez besoin d'une flexibilité maximale, d'accéder à la plus large gamme de modèles (y compris tiers/personnalisés), d'un réglage fin avancé et vous êtes prêt à gérer votre propre intégration du backend (plus complexe) ?
- → Utiliser l'API Gemini avec un backend Cloud personnalisé (à l'aide de Google Cloud Platform)
- Pourquoi : offre le plus de contrôle, l'accès le plus large aux modèles et des options d'entraînement personnalisées, mais nécessite un effort de développement backend important. Convient aux besoins complexes, à grande échelle ou très personnalisés.
(Vous avez choisi le SDK Firebase AI Logic) De quel type de tâche générative et de profil de performances avez-vous besoin ?
- A) Vous avez besoin d'un équilibre entre performances et coût, adapté aux applications générales de génération de texte, de résumé ou de chat où la vitesse est importante ?
- → Utiliser le SDK Firebase AI Logic avec Gemini Flash
- Pourquoi : optimisé pour la vitesse et l'efficacité dans l'environnement géré Vertex AI.
- B) Vous avez besoin d'une qualité et de capacités supérieures pour la génération de texte complexe, le raisonnement, le NLU avancé ou le suivi des instructions ?
- → Utiliser le SDK Firebase AI Logic avec Gemini Pro
- Pourquoi : modèle de texte plus puissant pour les tâches exigeantes, accessible via Firebase.
- C) Vous avez besoin de générer des images sophistiquées, ou de comprendre ou manipuler des images de manière avancée à partir de requêtes textuelles ?
- → Utiliser le SDK Firebase AI Logic avec Imagen 3
- Pourquoi : modèle de génération d'images de pointe accessible à l'aide de l'environnement Firebase géré.
AppFunctions
Vous devez améliorer les fonctionnalités de votre application pour l'intégrer aux fonctionnalités d'IA du système (intégrer votre application à l'IA).
- → Utiliser : AppFunctions
- Pourquoi : permet aux fonctionnalités d'IA du système, telles que l'Assistant, de découvrir et d'appeler les fonctionnalités de votre application.