Accueil Développement Applications Expertise Deepomatic – Intelligence Artificielle : adopter une méthode de développement par...

Expertise Deepomatic – Intelligence Artificielle : adopter une méthode de développement par cycles itératifs

Alois Brunel

Pour parvenir à développer des Intelligences Artificielles fonctionnelles, les entreprises doivent s’inspirer de la création logicielle et des méthodes de Lean et d’Agile management, fondées sur des cycles itératifs, explique Aloïs Brunel, co-fondateur et Chief Product Officer de Deepomatic.

 

L’une des principales raisons pour lesquelles les entreprises ont aujourd’hui du mal à produire des Intelligences artificielles est qu’elles appliquent une méthodologie de recherche. Or celle-ci n’est tout simplement pas adaptée à l’industrie. C’est par l’adoption d’une nouvelle approche que les IA trouveront des applications industrielles concrètes.

S’inspirer des méthodologies passées

Pour développer une méthode efficace, il importe de connaître celles qui l’ont précédée. En premier lieu, le Lean manufacturing, grâce auquel Toyota a révolutionné la manufacture des années 30, avec des cycles de production raccourcis. Ensuite, les méthodes de Lean startup et d’agile development, dans les années 2000, fondées sur l’itération — soit la prise en compte des retours utilisateurs. C’est ce qui a permis l’avènement de startups technologiques et de produits de haute qualité, en raccourcissant considérablement les temps de développement. Aujourd’hui, il faut parvenir à mettre en place une nouvelle méthode, héritière des précédentes  ; soit un concept de Lean AI fondé sur le principe d’itération.

Méthode du management LOOP

Cette nouvelle méthodologie, qui pourrait être appelée management Loop, doit comprendre 5 étapes. En premier lieu, l’annotation, soit la création d’un jeu de données afin de fournir des exemples à la machine. Ensuite, l’entraînement d’un algorithme à partir de ce jeu de données. Cette IA constitue une première version (ou version « beta »), qui sera améliorée par la suite. En troisième lieu, le lancement de cette bêta en phase de production, afin qu’elle soit par exemple connectée à une caméra ou à une voiture.

Si ces trois étapes sont déjà souvent mises en place, l’erreur largement répandue est de s’y arrêter. Là est la cause de tant d’échecs, les deux étapes les plus importantes restant à mener. D’abord, l’intégration des retours du monde réel ; soit les bugs et défauts de l’IA. Par exemple, dans le cas d’une IA de reconnaissance visuelle déployée dans un péage, il peut s’agir de situations imprévues, comme la survenance de neige ou de fortes chaleurs, qui changent les couleurs de la caméra thermique. À partir de ces retours, il faut enfin revenir à la première étape d’annotation et recommencer l’intégralité du processus, dans une démarche résolument itérative, où les étapes de conception, d’entraînement et de production sont répétées pour affiner continuellement l’IA. C’est essentiel, car sans ces cycles successifs, l’IA ne peut pas être améliorée. Pour reprendre l’exemple du péage, sans les retours du terrain, il ne serait pas possible de la transformer, pour la rendre capable de faire face aux conditions météorologiques identifiées. Partant du constat que la répétition du cycle coûte cher, il vaut donc mieux se montrer moins ambitieux lors des premières étapes et faire la boucle plusieurs fois, plutôt que vouloir aboutir dès le premier cycle à une IA parfaite.

« Logicialiser « la méthode

De la même manière que l’agile development a permis l’explosion du logiciel, cette méthode itérative doit pouvoir être implémentée dans un logiciel unique, utilisable pour des cas d’usage très variés, pour créer les conditions d’une industrialisation massive des IA. Le deep learning est la technologie parfaite pour cette «  logicialisation  », en permettant de transformer des jeux de données en un algorithme métier sans aucune modification méthodologique d’un métier à un autre.

Plutôt que chaque entreprise développe sa propre méthode avec plus ou moins de succès, un logiciel unique applicable à chaque secteur garantirait une économie de temps et d’argent aux entreprises. De plus, une uniformisation de la méthode permettrait de « pousser  » des IA dans le monde de façon uniforme — ce à condition de construire l’infrastructure logicielle adéquate.

L’implémentation d’une méthode itérative au sein d’un logiciel peut accélérer la transformation du monde par l’IA en accélérant sa mise sur le marché et son intégration à l’industrie. L’adoption de cette méthode devrait d’ailleurs donner naissance à un nouveau métier, celui d’IA manager, qui serait le pendant du développeur dans ce domaine et utiliserait les retours du monde réel pour améliorer l’IA. Il faut pour cela un profil mixte, à la fois expert et manager de projet.