Trouver la solution d'IA/ML adaptée à votre application

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 et l'IA basée dans le cloud de Firebase (Gemini Flash, Gemini Pro ou Imagen).

Organigramme décisionnel pour les cas d'utilisation de l'IA générative. Les critères incluent la modalité (texte, image par rapport à audio, vidéo, génération d'images), la complexité (résumer, réécrire par rapport aux connaissances du domaine) et la fenêtre de contexte (entrée/sortie courtes par rapport à des documents/contenus multimédias volumineux), ce qui conduit à l'IA générative sur l'appareil (Gemini Nano) ou à la logique d'IA Firebase (Gemini Flash, Pro, Imagen).
Figure 1 : Cette illustration représente un guide de solutions de haut niveau pour vous aider à trouver la solution d'IA/ML adaptée à votre application Android. Pour une présentation plus détaillée de vos options d'IA et de ML, consultez le guide de solutions qui se trouve plus loin dans ce document.

Exploitez tout le potentiel 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 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 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. Il est donc important de privilégier les solutions sur l'appareil 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 GenAI de ML Kit sont optimisées par Gemini Nano et 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 de niveau supérieur et de leur évolutivité. Ces API vous permettent d'implémenter des cas d'utilisation pour résumer, relire et réécrire du texte, générer des descriptions d'images et effectuer de la reconnaissance vocale.

Pour aller au-delà des cas d'utilisation fondamentaux fournis par les API d'IA générative de ML Kit, envisagez d'utiliser l'accès expérimental à Gemini Nano. L'accès expérimental à Gemini Nano vous permet d'utiliser des requêtes personnalisées plus directement 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 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.

Avec le SDK Firebase AI Logic, les développeurs peuvent 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 ?

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 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 optimisées pour mobile et prêtes à l'emploi 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.

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 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, comme 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 la pose, la détection du 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.

Choisir une approche : sur l'appareil ou dans le cloud

Lorsque vous intégrez des fonctionnalités d'IA/ML à votre application Android, une décision cruciale à prendre dès le début est de savoir si le traitement doit être effectué 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 Firebase AI Logic peuvent fournir un traitement puissant basé sur le cloud. Le bon choix dépend de divers facteurs spécifiques à votre cas d'utilisation et aux besoins de vos utilisateurs.

Pour vous aider à prendre votre décision, tenez compte des aspects suivants :

  • 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 au 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 en local.
  • Capacités du modèle et complexité des tâches : les modèles basés sur le cloud sont souvent beaucoup plus volumineux, plus puissants et mis à jour plus fréquemment. Ils conviennent donc aux tâches d'IA très complexes ou au traitement d'entrées plus volumineuses, où la qualité des résultats et les capacités étendues sont primordiales. Les modèles sur l'appareil peuvent gérer efficacement les tâches plus simples.
  • Considérations relatives aux coûts : 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. L'inférence sur l'appareil, bien que généralement exempte de frais directs par utilisation, entraîne des coûts de développement et peut avoir un impact sur les ressources de l'appareil, comme l'autonomie 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 appareils avec des modèles spécifiques sur l'appareil, tels que Gemini Nano, pour s'assurer que votre audience cible peut utiliser les fonctionnalités.
  • Réglage fin et personnalisation : si vous avez besoin de régler finement les 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, peuvent ne pas être 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 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.

ML et perception traditionnels

Vous devez analyser les entrées, identifier les caractéristiques ou faire des prédictions en fonction des modèles 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 de la langue, réponse suggérée de base)
    • → Utilisation : ML Kit (API traditionnelles)
    • Pourquoi : il s'agit de l'intégration la plus simple pour les tâches de ML mobile établies, souvent optimisées 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.
    • → Utiliser : 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 basées sur le cloud :
    • → Utilisez des solutions cloud (par exemple, API Google Cloud Natural Language, API Google Cloud Translation, potentiellement accessibles à l'aide d'un backend personnalisé ou de Vertex AI). (Priorité inférieure à celle des 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 cloud ?

  • A) Oui, l'utilisation hors connexion, la confidentialité maximale ou l'absence de coût cloud sont essentielles.
  • 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.

IA générative sur l'appareil (avec Gemini Nano)

Remarques : Nécessite des appareils Android compatibles, compatibilité limitée avec iOS, limites de jetons spécifiques (1 024 pour l'invite, 4 096 pour le contexte), modèles moins puissants que leurs homologues dans le cloud.

Votre cas d'utilisation correspond-il spécifiquement aux tâches simplifiées proposées par les API d'IA générative de ML Kit ? (résumer du texte, relire du texte, réécrire du texte, générer des descriptions d'images ou effectuer une reconnaissance vocale) ET les limites de jetons sont-elles suffisantes ?

  • A) Oui :
    • → Utilisation : API GenAI de ML Kit (optimisées par Gemini Nano)
    • Pourquoi : il s'agit du moyen le plus simple d'intégrer des tâches génératives spécifiques et courantes sur l'appareil. C'est la solution sur l'appareil la plus prioritaire.
  • B) Non (vous avez besoin d'un prompting plus flexible ou de tâches allant au-delà des API d'IA générative ML Kit spécifiques, mais vous souhaitez toujours une exécution sur l'appareil dans les limites des capacités de Nano) :
    • → Utiliser : Accès expérimental à Gemini Nano
    • Pourquoi : offre des fonctionnalités d'invite ouverte sur l'appareil pour des cas d'utilisation au-delà des API ML Kit GenAI structurées, en respectant les limites de Nano.

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 portée plus large des appareils et une cohérence multiplate-forme (Android et iOS) plus facile.

Quelle est votre priorité : 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 ?
  • B) Vous avez besoin d'une flexibilité maximale, d'accéder à la plus large gamme de modèles (y compris tiers/personnalisés) et d'un réglage fin avancé, et vous êtes prêt à gérer votre propre intégration 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 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ûts, adapté aux applications générales de génération de texte, de synthèse ou de chat où la vitesse est importante ?
  • 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 d'instructions ?
  • 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 ?