IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GPT-4o a atteint une précision de 54 % sur CodeContests avec AlphaCodium, contre 48 % pour GPT-4T
AlphaCodium décompose un problème de programmation compétitif en étapes simples sur un flux LLM automatisé

Le , par Jade Emy

67PARTAGES

5  0 
Voici la présentation d'AlphaCodium. GPT-4o a atteint une précision de 54 % sur CodeContests avec AlphaCodium, contre 48 % pour GPT-4T.

Les problèmes de génération de code diffèrent des problèmes courants de langage naturel - ils nécessitent de correspondre à la syntaxe exacte du langage cible, d'identifier les chemins heureux et les cas limites, de prêter attention à de nombreux petits détails dans la spécification du problème, et d'aborder d'autres questions et exigences spécifiques au code. Par conséquent, bon nombre des optimisations et des astuces qui ont fait leurs preuves dans la génération de langage naturel peuvent ne pas être efficaces pour les tâches liées au code.

Des développeurs proposent une nouvelle approche de la génération de code par les LLM, appelé AlphaCodium - un flux itératif basé sur des tests, en plusieurs étapes et orienté vers le code, qui améliore les performances des LLM sur les problèmes de code.

Ils ont testé AlphaCodium sur un ensemble de données de génération de code difficile appelé CodeContests, qui comprend des problèmes de programmation compétitifs provenant de plateformes telles que Codeforces. Le flux proposé améliore les résultats de manière cohérente et significative. Sur l'ensemble de validation, par exemple, la précision du GPT-4 (pass@5) est passée de 19 % avec une seule invite directe bien conçue à 44 % avec le flux AlphaCodium.

Ils pensent que bon nombre des principes et des meilleures pratiques acquises dans le cadre de leur travail sont largement applicables aux tâches générales de génération de code.


Voici le classement de AlphaCodium avec les scores des nouveaux modèles GPT, et Claude3 Opus. "GPT-4o" est actuellement le modèle leader sur AlphaCodium.



Installation d'AlphaCodium

1. Configurer un environnement virtuel

Code : Sélectionner tout
1
2
python3 -m venv venv 
source ./venv/bin/activate
et lancez : pip install -r requirements.txt.

2. Dupliquez le fichier alpha_codium/settings/.secrets_template.toml, renommez-le en alpha_codium/settings/.secrets.toml, et indiquez votre clé API OpenAI :

Code : Sélectionner tout
1
2
[openai] 
key = "..."
3. Téléchargez l'ensemble de données de validation et de test CodeContest de hugging face, extraire le fichier zip et placez le dossier extrait à la racine du projet.

Comment exécuter

Configuration

Le fichier : alpha_codium/settings/configuration.toml contient la configuration du projet. Dans la section config, vous pouvez choisir le modèle que vous souhaitez utiliser ("gpt-4", "gpt-3.5-turbo-16k", ou autres).

Résoudre un problème spécifique à partir de CodeContest

Pour résoudre un problème spécifique avec AlphaCodium, à partir du dossier racine, exécutez :

Code : Sélectionner tout
1
2
3
4
python -m alpha_codium.solve_problem \ 
--dataset_name /path/to/dataset \ 
--split_name test \ 
--problem_number 0
  • Le dataset_name est le chemin d'accès au dossier du jeu de données que vous avez téléchargé lors de l'étape d'installation.
  • Notez que l'ensemble de validation contient 117 problèmes, et l'ensemble de test 165 problèmes, donc le paramètre problem_number doit être en conséquence (basé sur zéro).
  • Le split_name peut être valid ou test.
  • Les sections suivantes du fichier de configuration : solve, self_reflection,possible_solutions, generate_ai_tests,initial_code_generation,public_tests, ai_tests permettent d'ajuster les configurations possibles pour les différentes étapes du flux.
  • Chaque exécution enregistre les résultats dans un fichier nommé alpha_codium/example.log. L'examen du fichier journal est un bon moyen de comprendre ce qui se passe à chaque étape du flux.


Exemple de problème (ensemble de tests, problème numéro 12) :


Résolution d'un jeu de données CodeContest complet divisé

Pour résoudre l'ensemble du jeu de données avec AlphaCodium, à partir du dossier racine run :

Code : Sélectionner tout
1
2
3
4
python -m alpha_codium.solve_dataset \ 
--dataset_name /path/to/dataset \ 
--split_name test \ 
--database_solution_path /path/to/output/dir/dataset_output.json
  • Le split_name peut être valid ou test.
  • database_solution_path est le chemin vers le répertoire où les solutions seront sauvegardées.
  • La section dataset du fichier de configuration contient la configuration pour l'exécution et l'évaluation d'un jeu de données.
  • Notez qu'il s'agit d'un processus long, qui peut prendre quelques jours avec de grands modèles (par exemple GPT-4) et plusieurs itérations par problème.
  • dataset.num_iterations définit le nombre d'itérations pour chaque problème (pass@K). Pour un grand nombre d'itérations, il est recommandé d'introduire un peu d'aléatoire et différentes options pour chaque itération afin d'obtenir les meilleurs résultats.


Exécution de l'évaluation

Une fois que vous avez généré une solution pour l'ensemble du jeu de données (valide ou test), vous pouvez l'évaluer en l'exécutant :

Code : Sélectionner tout
1
2
3
4
python -m alpha_codium.evaluate_dataset \ 
--dataset_name /path/to/dataset \ 
--split_name test \ 
--database_solution_path /path/to/output/dir/dataset_output.json
Résolution d'un nouveau problème (format CodeContest)

Pour résoudre un problème personnalisé avec AlphaCodium, créez d'abord un fichier json qui inclut les champs du problème CodeContest, puis à partir du dossier racine, exécutez :

Code : Sélectionner tout
1
2
python -m alpha_codium.solve_my_problem \ 
--my_problem_json_file /path/to/my_problem.json
Le fichier my_problem_json_file est le chemin vers le fichier json du problème personnalisé.

Voir le fichier my_problem_example.json pour voir un exemple de problème personnalisé. Le fichier json doit contenir les champs suivants :

[LIST][*]name est le nom du problème.
[*]description est une description du problème.
[*](facultatif) public_tests avec les champs suivants :

[LIST][*]input est une liste de chaînes de caractères qui représentent l'entrée.
[*]output est une liste...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de jnspunk
Membre habitué https://www.developpez.com
Le 14/08/2024 à 12:20
Tous les outils sur cette planète peuvent être mal utilisés mais il y en a toujours qui vont se plaindre que l'IA puisse être mal utilisée. La bêtise en devient drole, mais c'est triste quelque part.
1  0 
Avatar de noremorse
Membre actif https://www.developpez.com
Le 24/02/2025 à 9:12
J’imagine que chatgpt et autres IA utilisent les infos provenant de la presse mainstream financée par l’état ainsi que Wikipedia pour faire sa propagande occidentale
1  0 
Avatar de Eye_Py_Ros
Membre régulier https://www.developpez.com
Le 21/05/2024 à 13:49
concernant le mauvais coté de l'IA. Nous risquons une crise identitaire.
La réplication, l'imitation en masse et le non respect de nos identités, risque de mettre à mal la société, une "crise de l'identité" ou les personnes seraient de moins en moins respecté.
Et dont le capitalisme userait, serait plus "violent" en ne respectant plus l'individu car copiable grâce à un genre de photocopieuse magique.
0  0 
Avatar de
https://www.developpez.com
Le 26/05/2024 à 15:09
Mon commentaire sera peut-être hors-sujet mais Open AI comme Copilot de MS a pompé des données pour retenir des idées, des codes sources, des puces de nouvelles générations et s'est affranchi des lois sur le copyright et les brevets matériels et logiciels au détriment des utilisateurs et professionnels. Je confirme donc qu'ils sont attaquables en procès pour le cas de Scarlett Johansson qui a vu sa voix devenir un fake pour les utilisateurs : Au minimum Open AI et MS ne respectent rien, pas même leur propres règles et leur propre parole. Peut-être Google aussi mais j'ai plus confiance en Google qu'en MS et Open AI bien qu'il faille toujours se méfier.
0  0 
Avatar de JackIsJack
Membre éclairé https://www.developpez.com
Le 03/08/2024 à 7:19
Là c'est un autre level sur l'impact sociétal possible...
0  0 
Avatar de Chouteau
Membre régulier https://www.developpez.com
Le 05/08/2024 à 13:24
Meme si a priori c'est une technologie spectaculaire, je ne peux m'empêcher de penser que les utilisations malveillantes qui vont en découler vont largement dépasser tout ce que l'on a pu connaitre.
Et que dire d'un robot qui rigole...
0  0 
Avatar de Jules34
Membre émérite https://www.developpez.com
Le 21/10/2024 à 11:02
Elle doit gérer les tensions entre sa mission déclarée, qui est de veiller à ce que l'intelligence artificielle générale profite à l'humanité, et son orientation de plus en plus commerciale.


C'est comme l'infomercial de Bill Gates sur les IPN, le loup déguisé en agneau.

Alors que le ChatGPT s'intègre de plus en plus profondément dans le travail et la vie de tous les jours
Dans la tête des PDG peut-être...
0  0 
Avatar de leaschaefer
Inactif https://www.developpez.com
Le 05/08/2025 à 8:36
Les bizarreries de GPT-4o montrent à quel point l’IA vocale reste encore en phase d’exploration. Le clonage accidentel de la voix de l’utilisateur ou les sons involontaires (cris, gémissements, respirations...) rappellent que la technologie, bien que puissante, n’est pas encore totalement maîtrisée dans des conditions réelles comme les environnements bruyants.

Malgré cela, l’IA multimodale avance à grands pas. Le fait que GPT-4o tente d’adapter son ton ou de "respirer" comme un humain est à la fois fascinant… et parfois un peu troublant. On assiste clairement à une tentative de rendre la machine plus "vivante", même si elle fait encore quelques faux pas.

Pour ceux qui découvrent ces technologies, il est toujours possible d’essayer Chat GPT pour se faire une idée du potentiel, sans forcément passer par les fonctions avancées ou payantes. Cela reste une belle porte d’entrée dans le monde de l’intelligence artificielle.
0  0