Ce guide est conçu pour vous aider à intégrer les solutions d'intelligence artificielle générative et de machine learning (IA/ML) de Google dans vos applications. Il vous aide à vous orienter parmi les différentes solutions d'intelligence artificielle et de machine learning disponibles, et à choisir celle qui correspond 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 à sélectionner 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 (synthèse 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 l'utilisation de Gemini Nano sur votre appareil ou l'IA basée sur le cloud de Firebase (Gemini Flash ou Gemini Pro).
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 façons 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 des fonctionnalités hors connexion fiables, 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 une priorité lors du choix des bonnes solutions.
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 d'IA générative de ML Kit pour obtenir des solutions prêtes à l'emploi. Les API d'IA générative de ML Kit sont alimentées par Gemini Nano, utilisent AICore comme service système sous-jacent et sont affinées pour des tâches spécifiques sur l'appareil. Les API d'IA générative de ML Kit sont un moyen idéal de mettre vos applications en production 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 de nombreux cas d'utilisation tels que la compréhension d'images, les traductions courtes, les synthèses guidées, etc.
Pour les tâches de machine learning traditionnelles, vous avez la possibilité d'implémenter vos propres modèles personnalisés. Nous fournissons des outils robustes tels que ML Kit, MediaPipe, LiteRT et des fonctionnalités de diffusion Google Play pour simplifier votre processus de développement.
Pour les applications qui nécessitent des solutions hautement 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èles prédéfinies pour des performances optimisées.
Vous pouvez également envisager de créer une solution hybride en exploitant à la fois les modèles sur l'appareil et dans le cloud.
Les applications mobiles utilisent généralement des modèles locaux pour les petites données textuelles, telles que les conversations par 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 d'IA générative avancées de Google, y compris les puissants modèles Gemini Pro et Gemini Flash, dans leurs applications à l'aide du SDK Firebase AI Logic. Ce SDK est conçu pour les besoins de données plus importants et offre des fonctionnalités et une adaptabilité étendues en permettant d'accéder à ces modèles d'IA multimodaux hautes performances.
Avec le SDK Firebase AI Logic, les développeurs peuvent effectuer des appels côté client vers les modèles d'IA de Google avec un minimum d'effort. 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 diverses 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 série 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 ?
Bien que l'IA générative soit utile pour créer et modifier du contenu tel que du texte, des images et du code, 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 plus grande efficacité, un coût de calcul inférieur 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 des fonctionnalités puissantes adaptées à ces cas d'utilisation non génératifs, en particulier dans les environnements de calcul mobile et d'edge computing.
Démarrer l'intégration du machine learning avec ML Kit
ML Kit propose des solutions prêtes à l'emploi et optimisées pour les mobiles pour les tâches de machine learning courantes, sans nécessiter d'expertise préalable en ML. Ce SDK mobile facile à utiliser apporte l'expertise de Google en 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 de modèle et de l'optimisation. 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, des fonctionnalités hors connexion et une confidentialité accrue 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 à nécessiter de sortie générative. 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.
Pour commencer, 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 meilleur contrôle 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 les éléments essentiels 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, intégrés et de périphérie aux ressources limitées, ce qui vous permet d'exécuter des modèles beaucoup plus petits et plus rapides qui consomment moins de mémoire, d'énergie et de stockage. L'environnement d'exécution LiteRT est hautement optimisé pour différents accélérateurs matériels (GPU, DSP, NPU) sur les appareils de périphérie, ce qui permet une inférence à faible latence.
Choisissez LiteRT lorsque vous avez besoin de 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 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 de 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 médias en direct et en streaming. Bénéficiez d'outils optimisés et prédéfinis pour des tâches complexes telles que le suivi des mains, l'estimation des poses, la détection de maillage de visages et la détection d'objets, qui permettent tous une interaction en temps réel et hautes performances, même sur les appareils mobiles.
Les pipelines basés sur des graphiques de MediaPipe sont hautement personnalisables, ce qui vous permet d'adapter les solutions aux 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 réalité augmentée, le suivi de la forme physique ou le contrôle d'avatar, le tout axé 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
Bien 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 (tels que Gemini) de découvrir et d'appeler les fonctionnalités de votre application de manière agentique. AppFunctions est le principal moyen d'y parvenir, ce qui permet à votre application de participer à l'écosystème d'IA Android plus large.
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 des fonctionnalités sur l'appareil, tandis que les API cloud Gemini avec Firebase AI Logic fournissent un traitement puissant basé sur le cloud. AppFunctions représente une troisième voie, qui vous permet d'"intégrer votre application dans l'IA" en mettant ses fonctionnalités à la disposition du système de manière agentique.
Pour prendre votre décision, tenez compte des facteurs suivants :
| Facteur | Solutions sur l'appareil | Solutions cloud |
|---|---|---|
| Connectivité et fonctionnalités hors connexion fonctionnalité | Idéal pour une utilisation hors connexion ; fonctionne sans connexion réseau. | Nécessite une connexion réseau pour communiquer avec des 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 tâches. | Modèles puissants capables de gérer une complexité élevée et des entrées volumineuses. |
| Considérations liées au coût | Aucun frais direct par utilisation ; utilise le matériel existant de l'appareil. | Implique généralement une tarification basée sur l'utilisation ou des coûts d'abonnement continus. |
| Ressources de l'appareil | Utilise le 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 grande flexibilité pour une personnalisation étendue et un réglage à grande échelle. |
| Cohérence multiplate-forme | La disponibilité peut varier en fonction de l'OS et de la prise en charge matérielle. | Expérience cohérente sur n'importe quelle plate-forme avec accès à Internet. |
En examinant attentivement les exigences de votre cas d'utilisation et les options disponibles, vous pouvez trouver la solution d'IA/de 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 les technologies d'IA/de ML dans vos projets Android.
Quel est l'objectif principal de la fonctionnalité d'IA ?
- A) Générer du contenu (texte, descriptions d'images) ou effectuer un traitement de texte simple (synthèse, relecture ou réécriture de texte) ? → Accédez à IA générative.
- B) Analyser 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 la vidéo/l'audio) ? → Accédez à ML traditionnel et perception
- 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 dans l'IA) ? → Accédez à Intégrer votre application dans l'IA.
ML traditionnel et perception
Vous devez analyser les entrées, identifier les caractéristiques ou effectuer des prédictions basées sur des modèles appris, plutôt que de générer des résultats entièrement nouveaux.
Quelle tâche spécifique effectuez-vous ?
- A) Vous avez besoin d'une intégration rapide de fonctionnalités de 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 d'objet et suivi, identification de la langue, réponse suggérée de base)
- → Utiliser : ML Kit (API traditionnelles)
- Pourquoi : 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 de la vidéo ou de l'audio) pour des tâches de perception ? (par exemple, suivi des mains, estimation des poses, maillage de visages, détection et segmentation d'objets en temps réel dans une vidéo)
- → Utiliser : 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é (par exemple, pour la classification, la régression, la détection) sur l'appareil, en privilégiant les performances et une faible utilisation des ressources ?
- → Utiliser : LiteRT (environnement d'exécution TensorFlow Lite)
- Pourquoi : environnement d'exécution optimisé pour déployer efficacement des modèles personnalisés sur des appareils mobiles et de périphérie (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 ?
- → Utiliser : LiteRT (environnement d'exécution TensorFlow Lite) + entraînement de modèle personnalisé
- Pourquoi : fournit les outils nécessaires pour entraîner et 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 de nombreuses langues avec une nuance élevée ?
- Déterminez si les modèles de ML traditionnels (potentiellement déployés à l'aide de LiteRT ou du cloud) conviennent, ou si la NLU avancée nécessite des modèles génératifs (revenez au début et choisissez A). Pour la classification, les sentiments ou la traduction basés sur le cloud :
- → Utiliser : solutions cloud (par exemple, API Google Cloud Natural Language, API Google Cloud Translation, potentiellement accessibles à l'aide d'un backend personnalisé ou de la plate-forme d'agent Gemini Enterprise). (Priorité inférieure aux options sur l'appareil si la confidentialité ou l'utilisation hors connexion 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, le synthétiser, le réécrire ou effectuer des tâches complexes de compréhension ou d'interaction.
L'IA doit-elle fonctionner 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 cloud ?
- A) Oui, l'utilisation hors connexion, la confidentialité maximale ou l'absence de coût cloud est essentielle.
- → Accédez à 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édez à IA générative dans le cloud.
IA générative sur l'appareil (avec Gemini Nano)
Avertissements : nécessite des appareils Android compatibles, une prise en charge iOS limitée, les modèles sont moins puissants que leurs homologues cloud.
Avec l'API Prompt de ML Kit, vous pouvez envoyer des requêtes en langage naturel avec des entrées de texte uniquement ou de texte et d'image pour divers cas d'utilisation, tels que la compréhension d'images, les traductions courtes et les synthèses guidées. Si vos cas d'utilisation peuvent être satisfaits par ces limites de jetons, les API d'IA générative de ML Kit 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 la réponse suggérée.
- → Utiliser : API d'IA générative de ML Kit (alimentées par Gemini Nano)
- Pourquoi : moyen le plus simple d'intégrer des tâches d'IA générative sur l'appareil à l'aide d'invites en langage naturel, solution sur l'appareil 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 plus grande couverture des appareils et une cohérence multiplate-forme (Android et iOS) plus facile.
Quelle est votre priorité : facilité d'intégration dans Firebase OU flexibilité/contrôle maximal ?
- A) Vous préférez une intégration plus facile, une expérience d'API gérée et vous utilisez probablement déjà Firebase ?
- → Utiliser : SDK Firebase AI Logic → Accédez à Firebase AI Logic
- B) Vous avez besoin d'une flexibilité maximale, d'un accès à la plus large gamme de modèles (y compris tiers/personnalisés), d'un affinage avancé et vous êtes prêt à gérer votre propre intégration de backend (plus complexe) ?
- → Utiliser : 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 de backend important. Convient aux besoins complexes, à grande échelle ou hautement 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é à la génération de texte général, à la synthèse ou aux applications de chat où la vitesse est importante ?
- → Utiliser : SDK Firebase AI Logic avec Gemini Flash
- Pourquoi : optimisé pour la vitesse et l'efficacité dans l'environnement géré de Google Cloud.
- B) Vous avez besoin d'une qualité et de capacités supérieures pour la génération de texte complexe, le raisonnement, la NLU avancée ou le suivi des instructions ?
- → Utiliser : SDK Firebase AI Logic avec Gemini Pro
- Pourquoi : modèle de texte plus puissant pour les tâches exigeantes, accessible via Firebase.
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 dans 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.