Point d’IA sans industrialisation
L’IA, c’est la capacité d’un système à interagir avec intelligence (intellegere, comprendre) avec son environnement, c’est à dire comprendre les situations auxquelles elle doit faire face et réagir avec à-propos à celles-ci. Pour cela, l’IA s’appuie sur la Data Science et l’analyse sémantique. Les outils disponibles aujourd’hui permettent non seulement de remplir les objectifs traditionnels d’analyse descriptive puis prédictive mais également de proposer une analyse prescriptive, condition sine qua non à l’émergence de l’IA.
Ces objectifs de description, de prédiction et de prescription sont extrêmement consommateurs de ressources de calcul. Des infrastructures adaptées doivent être mises en place pour créer les modèles de Data Science nécessaires, i.e. architectures distribuées de calcul, utilisation de GPU (Graphical Processing Unit) pour accélérer les traitements, dimensionnement en mémoire vive conséquent, bandes passantes importantes du réseau, etc.
L’IA est par ailleurs mutlicanale par nature ; les informations proviennent de diverses sources, sont de diverses natures et de plus en plus volumineuses. Ces données de toutes provenances et de tous types sont déversées dans d’immenses datalakes permettant de gérer non seulement le volume, mais d’historiser ces dernières. En effet, l’IA a non seulement besoin de beaucoup de données de natures diverses, mais également de comprendre la temporalité de ces dernières. L’IA est spatio-temporelle.
Dernier point important, l’IA est intrinsèquement opérationnelle. Il ne s’agit pas d’études ad-hoc, mais de construire des solutions en conditions réelles résilientes, robustes, efficientes et auto-adaptatives. En cela, une solution d’IA est un développement logiciel relativement classique qui reprend les étapes de spécification, d’analyse, de conception, de développement, de test et de déploiement en condition opérationnelle. Ce cycle de développement est industrialisé depuis des années dans l’industrie logicielle traditionnelle, et s’appuie sur des méthodes et des outils connus.
Le challenge est désormais de conduire l’IA, et la data science en général, vers ce modèle de mise en production, tout en tenant compte des particularités du domaine propre à l’IA qui est l’établissement préalable de modèles. Le cycle de développement devient donc en simplifiant : spécifier, modéliser, entraîner, tester, packager, déployer.
Dernier challenge, il ne suffit pas de construire une application d’IA mais une solution d’IA. Une solution est un ensemble d’applications qui concourent à un même objectif. Ces applications sont de diverses natures, e.g. le cœur de la solution sont les modèles d’IA travaillant de concert, des chaînes d’approvisionnement et de traitement en données, des applicatifs de présentation de la donnée et d’interactions avec l’environnement, etc. Déployer une solution d’IA peut donc s’avérer complexe et nécessite des infrastructures de génie logiciel idoines tant pour la construction automatisée des artefacts à déployer, que pour tester automatiquement ces derniers, puis à les monitorer en condition opérationnelle.
Toutes importantes que soient les techniques, les méthodes, les infrastructures utilisées, il faut avant tout des femmes et des hommes pour mettre tout cela en musique. Une solution d’IA sera développée par des équipes pluridisciplinaires nécessitant une communication transversale permanente ; point de silotage au risque de ne jamais voir déployée la solution d’IA développée. A l’image des diverses briques constituant une solution d’IA, nous retrouverons des profils techniques divers comme , pour n’en citer que quelques uns, les data engineers, les data stewards, les dataops, les data scientists, les dataviz, les webdevs full stack, … Ceux qui développent des jeux vidéo – une industrie bien huilée – ont déjà l’habitude de fonctionner de la sorte.
Pour terminer sur une paraphrase, on peut dire que l’IA du 21ème siècle sera industrialisée ou ne sera pas.
Xavier Méhaut