Le guide ultime du développement de l’IA
Le processus de développement de produits d’intelligence artificielle n’est pas une tâche simple. Il faut un village (pouvons-nous ajouter : un village bien informé, expérimenté et créatif). Alors, comment aborder les nouveaux défis de la technologie de la vision par ordinateur ? Voici cinq questions clés que nous posons pour guider tous les nouveaux projets.
1. Quel est le produit exact que nous voulons construire et avons-nous besoin de l’IA ?
La première et la plus fondamentale des questions que nous nous posons est de savoir quelle solution nous voulons mettre en place et si les utilisateurs en ont réellement besoin. Lorsque nous avons une réponse claire à cette question, nous déterminons si et de quelle manière nous devons l’aborder avec l’IA.
En général, l’IA est la bonne solution dans ces conditions :
- Le problème que nous cherchons à résoudre est très difficile, voire impossible, à résoudre avec une approche de développement classique ou traditionnelle.
- Nous devrions être en mesure de modéliser le problème à l’aide d’une méthode/approche d’IA particulière.
- Il existe un ensemble de données suffisamment bon que nous pouvons utiliser pour la recherche.
Cette étape fait partie intégrante de notre gestion des produits et implique tous les membres de notre organisation.
2. Comment modéliser le problème de l’IA ?
Une fois que nous avons identifié la partie du produit pour laquelle nous utiliserons l’IA, l’étape suivante consiste à déterminer comment la modéliser. Il s’agit parfois d’une tâche assez simple, mais dans d’autres cas, il n’est pas évident de savoir quelle approche donnerait les meilleurs résultats. Par exemple, dans cette partie du processus de développement, nous devons évaluer si un problème de vision par ordinateur serait mieux résolu avec un modèle de segmentation sémantique ou un modèle de détection d’objets. Notre équipe de recherche joue le rôle le plus important dans la réponse à cette question.
3. Comment trouver un bon ensemble de données ?
Une fois que nous avons une idée de la manière de résoudre un certain problème à l’aide de l’IA, nous devons trouver un ensemble de données adéquat avec lequel nous pouvons travailler. Très souvent, il s’agit d’un point décisif, car si nous ne parvenons pas à trouver un ensemble de données suffisant pour permettre à l’équipe de recherche d’expérimenter, nous ne pourrons pas fournir la meilleure solution au problème que nous avons initialement cherché à résoudre.
Il existe plusieurs façons d’accéder aux données. Au cours de ce processus, il est très important de comprendre les différences de contenu et de qualité des ensembles de données.
Notre équipe de vente collabore étroitement avec nos partenaires et nos clients. Ils nous aident à améliorer notre technologie et nous développons de nouvelles fonctionnalités à appliquer dans leurs solutions pour des problèmes très spécifiques.
Parfois, l’autre approche consiste à commencer par développer nos propres ensembles de données en interne, ce qui est la tâche de notre équipe “Données”.
4. Comment préparer les données pour le processus d’apprentissage ?
Les données brutes collectées ne sont pas suffisantes pour entraîner les modèles d’IA. C’est pourquoi nous avons mis en place des processus spécifiques d’annotation des données.
À cette fin spécifique, notre équipe Web a développé un système que nous appelons en interne MLS (Machine Learning System). Le MLS est utilisé par notre équipe Data, qui est chargée de l’annotation des données. Le MLS est un élément essentiel du développement de nos produits. Il nous permet d’avoir un contrôle maximal sur la qualité des données annotées, ainsi que d’améliorer et d’accélérer continuellement le processus d’annotation.
Le processus est exigeant et de longue haleine, mais nous sommes fiers de dire qu’en moins de trois ans, notre équipe “Données” a annoté des dizaines de millions d’images à des fins de formation diverses. L’équipe travaille en étroite collaboration avec l’équipe de recherche afin de s’assurer que les ingénieurs ML produisent des modèles qui répondent réellement au problème initialement défini.
5. Comment intégrer le modèle dans le produit final ?
Le modèle ML produit n’est qu’une partie du puzzle. Pour que le produit final soit utile, il faut une grande quantité de connaissances techniques et UX pour assembler toutes les pièces.
Notre équipe Outils et infrastructure est chargée de construire des composants spécialisés pour la mise en œuvre et l’exécution de réseaux neuronaux. Ces composants permettent une intégration beaucoup plus simple et rapide sur les appareils mobiles que toutes les alternatives open-source.
L’intégration du modèle final est réalisée par nos équipes de développement de produits, de téléphonie mobile et d’applications web. Elles sont chargées de veiller à ce que le produit final résolve réellement le problème des utilisateurs, que le logiciel soit rapide et robuste, et que l’expérience utilisateur soit adaptée à chaque plateforme (iOS, Android ou web).
Pourquoi nous procédons de cette manière
Ce processus nécessite des connaissances et de la créativité en matière de génie logiciel, d’apprentissage automatique et d’interface utilisateur, ainsi qu’une bonne dose de persévérance. Mais bon – pas de douleur, pas de gain.
Cette approche nous permet de toujours garder à l’esprit la situation dans son ensemble et, en fin de compte, d’offrir la meilleure valeur possible au produit. C’est ainsi que nous pensons que tous les produits d’IA devraient être fabriqués – avec pour objectif la qualité suprême.
Voici la deuxième partie de notre courte série sur la création de produits d’IA pour les entreprises. Lisez la première partie : À quoi ressemble vraiment le développement de l’IA ?