C'est pas mon idée !

mardi 13 mars 2018

Chez Ubisoft, l'IA chasse les bogues

Ubisoft
Dans le domaine du jeu vidéo, l'intelligence artificielle permet déjà de rendre plus réaliste le comportement des personnages virtuels. Désormais, chez Ubisoft, elle se met également au service de l'efficacité des développeurs logiciels, en commençant par une assistance à la détection et la correction des erreurs de programmation.

Comme tous les départements informatiques de grandes entreprises, les éditeurs de jeux absorbent une énergie (humaine, principalement) et des budgets considérables dans les phases de test et de mise au point de leurs productions. Elles peuvent ainsi représenter jusqu'à 70% du coût total de développement d'un nouveau titre et elles n'empêchent pas, hélas, une partie des anomalies de se faufiler dans les versions mises à disposition des clients (nécessitant des mises à jour entraînant elles-mêmes des frais).

Il n'est pas étonnant, dans ces conditions, qu'Ubisoft cherche à réduire cette charge. Et, pour ce faire, la société s'appuie logiquement sur l'expérience acquise lors de ses premières aventures dans le domaine de l'intelligence artificielle et sur son laboratoire d'innovation canadien. Situé au cœur de Montréal, qui porte l'ambition de devenir une capitale mondiale de cette discipline, La Forge rassemble spécialistes académiques et industriels dans le but de combler le fossé existant généralement entre ces deux mondes.

Un des résultats de cette collaboration est donc le « Commit Assistant ». Son principe est finalement simple : en alimentant des algorithmes d'apprentissage automatique renforcé avec les quelques 10 millions de lignes de code écrites au cours des dernières années par les équipes d'Ubisoft, en incluant les erreurs commises et leurs corrections, il devient possible de repérer en temps réel (voire de prédire) quand un développeur est en train d'introduire un bogue similaire à ceux qui ont été traités par le passé.

Ubisoft La Forge

La mise en œuvre n'est évidemment pas triviale et il reste encore beaucoup de travail pour améliorer la performance du système. À ce stade, l'assistant serait tout de même capable d'identifier 60% des anomalies, ce qui laisse espérer aux chercheurs un gain de productivité de 20% parmi les développeurs ! Pour atteindre cet objectif, deux barrières importantes restent toutefois à lever. En premier lieu, le taux de fausses alertes, à 30%, est beaucoup trop élevé et impose de continuer à affiner l'apprentissage.

D'autre part, une problématique psychologique va rapidement se poser. Dans ce registre, l'irritation que cause le signalement d'un bogue inexistant n'est que le premier d'une série de risques à appréhender. En effet, on peut s'inquiéter de la réaction d'un collaborateur dont le travail sera critiqué régulièrement par un robot. Sera-t-il acceptable pour un programmeur chevronné de se voir interrompre dans ses tâches par un message automatisé lui signalant une erreur dans son code et lui suggérant une correction ?

Sur ce sujet, il n'est d'ailleurs pas certain que l'approche d'Ubisoft soit la plus clairvoyante. Affirmer que l'outil n'est là que pour aider les collaborateurs à se concentrer sur les parties intéressantes de leur travail et que son usage restera optionnel ressemble trop à une tactique de réassurance à courte vue. À un moment ou un autre, il faudra bien admettre que l'intelligence artificielle est vouée à prendre une place importante dans la programmation et il serait prudent de s'y préparer dès maintenant.

Pour conclure, si un éditeur trouve de la valeur dans une approche automatisée des tests sur la création de jeux représentant chacun de l'ordre d'un million de lignes de code, peut-être l'idée devrait-elle inspirer les institutions financières qui en accumulent des centaines de millions et en produisent toujours plus ? Celles qui seraient tentées apprécieront alors que les travaux d'Ubisoft fassent l'objet de publications académiques, à partir desquelles elles devraient être en mesure de s'approprier la technologie.

Aucun commentaire:

Publier un commentaire

Afin de lutter contre le spam, les commentaires ne sont ouverts qu'aux personnes identifiées et sont soumis à modération (je suis sincèrement désolé pour le désagrément causé…)