LiveCodeBench
LiveCodeBench es un benchmark con fecha de publicación para modelos de programación con IA que evalúa la generación y reparación de código, el razonamiento sobre su ejecución y el rendimiento en problemas nuevos.
LiveCodeBench es un benchmark que se actualiza continuamente para evaluar hasta qué punto los modelos de lenguaje con IA resuelven problemas de programación. Comprueba si un modelo puede generar código funcional, corregir errores y razonar sobre el comportamiento de un programa. Su característica distintiva es el factor temporal: los problemas incluyen fechas de publicación, lo que permite evaluar modelos con retos publicados después de su fecha límite de entrenamiento, es decir, la fecha más reciente incluida en el material con el que se entrenaron. Esto ayuda a distinguir la capacidad genuina para resolver problemas de la recuperación de soluciones encontradas anteriormente.
Orígenes y diseño del benchmark#
Presentado en el artículo de 2024 LiveCodeBench: evaluación integral y sin contaminación de los modelos de lenguaje grandes para código, LiveCodeBench fue creado por investigadores de UC Berkeley, MIT y Cornell University, bajo la dirección de Naman Jain. Recopila problemas de programación competitiva de LeetCode, AtCoder y Codeforces. Entre las primeras referencias destacadas estaban GPT-4 Turbo y Claude 3 Opus, que obtuvieron buenos resultados en sus tareas de evaluación; DeepSeek-Instruct-33B y Phind-34B encabezaron las referencias de acceso abierto en las comparaciones iniciales. Se trata de referencias históricas, no de líderes permanentes de la clasificación.
La versión inicial, release_v1, contenía 400 problemas publicados entre mayo de 2023 y marzo de 2024. Las versiones posteriores en Hugging Face ampliaron la colección, por lo que LiveCodeBench no tiene un tamaño único y permanente. Para que un resultado sea reproducible, hay que identificar la versión y el periodo de evaluación.
Al igual que otros conjuntos de datos de referencia, ofrece tareas y procedimientos de evaluación comunes para comparar modelos. Su diseño de evaluación con fechas de publicación también permite seleccionar un periodo común de problemas recién publicados.
Qué evalúa LiveCodeBench#
LiveCodeBench evalúa cuatro capacidades relacionadas de los modelos de lenguaje grandes, sistemas que generan e interpretan texto, incluido el código fuente:
- Generación de código: crear un programa a partir del enunciado de un problema y de pares de entrada y salida de ejemplo. El evaluador ejecuta la solución con pruebas adicionales.
- Autorreparación: modificar una solución incorrecta tras recibir información sobre su ejecución, como una excepción o una prueba fallida.
- Ejecución de código: predecir la salida de un programa proporcionado para una entrada concreta. En este caso, «ejecución» describe la tarea de razonamiento del modelo; el evaluador comprueba su predicción frente a la ejecución real.
- Predicción de la salida de una prueba: deducir la salida esperada a partir de la especificación del problema y de una entrada proporcionada, sin recibir la implementación.
La distinción entre las dos últimas tareas es importante. La ejecución de código pregunta qué hace un programa existente; la predicción de la salida de una prueba pregunta qué debería hacer una implementación correcta. La autorreparación examina el comportamiento de recibir información y revisar el código, que también se utiliza en la programación con agentes, donde los sistemas de IA planifican, escriben, ejecutan y revisan código.
En la generación de código, la corrección funcional significa superar todas las pruebas requeridas. Un programa puede ejecutarse correctamente y, aun así, producir respuestas incorrectas; por otro lado, un error de ejecución puede impedir que produzca una respuesta. Ambos fallos afectan al rendimiento en el benchmark.
Interpretación de las puntuaciones y comprensión de la contaminación#
Pass@1 mide la probabilidad de que una única solución generada supere todas las pruebas requeridas, calculada como promedio entre los problemas. Un valor del 60 % significa que se resuelven aproximadamente seis de cada diez problemas según el procedimiento de evaluación especificado. No significa que cada programa supere el 60 % de sus pruebas.
Para que las comparaciones sean justas, hay que igualar la versión del conjunto de datos, el periodo, la tarea y los parámetros de generación. La ingeniería de prompts, los parámetros de muestreo, los límites de salida y las oportunidades de reparación pueden cambiar el resultado. Las puntuaciones desglosadas en problemas fáciles, medios y difíciles también revelan diferencias que quedan ocultas en el promedio general.
La contaminación del benchmark se produce cuando los problemas de evaluación o sus soluciones aparecen en los datos de entrenamiento de un modelo. Esta forma de filtración de datos puede inflar las puntuaciones porque el modelo ya ha encontrado ese material. Seleccionar problemas publicados después de la fecha límite del modelo reduce este riesgo, aunque también importan la fiabilidad de esa fecha y las actualizaciones posteriores del modelo.
Por tanto, para afirmar que un modelo concreto «lidera LiveCodeBench» hace falta una captura de la clasificación con fecha y unos parámetros de evaluación coincidentes. Sin ese contexto, resulta difícil interpretar una clasificación.
Aplicaciones y benchmarks relacionados#
LiveCodeBench permite comparar modelos de programación y diagnosticar si sus puntos débiles están en la generación de soluciones, la comprensión del código o la reparación de fallos. Sus tareas basadas en concursos ofrecen indicios sobre la capacidad de programación algorítmica; una evaluación más amplia del desarrollo de software también requiere pruebas de navegación por repositorios, gestión de dependencias y comportamiento de integración.
LiveBench es un benchmark independiente y más amplio que abarca áreas como el razonamiento, las matemáticas, el lenguaje y la programación. La similitud de los nombres no implica que sus puntuaciones sean intercambiables.
Para los desarrolladores que crean soluciones con Ultralytics YOLO, LiveCodeBench ofrece una señal más a la hora de evaluar un asistente de programación. Un flujo de trabajo complementario concreto consiste en utilizar Ultralytics Agent Skills, que proporcionan a los agentes de programación compatibles instrucciones para preparar conjuntos de datos, entrenar, inferir y exportar.
Cuando ese asistente ayuda a crear una aplicación YOLO26, evalúa el código generado por separado del modelo de visión: el modo de validación mide la calidad de las predicciones, mientras que el modo benchmark compara la precisión y la velocidad de inferencia de los formatos de despliegue.










