Pour gérer vos consentements :

Quel LLM pour coder en cobol ? Un benchmark spécifique émerge

Comment créer un benchmark spécifique à la génération de code cobol ? En adaptant un dataset existant.

Une start-up américaine a choisi cette option. Elle s’est appuyée sur la référence HumanEval. Il en résulte… COBOLEval.

Des 164 problèmes Python que contient HumanEval, 146 ont effectivement été traduits. Ont notamment été ignorés ceux acceptant ou retournant des types difficilement représentables en cobol, comme Any et Dict.

Les fonctions n’existant pas en cobol, il a fallu utiliser les sous-programmes (définition des arguments et des variables de retour dans la section de liaison).

Autre contrariété : en cobol, pas de chaînes, d’entiers ou de tableaux à longueur variable. Il faut spécifier, dans la clause PICTURE, le nombre de caractères occupés en mémoire. Un problème résolu par la mise en place d’un plafond : COBOLEval n’accepte ni ne retourne d’éléments de longueur supérieure à 100.

Cobol n’a, pas ailleurs, pas de variables locales. Il faut les déclarer par avance, dans la section dite de stockage de travail. Concilier cette structure stricte avec le fonctionnement des LLM a impliqué des techniques de décomposition et d’infilling.

Chaque problème s’assortit, en moyenne, de six tests. Une réponse doit les réussir tous pour qu’on la considère comme correcte. COBOLEval utilise le compilateur GnuCOBOL, récemment entré, en France, au Socle interministériel de logiciels libres.

Les auteurs de COBOLEval ont aussi développé un LLM « spécial cobol » : mAInframer-1, avec Code Llama comme socle. Ils en communiquent les performances dans des conditions bien précises : génération d’une seule solution (pass@1) avec température à 0.

Modèle Taux de réponses correctes Taux de compilation avec GnuCOBOL
GPT-3.5 Turbo 4,11 19,17
GPT-4 8,9 47,94
Code Llama 7B 0,68 25,34
Code Llama 13B 1,36 13,01
Code Llama 34B 2,05 78,76
mAInframer 7B 6,16 69,17
mAInframer 13B 8,9 54,1
mAInframer 34B 10,27 73,97


Illustration © Quardia Inc. – Adobe Stock

Recent Posts

IA générative : l’Autorité de la concurrence pointe de sérieux risques

Dans un avis consultatif, l'Autorité de la concurrence a identifié les risques concurrentiels liés à…

2 jours ago

OpenAI signe un accord de contenu avec Time

OpenAI signe un « partenariat de contenu stratégique » avec Time pour accéder au contenu…

2 jours ago

Atos : David Layani (Onepoint) veut sortir du capital

Au lendemain du rejet de sa proposition de restructuration, David Layani annonce sa démission du…

2 jours ago

Évaluer les LLM, un défi : le cas Hugging Face

Après un an, Hugging Face a revu les fondements de son leaderboard LLM. Quels en…

3 jours ago

Mozilla face au dilemme de la GenAI dans Firefox

Mozilla commence à expérimenter divers LLM dans Firefox, en parallèle d'autres initiatives axées sur l'intégration…

3 jours ago

VMware tente d’orienter vers VCF les déploiements pré-Broadcom

VMware met VCF à jour pour y favoriser la migration des déploiements qui, sur le…

4 jours ago