L'optimisation de code des IA : un vecteur de croissance insoupçonné

"Les machines peuvent-elles penser ?" Depuis l'émergence de cette idée dans l'esprit d'Alan Turing, la notion d'intelligence artificielle a bien évolué. Si bien qu'en moins de 100 ans, l'IA est en passe de devenir une révolution technologique et économique à part entière.

ResearchAndMarkets indique que l’utilisation commerciale de l’IA pourrait générer 1 800 milliards de dollars de recettes en 2027. Cependant, à l’heure où moins de 20% des entreprises exploitent des systèmes d’IA, le chemin à parcourir pour atteindre la pleine optimisation de ces nouvelles technologies est encore long.

En pratique, si vous interrogez les collaborateurs qui travaillent quotidiennement avec les technologies d’IA et de machine learning, l’intervention humaine est encore aujourd’hui omniprésente pour assurer leur bon fonctionnement. Une difficulté qui freine leur commercialisation. Néanmoins, l’un des principaux goulots d’étranglements rencontrés par les équipes de développement d’applications et de technologies agrémentées d’IA repose sur l’optimisation de leur code. Un sujet très peu couvert de nos jours. En effet, si la majorité des publications relayant les accomplissements technologiques se concentrent sur la problématique de départ et les résultats, le développement et les étapes à franchir sont des notions oubliées. Le code, le terrain de jeu des ingénieurs, des codeurs, des spécialistes, est mis à rude épreuve tout au long de son développement, si bien que son optimisation représente un nombre d’heures incalculables.

Tout est une question de choix.

Ce travail fastidieux, et bien souvent répétitif, est énergivore en capital humain et en consommation électrique. Si bien qu’il est juste de se demander : pourquoi n’avons-nous pas découvert une technologie d’automatisation pour optimiser les codes ? La réponse se trouve possiblement dans la structure complexe du processus de développement et d’optimisation du code. Si elle implique des facultés intellectuelles poussées, elle requiert notamment de faire des compromis entre précision, efficacité, coûts, mémoire et éthique.

Plus concrètement, prenons l’exemple d’une technologie d’IA qui identifie les fake news et les discours haineux. Ces modèles, qui sont principalement développés pour les réseaux sociaux, sont amenés à traiter des millions de publications, générées chaque seconde. Ici, obtenir un modèle très précis exige une structure complexe, causant ainsi un ralentissement de la vitesse d’exécution. Le fait d’introduire un modèle trop lent dans un autre environnement, peut créer des instabilités. Les limites de ce modèle illustrent parfaitement la nécessité de trouver un équilibre entre précision et rapidité.

Pour permettre d’améliorer la vitesse des modèles sans compromettre la précision, les entreprises font bien souvent le choix d’augmenter la taille des équipes d’ingénieurs et d’investir massivement dans du matériel adéquat. A contrario, les entreprises s’efforcent de simplifier les technologies d’IA qui impliquent nécessairement de faire un choix entre un modèle plus gourmand en ressources ou un modèle plus simple et moins avide de processus.

L’impossible n’est pas IA.

L’impossible automatisation de l’optimisation des codes repose donc, en partie, sur les compromis à réaliser. C’est pourquoi, l’action humaine reste nécessaire, afin de d’appliquer l’optimisation appropriée au contexte donné. Cependant, reste à savoir comment prioriser ses objectifs lors du développement du code.

Et si l’IA, elle-même était la réponse à tous ces maux ? En utilisant les caractéristiques de l’IA pour modéliser les différentes approches et lui permettre d’évaluer et d’optimiser le code en fonction des objectifs souhaités ; cette dernière peut développer et proposer divers profils pour matérialiser ce à quoi devrait ressembler le code. Ce modèle d’optimisation multi-objectifs du code doit ainsi permettre d’avancer considérablement la commercialisation de modèle de machine learning et d’accélérer leur adoption par le marché.

En retour, cette démarche va conduire au développement de codes plus efficaces et, in fine, à des technologies d’IA plus écoresponsables, moins coûteuses et plus justes. Une avancée qui participe notamment à la viabilité à grande échelle de l’IA par la suppression de processus longs et répétitifs. Une manière de rendre plus attractif les métiers de développeurs ?