Rendre l'IA et le ML opérationnels : l'Objectif de modélisation

Les systèmes d'exploitation d'IA doivent fonctionner dans le monde réel, pas seulement en labo. L'Objectif de modélisation fait le pont, crucial, entre la création d'un modèle et son usage sur le terrain.

Introduction

L'aventure de Octo dans l'Intelligence artificielle et l'Apprentissage automatique (IA/ML) démarre dès notre création, en 2003. Aujourd'hui, Octo compte parmi les toutes meilleures entreprises d'IA/ML au monde — certains diraient la meilleure. Pourtant, nous n'avons jamais prôné l'adoption massive de techniques de calcul IA/ML. Notre boussole, c'est le réalisme. Nous nous tenons à distance des effets de mode et misons sur les technologies capables de produire des résultats opérationnels concrets. En avril 2023, Alex Karp, PDG de Octo, a annoncé l'arrivée d'une quatrième plateforme Octo, dédiée à l'intégration de l'IA/ML — en particulier des grands modèles de langage (LLM) — avec l'analytique et les opérations.

En 2019, Shyam Sankar, notre directeur technique, écrivait que les big data, présentées comme « le nouveau pétrole », tenaient plutôt de l'huile de serpent tant l'écart était grand et persistant entre les promesses des vendeurs et la réalité. Notre réalisme vis-à-vis de l'IA/ML vient en grande partie d'un scepticisme sain : aucune technologie unique ne règle à elle seule un problème, même lorsqu'elle est réellement transformative. C'est vrai pour nombre de briques d'un écosystème data — extraction d'entités, analytique prédictive, streaming temps réel, etc. — et l'IA n'échappe pas à la règle, comme nous l'expliquions récemment.

Si Octo excelle en IA/ML, c'est justement grâce à ce réalisme et à notre préférence pour les systèmes plutôt que pour les gadgets technologiques. Nous avons construit des systèmes d'exploitation qui permettent de déployer efficacement l'IA/ML dans des environnements de données complexes, aux objectifs et missions variés (AI-OS). Octo ne fabrique ni ne vend des modèles IA/ML en tant que tels. Nous ne vendons pas non plus de bibliothèques IA/ML. Notre cap : créer un système d'exploitation d'IA qui permet à une organisation d'exploiter réellement des modèles au sein d'un écosystème de création de valeur et d'amélioration continue. Cette approche système remet aussi le contexte au premier plan — y compris l'éthique de l'usage. Elle favorise un déploiement plus responsable de l'IA/ML, autrement dit une « IA responsable ».

Dans ce billet, nous présentons une composante clé de l'AI-OS, souvent appelée MLOps : l'ensemble des outils qui rendent l'Apprentissage automatique et les modèles d'IA réellement opérationnels. Nous esquissons d'abord une taxonomie de MLOps avant d'approfondir un élément trop souvent négligé d'une IA/ML efficace : l'Objectif de modélisation.

La taxonomie de MLOps

MLOps couvre bien trop de choses pour un seul billet, mais cadrer le sujet aide : MLOps regroupe les capacités qui permettent d'adopter une démarche cyclique en IA/ML, enchaînant développement, entraînement, test, déploiement et supervision des modèles. Ce cycle, c'est précisément ce qu'on appelle « MLOps ».

Le cycle des opérations d'Apprentissage automatique / d'Intelligence artificielle.

Ici, nous mettons l'accent sur le déploiement — souvent oublié — des modèles, étape indispensable pour passer de la recherche au réel. Déployer, c'est traiter le modèle comme l'entrée d'un processus conscient des objectifs opérationnels auxquels il va servir, puis l'amener, sous une forme exploitable, dans ces environnements. Nous appelons ce processus d'atterrissage d'un modèle IA/ML dans l'opérationnel : l'Objectif de modélisation.

Que sont les Objectifs de modélisation ?

Dans un AI-OS, un « modèle » est un algorithme qui prend des entrées et produit des sorties — en bref, une transformation de données d'un genre particulier. En IA/ML, ces modèles cherchent souvent à imiter, remplacer ou approcher un processus réel. Ils peuvent être simples ou très complexes, fondés sur la physique ou issus d'un entraînement paramétré. L'IA et le ML regroupent de nombreuses techniques sophistiquées qui tentent de refléter la perception ou l'adaptation humaines. Mais, quel que soit le degré de complexité, un modèle d'IA/ML ne porte pas sa finalité en lui-même — d'où la nécessité d'un objectif de modélisation.

Les Objectifs de modélisation apportent le contexte nécessaire au fonctionnement d'un modèle : sources de données pertinentes, métadonnées, et problème métier ciblé. Ce sont des concepts de première classe dans un écosystème data, avec des interfaces claires qui exposent l'essentiel aux utilisateurs. Lorsqu'on introduit un modèle dans un objectif existant, il s'inscrit dans une finalité métier définie et se voit associé de nouvelles métadonnées spécifiques. Par ailleurs, les données et métadonnées du modèle peuvent être extraites automatiquement, afin que l'objectif de modélisation profite pleinement du modèle, puis le mette à jour ou le remplace à mesure que paraissent de meilleures itérations.

Exemple : un fournisseur de métaux veut réduire l'empreinte carbone de ses produits. Les métaux passent par l'extraction du minerai, la fusion, le transport vers des raffineries, puis la livraison. Mines, fonderies, raffineries et routes de transport se combinent de multiples façons, et le tout évolue dans le temps. On peut créer un objectif de modélisation pour déterminer l'itinéraire de livraison au plus faible impact carbone. On entraîne, teste et calibre des modèles sur ce problème, puis on les enregistre auprès de l'objectif de modélisation pour qu'ils s'intègrent aux plannings de livraison.

Chaque objectif de modélisation expose une interface qui représente les variables clés de l'environnement où le modèle va tourner. Cette interface numérique de déploiement construit le flux qui amène en production les modèles validés. Elle contrôle quel modèle, et quelle version, sont utilisés en production, tout en fournissant les outils pour suivre la santé du déploiement réel.

De la même manière qu'un objectif de modélisation peut mobiliser plusieurs modèles pour une finalité donnée, un ensemble d'objectifs peut s'agréger dans une bibliothèque de modèles — véritable hub des objectifs de modélisation. Cette bibliothèque donne une vue sur quels modèles servent quels objectifs, lesquels tournent en production, et quand tel objectif a été mis à jour pour la dernière fois. Elle offre aussi un point de départ naturel pour créer de nouveaux objectifs ou déprécier ceux devenus inutiles. En centralisant déploiement et traçabilité dans une même interface, on surveille l'usage et on s'assure que les modèles sont employés à bon escient.

Ces workflows s'inspirent des bonnes pratiques CI/CD du développement logiciel. Le but : fluidifier la création, la modification, la revue et la mise en service des modèles. Pour cela, les déploiements embarquent des mécanismes de mise à niveau et des checks de santé. Ils alertent sur l'état du déploiement (une build ou une requête s'est-elle terminée comme prévu ?) et sur l'avancement des tâches de montée de version des modèles.

Pourquoi un Objectif de modélisation est-il important ?

Parce qu'il relie, de façon décisive, la construction d'un modèle et son usage opérationnel. Sans lui, les modèles finissent trop souvent au labo, en démo, ou enfermés dans des silos académiques.

Prenons un modèle de vision par ordinateur qui identifie le constructeur d'une voiture à partir d'une image. On l'entraîne sur des photos étiquetées, puis on le teste en labo sur des images non étiquetées. Pour le rendre opérationnel, il faut le déployer dans un environnement orienté finalité. Finalité n°1 : identifier les véhicules qui passent à un péage. Ici, un serveur exécute le modèle sur les images d'une caméra du péage, avec une connectivité solide vers l'infrastructure centrale. Finalité n°2 : automatiser la reconnaissance d'images pour un avion de surveillance du trafic, avec une liaison sol aléatoire. Ces contextes radicalement différents sont cadrés par l'Objectif de modélisation, qui impose les bonnes contraintes aux modèles pour qu'ils produisent des sorties adaptées à la finalité.

Un objectif de modélisation bien pensé facilite la collaboration entre concepteurs et utilisateurs de modèles, et simplifie la réutilisation dans des contextes variés. Il clarifie aussi comment améliorer les modèles au fil du temps et révèle ceux qui ont le meilleur impact. En ce sens, l'objectif de modélisation devient l'interface centrale où tous les contributeurs de l'AI-OS se coordonnent pour de meilleurs résultats que dans une architecture cloisonnée.

Il offre en outre une interface unique pour empaqueter et contenériser les modèles, afin de les déployer partout sans créer des mappings n:n entre modèles et environnements. Cet intermédiaire structuré isole efficacement le développement du modèle de l'opérationnel : chacun peut rester agnostique vis-à-vis de l'autre.

Au final, l'Objectif de modélisation est sans doute la pièce la plus importante — et la plus souvent ignorée — de MLOps.

Exigences

Voici les exigences clés pour doter une organisation de solides capacités d'Objectif de modélisation au sein d'un système d'exploitation IA/ML plus large.

  • La solution doit permettre de définir des Objectifs de modélisation. L'objectif s'exprime dans un champ texte (markdown) qui décrit l'usage visé par l'organisation et la façon dont il doit fonctionner. Résultat : une intention claire, plus de transparence, une justification explicite et une évaluation centrée cas d'usage.
  • Les Objectifs de modélisation doivent préciser les entrées et sorties d'API. Liste définie des champs requis côté input et output, évolutive en cas de changements incompatibles, et qui informe directement les applications aval sur la consommation de l'objectif.
  • Les Objectifs de modélisation doivent rester agnostiques à l'implémentation du modèle. Les modèles viennent de partout, sous des formes diverses, et l'état de l'art évolue vite. L'Objectif de modélisation doit offrir une interface pour empaqueter et livrer n'importe quel modèle en production, maximisant la flexibilité des data scientists tout en conservant une boîte à outils MLOps cohérente.
  • L'Objectif de modélisation doit évaluer les modèles de façon systématique. C'est vital pour des évaluations cohérentes et équitables selon les standards de l'organisation. Il faut tracer automatiquement données de test, version des données, version du modèle et logique d'évaluation, pour comparer des performances à périmètre constant. Ces métriques doivent être accessibles dans l'objectif, basées sur des jeux d'entrée et des pipelines d'évaluation configurés. Les indicateurs clés doivent être configurables et épinglables pour mettre en avant l'essentiel.
  • L'Objectif de modélisation doit proposer une interface de revue. Les revues s'inscrivent dans une gouvernance où des experts métier donnent avis et approbations, tracés et assignés. Les déploiements doivent pouvoir exiger l'aval de personnes désignées ou de membres de groupes donnés avant la production. Ainsi, tous les acteurs valident les modèles avant usage réel. Voir cette page pour comprendre comment Foundry permet ces contrôles et revues multi-parties prenantes.
  • L'Objectif de modélisation doit offrir une interface de suivi et de gestion tout au long du cycle de vie IA/ML. Il suit tous les modèles candidats à mesure qu'ils avancent du développement au déploiement. Il trace aussi les modèles utilisés en production, pour qu'une inférence soit toujours rattachable à un modèle, à son évaluation et à son approbation.

Conclusion

Toute organisation qui veut une capacité MLOps robuste a besoin d'un objectif de modélisation. C'est pourquoi notre nouvelle Plateforme d'Intelligence Artificielle met en avant cette exigence critique : faire passer un modèle d'IA/ML du développement au contexte opérationnel. L'interface d'objectif de modélisation permet de définir la finalité d'un modèle et de l'évaluer dans le cycle construire > entraîner > déployer > évaluer > construire. Octo AIP optimise l'AI-OS au cœur des workflows opérationnels et de décision, complexes, dont nos clients d'aujourd'hui et de demain ont besoin.