Se crea un punto de referencia específico para la generación de código cobol, basado en el conjunto de datos HumanEval.
¿Cómo crear un punto de referencia específico para la generación de código cobol? Adaptando un conjunto de datos existente .
Una start-up americana ha elegido esta opción. Se basó en la referencia HumanEval . El resultado es … COBOLEval.
De los 164 problemas de Python en HumanEval, 146 han sido traducidos. En particular, se ignoraron aquellos que aceptan o devuelven tipos que son difíciles de representar en cobol, como Any y Dict.
Las funciones al no existir en Cobol, era necesario utilizar subrutinas (definición de argumentos y variables de retorno en la sección de conexión).
Otra molestia: en cobol, no hay cadenas, números enteros o matrices de longitud variable. Debes especificar, en la cláusula PICTURE, el número de caracteres ocupados en memoria. Un problema resuelto estableciendo un techo: COBOLEval no acepta ni devuelve elementos de longitud superior a 100.
Cobol, no en ningún otro lugar, no tiene variables locales. Deberán declararse previamente, en el denominado apartado de almacenamiento de trabajo. Conciliar esta estricta estructura con el funcionamiento de los LLM implicó técnicas de descomposición y relleno .
Cada problema tiene, en promedio, seis pruebas. Una respuesta debe ser correcta para que se considere correcta. COBOLEval utiliza el compilador GnuCOBOL, recientemente incorporado en Francia a la Base Interministerial de Software Libre.
Los autores de COBOLEval también han desarrollado un LLM “cobol especial”: mAInframer-1, con Code Llama como base. Comunican su rendimiento en condiciones muy específicas: generación de una única solución (pasada@1) con temperatura a 0.
Modelo | Tasa de respuestas correctas | Tasa de compilación con GnuCOBOL |
GPT-3.5 Turbo | 4.11 | 19.17 |
GPT-4 | 8.9 | 47,94 |
Código de llama 7B | 0,68 | 25.34 |
Código Llama 13B | 1.36 | 13.01 |
Código de llama 34B | 2.05 | 78,76 |
Marco principal 7B | 6.16 | 69,17 |
Marco principal 13B | 8.9 | 54.1 |
Marco principal 34B | 10.27 | 73,97 |
Ilustración © Quardia Inc. – Adobe Stock. NetMedia,Francia.BC. Traducido al español