Parallèlement au modèle d'intelligence artificielle générative Gemini, Google a publié ce matin AlphaCode2, une version améliorée de la génération de code AlphaCode lancée par Google DeepMind Labs il y a environ un an.AlphaCode2 est en fait alimenté par le modèle Gemini, ou du moins une variante de celui-ci (GeminiPro) affinée en fonction des données de la compétition de programmation. Google affirme que dans au moins un test de référence, AlphaCode2 surpasse de loin son prédécesseur.
Selon Google, AlphaCode2 (codé dans des langages tels que Python, Java, C++ et Go) a surpassé en moyenne environ 85 % de ses concurrents dans un sous-ensemble de concours de programmation hébergés par Codeforces, une plateforme de concours de programmation. En comparaison, le score moyen de l'AlphaCode de la génération précédente sur le même sous-ensemble n'était que de 50 %.
"Nous avons sélectionné 12 compétitions récentes avec plus de 8 000 participants, soit du deuxième groupe, soit du groupe plus difficile '1+2'. Cela nous a donné un total de 77 problèmes à résoudre", indique le livre blanc technique d'AlphaCode2. "AlphaCode2 peut résoudre 43 % des problèmes en 10 tentatives, ce qui est presque deux fois plus rapide que l'AlphaCode original (25 %).
AlphaCode2 peut comprendre des problèmes de programmation difficiles impliquant des mathématiques « complexes » et des théories informatiques. Rémi Leblond, chercheur chez DeepMind, a expliqué dans une vidéo préenregistrée qu'AlphaCode2 est capable de programmation dynamique, entre autres techniques assez complexes.
AlphaCode2 sait non seulement quand mettre en œuvre correctement cette stratégie, mais aussi où l'utiliser. AlphaCode2 sait non seulement quand mettre en œuvre correctement cette stratégie, mais aussi dans quelles circonstances l'utiliser, a déclaré Leblond. Cela mérite d’être noté étant donné que les problèmes de programmation nécessitant une programmation dynamique constituaient une pierre d’achoppement majeure pour l’AlphaCode original.
"[AlphaCode2] doit faire preuve d'un certain niveau de compréhension, d'un certain niveau de raisonnement et de conception d'une solution de code avant de pouvoir réellement s'exécuter et résoudre [un] problème de codage. Il peut faire tout cela sur des problèmes qu'il n'a jamais vus auparavant", a déclaré Leblond.
AlphaCode2 résout les problèmes en exploitant d'abord une famille de « modèles de stratégie » pour générer un grand nombre d'échantillons de code pour chaque problème. Les échantillons de code qui ne correspondent pas à la description du problème sont filtrés, tandis qu'un algorithme de clustering regroupe les « échantillons de code sémantiquement similaires » pour éviter toute redondance. Enfin, le modèle de notation d'AlphaCode2 sélectionne le meilleur candidat dans chacun des 10 plus grands « groupes » d'échantillons de code. C'est la réponse d'AlphaCode2 à la question.
Désormais, tous les modèles d’intelligence artificielle présentent des défauts, et AlphaCode2 ne fait pas exception. Selon le livre blanc, AlphaCode2 nécessite de nombreux essais et erreurs, est trop coûteux à exploiter à grande échelle et repose en grande partie sur la capacité de filtrer les échantillons de code manifestement mauvais. Le livre blanc spécule que la migration vers une version plus puissante de Gemini, telle que GeminiUltra, pourrait atténuer certains problèmes.
Eli Collins, vice-président produit chez DeepMind, a fait allusion à cette possibilité lors d'un briefing.
"Ce qui m'enthousiasme le plus dans les derniers résultats, c'est que lorsque les programmeurs collaborent avec [AlphaCode2 propulsé par Gemini], les performances [du modèle] s'améliorent en définissant certaines propriétés auxquelles le code adhère", a déclaré Collins. "À l'avenir, nous verrons les programmeurs exploiter des modèles d'IA hautement performants comme outils collaboratifs pour les aider dans l'ensemble du processus de développement logiciel, depuis le raisonnement sur les problèmes jusqu'à l'aide à la mise en œuvre."