El contenido de este sitio se ha traducido mediante inteligencia artificial (IA) o tecnología de traducción automática, y puede contener errores.

Skip to content
Artificial Intelligence
Programming Languages

SelfCodeAlign: Autoalineación para la generación de código

Author

Yuxiang Wei (Universidad de Illinois en Urbana-Champaign), Federico Cassano (Universidad Northeastern y Cursor AI), Jiawei Liu (Universidad de Illinois en Urbana-Champaign), Yifeng Ding (Universidad de Illinois en Urbana-Champaign), Naman Jain (Universidad de California en Berkeley), Zachary Mueller (Hugging Face), Harm de Vries (ServiceNow), Leandro von Werra (Hugging Face), Arjun Guha (Universidad Northeastern y Roblox), Lingming Zhang (Universidad de Illinois en Urbana-Champaign)

Venue

NeurIPS 2024

Abstract

El ajuste de instrucciones es un enfoque de ajuste fino supervisado que mejora significativamente la capacidad de los grandes modelos de lenguaje (LLM) para seguir instrucciones humanas. Proponemos SelfCodeAlign, el primer proceso totalmente transparente y flexible para la autoalineación de LLM de código sin necesidad de extensas anotaciones humanas ni destilación. SelfCodeAlign emplea el mismo modelo base para la inferencia a lo largo de todo el proceso de generación de datos. En primer lugar, extrae diversos conceptos de codificación a partir de fragmentos de código de alta calidad para generar nuevas tareas. A continuación, toma muestras de múltiples respuestas por tarea, las empareja con casos de prueba y las valida en un entorno de pruebas. Por último, se seleccionan los ejemplos que superan la prueba para el ajuste de instrucciones. En nuestros experimentos principales, utilizamos SelfCodeAlign con CodeQwen1.5-7B para generar un conjunto de datos de 74 000 pares de instrucciones y respuestas. El ajuste fino en este conjunto de datos da lugar a un modelo que alcanza un 67,1 % de aciertos en HumanEval+, superando a CodeLlama-70B-Instruct a pesar de ser diez veces más pequeño. En todas las pruebas comparativas, este modelo ajustado supera sistemáticamente a la versión original entrenada con OctoPack, el método de vanguardia anterior para el ajuste de instrucciones sin anotaciones humanas ni destilación. Además, demostramos que SelfCodeAlign es eficaz en LLM de diversos tamaños, desde 3 000 millones hasta 33 000 millones, y que los modelos base pueden beneficiarse más de la alineación con su propia distribución de datos. Validamos además la eficacia de cada componente de nuestro proceso, demostrando que SelfCodeAlign supera tanto a la destilación directa de GPT-4o como a los principales métodos de destilación basados en GPT-3.5, como OSS-Instruct y Evol-Instruct. SelfCodeAlign también ha dado lugar a la creación de StarCoder2-Instruct, el primer LLM de código totalmente transparente, con licencia permisiva y autoalineado que alcanza un rendimiento de codificación de vanguardia.