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 fournit des conseils pour vous aider à naviguer dans les différentes solutions d'intelligence artificielle et de machine learning disponibles et à choisir celle 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/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 les 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édaction d'un résumé simple à des tâches complexes nécessitant des connaissances spécialisées) et la taille des données (entrées courtes par rapport à de grands documents). Cela vous aidera à choisir entre utiliser Gemini Nano sur votre appareil ou l'IA cloud de Firebase (Gemini Flash, Gemini Pro ou Imagen).
Exploiter la puissance des inférences sur l'appareil
Lorsque vous ajoutez des fonctionnalités d'IA et de ML à votre application Android, vous pouvez choisir différentes méthodes de diffusion, que ce soit sur l'appareil ou à l'aide du cloud.
Les solutions sur l'appareil, comme Gemini Nano, offrent des résultats sans frais supplémentaires, renforcent 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 le résumé des messages, ce qui fait de l'exécution sur l'appareil une priorité lors du choix des solutions appropriées.
Gemini Nano vous permet d'exécuter des inférences directement sur un appareil Android. Si vous travaillez avec du texte ou des images, 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 et affinées pour des tâches spécifiques sur l'appareil. Les API ML Kit GenAI constituent un chemin idéal vers la production pour vos applications en raison de leur interface et de leur évolutivité de niveau supérieur. Ces API vous permettent d'implémenter des cas d'utilisation pour résumer, relire et réécrire du texte, ainsi que de générer des descriptions d'images.
Pour aller au-delà des cas d'utilisation fondamentaux fournis par les API GenAI de ML Kit, envisagez l'accès expérimental à Gemini Nano. L'accès expérimental à Gemini Nano vous permet d'accéder plus directement aux requêtes personnalisées avec Gemini Nano.
Pour les tâches de machine learning traditionnelles, vous pouvez implémenter vos propres modèles personnalisés. Nous fournissons des outils fiables 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 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èle prédéfinies pour des performances optimisées.
Vous pouvez également envisager de créer une solution hybride en exploitant à la fois des 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 importantes (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, à leurs applications à l'aide du SDK Firebase AI Logic. Ce SDK est conçu pour répondre à des besoins de données plus importants. Il 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 Logic d'IA, les développeurs peuvent effectuer des appels côté client aux modèles d'IA de Google avec un effort minimal. 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 divers types d'entrées, y compris des images, de l'audio, de la vidéo 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 des contenus tels que du texte, des images et du code, de nombreux problèmes concrets sont mieux résolus à l'aide des techniques traditionnelles de machine learning (ML). Ces méthodes établies excellent dans les tâches impliquant la prédiction, la classification, la détection et la compréhension des tendances 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 fonctionnalités ou la réalisation de prédictions basées sur des modèles appris, plutôt que de générer des sorties entièrement nouvelles. 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 d'informatique mobile et de bord.
Démarrez l'intégration du machine learning avec ML Kit
ML Kit propose des solutions prêtes à la production et optimisées pour les mobiles pour les tâches de machine learning courantes, sans aucune 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 plutôt que sur l'entraînement et l'optimisation de 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é des utilisateurs améliorée, 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 des 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 documentations complets sur le site des développeurs de 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 ML personnalisée basée sur les services LiteRT et Google Play. Cette pile fournit l'essentiel pour déployer des fonctionnalités de ML hautes performances. LiteRT est un kit d'outils optimisé pour exécuter efficacement des modèles TensorFlow sur des appareils mobiles, intégrés et de périphérie soumis à des contraintes de ressources. Il 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 de périphérie, ce qui permet d'effectuer des inférences à 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 est limitée, 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 au niveau du point de terminaison, 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 à 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édéfinis et optimisés pour des tâches complexes telles que le suivi des mains, l'estimation de la position, la détection de la trame de visage et la détection d'objets, qui permettent une interaction hautes performances en temps réel, 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 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 RA, le suivi de l'activité physique ou le contrôle d'un avatar, tous axés sur l'analyse et l'interprétation des entrées.
Découvrez les solutions et commencez à créer avec MediaPipe.
Choisissez une approche: sur l'appareil ou dans le cloud
Lorsque vous intégrez des fonctionnalités d'IA/ML à votre application Android, vous devez prendre une décision cruciale dès le départ : effectuer le traitement directement sur l'appareil de l'utilisateur ou dans le cloud. Des outils tels que ML Kit, Gemini Nano et TensorFlow Lite permettent d'utiliser des fonctionnalités sur l'appareil, tandis que les API cloud Gemini avec la logique d'IA Firebase peuvent fournir un traitement puissant dans le cloud. Le bon choix dépend de divers facteurs spécifiques à votre cas d'utilisation et aux besoins des utilisateurs.
Tenez compte des aspects suivants pour vous guider dans votre décision:
- Connectivité et fonctionnalité hors connexion: si votre application doit fonctionner de manière fiable sans connexion Internet, les solutions sur l'appareil comme Gemini Nano sont idéales. Par nature, le traitement dans le cloud nécessite un accès réseau.
- Confidentialité des données: pour les cas d'utilisation où les données utilisateur doivent rester sur l'appareil pour des raisons de confidentialité, le traitement sur l'appareil offre un avantage distinct en conservant les informations sensibles localement.
- Fonctionnalités du modèle et complexité des tâches: les modèles cloud sont souvent beaucoup plus volumineux, plus puissants et mis à jour plus fréquemment, ce qui les rend adaptés aux tâches d'IA très complexes ou au traitement de données d'entrée plus importantes, où une qualité de sortie plus élevée et des fonctionnalités étendues sont essentielles. Les tâches plus simples peuvent être bien gérées par les modèles sur l'appareil.
- Aspects financiers: les API cloud impliquent généralement une tarification basée sur l'utilisation, ce qui signifie que les coûts peuvent évoluer en fonction du nombre d'inférences ou de la quantité de données traitées. Bien que l'inférence sur l'appareil ne soit généralement pas soumise à des frais directs par utilisation, elle entraîne des coûts de développement et peut avoir un impact sur les ressources de l'appareil, comme la durée de vie de la batterie et les performances globales.
- Ressources de l'appareil: les modèles sur l'appareil consomment de l'espace de stockage sur l'appareil de l'utilisateur. Il est également important de connaître la compatibilité des modèles sur l'appareil spécifiques, tels que Gemini Nano, avec les appareils pour vous assurer que votre audience cible peut utiliser les fonctionnalités.
- Ajustement et personnalisation: si vous avez besoin d'ajuster des modèles pour votre cas d'utilisation spécifique, les solutions cloud offrent généralement une plus grande flexibilité et des options de personnalisation plus étendues.
- Cohérence multiplate-forme: si des fonctionnalités d'IA cohérentes sur plusieurs plates-formes, y compris iOS, sont essentielles, gardez à l'esprit que certaines solutions sur l'appareil, comme Gemini Nano, ne sont peut-être pas encore disponibles sur tous les systèmes d'exploitation.
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 de solutions peut vous aider à identifier les outils de développement appropriés pour intégrer les technologies d'IA/ML à 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édiger un résumé, relire ou réécrire du texte) ? → Accédez à IA générative.
- B) L'analyse de données/d'entrées existantes à des fins de prédiction, de classification, de détection, de compréhension des tendances ou de traitement de flux en temps réel (comme la vidéo/l'audio) ? → Accéder à ML traditionnel et perception
ML traditionnel et perception
Vous devez analyser les entrées, identifier des caractéristiques ou effectuer des prédictions en fonction de tendances apprises, plutôt que de générer une sortie entièrement nouvelle.
Quelle tâche spécifique effectuez-vous ?
- A) Avez-vous besoin d'intégrer rapidement des fonctionnalités de ML mobile prédéfinies et courantes ?
(par exemple, lecture de codes-barres, reconnaissance de texte (OCR), détection de visages, étiquetage d'images, détection et suivi d'objets, identification de la langue, réponse suggérée de base)
- → Utilisation: ML Kit (API traditionnelles)
- Pourquoi: intégration la plus simple pour les tâches de ML sur mobile établies, souvent optimisées pour une utilisation sur l'appareil (faible latence, hors connexion, confidentialité).
- B) Avez-vous besoin de traiter des données de streaming en temps réel (comme des vidéos ou des fichiers audio) pour des tâches de perception ? (par exemple, le suivi des mains, l'estimation des poses, le mesh de visage, la détection et la segmentation d'objets en temps réel dans les vidéos)
- → Utilisation: MediaPipe
- Pourquoi: framework spécialisé pour les pipelines de perception en temps réel hautes performances sur différentes plates-formes.
- C) Vous devez exécuter efficacement votre propre modèle de ML personnalisé (par exemple, pour la classification, la régression et la détection) sur l'appareil, en privilégiant les performances et une faible utilisation des ressources ?
- → Utilisation: LiteRT (TensorFlow Lite Runtime)
- Pourquoi: durée d'exécution optimisée pour déployer efficacement des modèles personnalisés sur les 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 ?
- → Utilisation: LiteRT (TensorFlow Lite Runtime) + 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) Avez-vous besoin d'une classification de contenu avancée, d'une analyse des sentiments ou d'une traduction dans de nombreuses langues avec des nuances subtiles ?
- 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 au début et choisissez A). Pour la classification, l'analyse des sentiments ou la traduction dans le cloud:
- → Utilisation: solutions cloud (par exemple, API Google Cloud Natural Language, API Google Cloud Translation, accessibles via un backend personnalisé ou Vertex AI). (Priorité inférieure aux options sur l'appareil si la confidentialité ou le mode hors connexion est important).
- Pourquoi: les solutions cloud offrent des modèles puissants et une prise en charge étendue des langues, mais elles 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.
L'IA doit-elle fonctionner hors connexion, avez-vous besoin d'une confidentialité des données maximale (en conservant les données utilisateur sur l'appareil) ou souhaitez-vous éviter les coûts d'inférence cloud ?
- A) Oui, la confidentialité maximale, le hors connexion ou l'absence de frais cloud sont essentiels.
- → Accédez à IA générative sur l'appareil.
- B) Non, la connectivité est disponible et acceptable, les fonctionnalités et la scalabilité 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 (à l'aide de Gemini Nano)
Attention: Nécessite des appareils Android compatibles, une compatibilité iOS limitée, des limites de jetons spécifiques (invite 1 024, contexte 4 096), les modèles sont moins puissants que leurs homologues cloud.
Votre cas d'utilisation correspond-il spécifiquement aux tâches simplifiées proposées par les API ML Kit GenAI ? (Rédiger un résumé, Réviser un texte, Réécrire un texte, Générer des descriptions d'images) ET les limites de jetons sont-elles suffisantes ?
- A) Oui :
- → Utilisation: API ML Kit GenAI (basées sur Gemini Nano)
- Pourquoi: solution la plus simple pour intégrer des tâches génératives spécifiques et courantes sur l'appareil, solution sur l'appareil de priorité la plus élevée.
- B) Non (vous avez besoin d'invites ou de tâches plus flexibles que les API ML Kit GenAI spécifiques, mais vous souhaitez toujours une exécution sur l'appareil dans les fonctionnalités de Nano) :
- → Utilisation: Accès expérimental à Gemini Nano
- Pourquoi: fournit des fonctionnalités d'invite ouverte sur l'appareil pour les cas d'utilisation au-delà des API ML Kit GenAI structurées, en respectant les limites de Nano.
IA générative dans Cloud
Utilise des modèles plus puissants, nécessite une connectivité, implique généralement des coûts d'inférence, offre une couverture plus large des appareils et une cohérence plus facile entre les plates-formes (Android et iOS).
Quelle est votre priorité: la facilité d'intégration dans Firebase OU la flexibilité/le contrôle maximal ?
- A) Vous préférez une intégration plus facile, une expérience API gérée et vous utilisez probablement déjà Firebase ?
- → Utiliser: SDK Firebase AI Logic → Accédez à Firebase AI Logic
- B) Avez-vous besoin d'une flexibilité maximale, d'un accès à la plus large gamme de modèles (y compris tiers/personnalisés), d'un réglage fin avancé et êtes-vous prêt à gérer votre propre intégration backend (plus complexe) ?
- → Utilisation: 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 au modèle et les options d'entraînement personnalisées, mais nécessite un effort de développement 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) Avez-vous besoin d'un équilibre entre les performances et les coûts, adapté à la génération de texte générale, à la synthèse ou aux applications de chat où la vitesse est importante ?
- → Utilisez le SDK Firebase AI Logic avec Gemini Flash.
- Pourquoi: optimisé pour la rapidité et l'efficacité dans l'environnement géré Vertex AI.
- B) Avez-vous besoin d'une qualité et de capacités supérieures pour la génération de texte complexe, le raisonnement, le NLU avancé ou l'exécution des instructions ?
- → Utilisez le SDK Firebase Logic AI avec Gemini Pro.
- Pourquoi: modèle de texte plus puissant pour les tâches exigeantes, accessible via Firebase.
- C) Avez-vous besoin d'une génération d'images sophistiquée, ou d'une compréhension ou d'une manipulation avancées des images basées sur des requêtes textuelles ?
- → Utilisation: SDK Firebase AI Logic avec Imagen 3
- Pourquoi: modèle de génération d'images de pointe accessible via l'environnement Firebase géré.