La programmation compétitive implique la résolution de problèmes complexes dans un laps de temps limité, mettant à l’épreuve les compétences de raisonnement critique, de logique, et de compréhension des algorithmes, du codage, et du langage naturel. Jusqu’à récemment, cette tâche était considérée comme particulièrement difficile pour les systèmes d’IA. Si AlphaCode a été le premier d’entre eux à rivaliser avec la médiane des participants, son successeur, AlphaCode 2, alimenté par Gemini Pro, a démontré des performances nettement supérieures.
AlphaCode 2 utilise des modèles de langage puissants et un mécanisme sophistiqué de recherche et de réordonnancement spécialement conçu pour la programmation compétitive. Ses principaux éléments comprennent une famille de modèles de politique pour générer des échantillons de code, un mécanisme d’échantillonnage favorisant une large diversité, un processus de filtrage éliminant les échantillons non conformes, un algorithme de regroupement évitant les redondances, et un modèle de notation pour sélectionner le meilleur candidat parmi les 10 groupes les plus importants.
Crédit Google DeepMind :Fonctionnement d’AlphaCode 2
Pour améliorer ces composants, le système s’appuie sur Gemini Pro et applique deux cycles d’ajustement fin : tout d’abord sur un ensemble de données, CodeContests, contenant 15 mille problèmes et 30 millions d’échantillons de code humain, puis sur un ensemble de données de “haute qualité”, selon le rapport technique de Google.
Aphacode2 vs AlphaCode
Deepmind avait évalué et validé les performances d’AlphaCode lors de compétitions sur Codeforces, une plateforme populaire où se confrontent des dizaines de milliers de développeurs du monde entier venus tester leurs compétences en codage. Il avait été confronté à 5000 concurrents lors de 10 concours, et avait obtenu un score de 54,3% et s’est placé à peu près au niveau du concurrent médian.
AlphaCode 2 a été testé sur 77 problèmes lors de 12 concours de la même plateforme, résolvant 43% d’entre eux, soit 1,7 fois plus que son prédécesseur. Mesuré à plus de 8 000 développeurs, il a surpassé plus de 85% d’entre eux, se positionnant entre les catégories ‘Expert’ et ‘Candidate Master’ sur Codeforces. Sur deux des problèmes, il a fait mieux que 99,5% des programmeurs.
De plus, AlphaCode 2 est 10 000 fois plus efficace en termes d’utilisation d’échantillons qu’AlphaCode : la seconde version ne nécessite qu’une centaine d’échantillons pour atteindre le niveau de performance de la première avec un million d’échantillons.
Pour l’équipe de DeepMind :
“Malgré les résultats impressionnants d’AlphaCode 2, beaucoup de travail reste à faire avant que nous puissions disposer de systèmes capables d’atteindre de manière fiable les performances des meilleurs codeurs humains. Notre système nécessite de nombreuses tentatives et erreurs, et reste trop coûteux pour fonctionner à grande échelle. De plus, il dépend fortement de la capacité à filtrer les échantillons de code évidemment mauvais”.