ChatPaper.aiChatPaper

Arctic-SnowCoder: Desmitificando Datos de Alta Calidad en el Preentrenamiento de Código

Arctic-SnowCoder: Demystifying High-Quality Data in Code Pretraining

September 3, 2024
Autores: Yuxiang Wei, Hojae Han, Rajhans Samdani
cs.AI

Resumen

Estudios recientes han demostrado cada vez más que los datos de alta calidad son cruciales para el preentrenamiento efectivo de modelos de lenguaje. Sin embargo, la definición precisa de "alta calidad" sigue siendo poco explorada. Enfocándonos en el dominio del código, presentamos Arctic-SnowCoder-1.3B, un modelo base de código eficiente en datos preentrenado en 555B tokens a través de tres fases de datos progresivamente refinados: (1) preentrenamiento general con 500B tokens de código de calidad estándar, preprocesados mediante filtrado básico, deduplicación y descontaminación, (2) continuación del preentrenamiento con 50B tokens de alta calidad, seleccionados de la fase uno por un anotador de calidad estilo BERT entrenado para distinguir buen código de datos aleatorios, utilizando ejemplos positivos extraídos de archivos de código de alta calidad, junto con datos de instrucción de Magicoder y StarCoder2-Instruct, y (3) preentrenamiento mejorado con 5B de datos sintéticos creados por Llama-3.1-70B utilizando los datos de la fase dos como semillas, adaptando el enfoque de Magicoder para el preentrenamiento. A pesar de ser entrenado en un conjunto de datos limitado, Arctic-SnowCoder logra un rendimiento de vanguardia en BigCodeBench, un banco de pruebas de codificación centrado en tareas de programación prácticas y desafiantes, en comparación con modelos de tamaño similar entrenados en no más de 1T tokens, superando a Phi-1.5-1.3B en un 36%. En todos los bancos de pruebas evaluados, Arctic-SnowCoder-1.3B supera a StarCoderBase-3B preentrenado en 1T tokens. Además, iguala el rendimiento de los principales modelos base de código pequeños entrenados en billones de tokens. Por ejemplo, Arctic-SnowCoder-1.3B supera a StarCoder2-3B, preentrenado en más de 3.3T tokens, en HumanEval+, un banco de pruebas que evalúa la generación de código a nivel de función, y se mantiene competitivo en BigCodeBench. Nuestra evaluación presenta un análisis exhaustivo que justifica varias decisiones de diseño para Arctic-SnowCoder. Lo más importante, encontramos que la clave para datos de alta calidad es su alineación con la distribución de las aplicaciones posteriores.
English
Recent studies have been increasingly demonstrating that high-quality data is crucial for effective pretraining of language models. However, the precise definition of "high-quality" remains underexplored. Focusing on the code domain, we introduce Arctic-SnowCoder-1.3B, a data-efficient base code model pretrained on 555B tokens through three phases of progressively refined data: (1) general pretraining with 500B standard-quality code tokens, preprocessed through basic filtering, deduplication, and decontamination, (2) continued pretraining with 50B high-quality tokens, selected from phase one by a BERT-style quality annotator trained to distinguish good code from random data, using positive examples drawn from high-quality code files, along with instruction data from Magicoder and StarCoder2-Instruct, and (3) enhanced pretraining with 5B synthetic data created by Llama-3.1-70B using phase two data as seeds, adapting the Magicoder approach for pretraining. Despite being trained on a limited dataset, Arctic-SnowCoder achieves state-of-the-art performance on BigCodeBench, a coding benchmark focusing on practical and challenging programming tasks, compared to similarly sized models trained on no more than 1T tokens, outperforming Phi-1.5-1.3B by 36%. Across all evaluated benchmarks, Arctic-SnowCoder-1.3B beats StarCoderBase-3B pretrained on 1T tokens. Additionally, it matches the performance of leading small base code models trained on trillions of tokens. For example, Arctic-SnowCoder-1.3B surpasses StarCoder2-3B, pretrained on over 3.3T tokens, on HumanEval+, a benchmark that evaluates function-level code generation, and remains competitive on BigCodeBench. Our evaluation presents a comprehensive analysis justifying various design choices for Arctic-SnowCoder. Most importantly, we find that the key to high-quality data is its alignment with the distribution of downstream applications.

Summary

AI-Generated Summary

PDF192November 16, 2024