Investigadores de Microsoft han publicado un nuevo modelo de generación de código, phi-1, diseñado para ser “ligero”. Phi-1 es capaz de superar a GPT-3.5, el gran modelo de lenguaje subyacente a ChatGPT.
En comparación, Codex, el modelo de OpenAI que sirvió de base para lo que luego sería GitHub Copilot, tenía 12.000 millones de parámetros.
Los investigadores de Microsoft tardaron solo cuatro días en entrenar a phi-1 utilizando ocho chips Nvidia A100. El modelo se entrenó con seis mil millones de tokens de la web y otros mil millones de tokens generados con GPT-3.5, uno de los modelos básicos utilizados para construir ChatGPT de OpenAI.
En términos de rendimiento, phi-1 logró una precisión pass@1 del 50,6 por ciento en la prueba HumanEval y en el benchmark HumanEval. El modelo de Microsoft superó a StarCoder de Hugging Face y ServiceNow (33,6 por ciento), GPT-3.5 de OpenAI (47 por ciento) y PaLM 2-S de Google (37,6 por ciento), a pesar de su tamaño sustancialmente menor.
En la prueba MBPP pass@1, phi-1 obtuvo mejores resultados, con una puntuación del 55,5%. Muchos de los modelos mencionados aún no han publicado resultados en esta prueba de referencia, pero WizardCoder de WizardLM obtuvo una puntuación del 51,5% en una prueba realizada a principios de este mes. WizardCoder es un modelo con 15.000 millones de parámetros, frente a los 1.300 millones de phi-1.
A pesar de haber sido entrenado a una escala mucho menor, phi-1 supera a los modelos de la competencia en HumanEval y MBPP, con la excepción de GPT-4 (WizardCoder también obtiene mejores resultados en HumanEval, pero peores en MBPP).
Índice de temas
Los datos de alta calidad marcan la diferencia
Los investigadores de Microsoft afirman que es el “poder de los datos de alta calidad” lo que hace que phi-1 funcione tan bien. Para enfatizar este punto, los investigadores titularon su documento modelo “Textbooks are all you need” (Los libros de texto son todo lo que necesitas).
“Del mismo modo que un libro de texto completo y bien elaborado puede proporcionar a un estudiante los conocimientos necesarios para dominar una nueva asignatura, nuestro trabajo demuestra el notable impacto de los datos de alta calidad a la hora de refinar la competencia de un modelo lingüístico en tareas de generación de código”, escriben.
“Al crear datos de ‘calidad de libro de texto’, pudimos entrenar un modelo que supera a casi todos los modelos de código abierto en puntos de referencia de codificación como HumanEval y MBPP, a pesar de ser 10 veces más pequeño en términos de tamaño del modelo y 100 veces más pequeño en términos de tamaño del conjunto de datos”, agregan.
Phi-1 está limitado a la codificación en Python, en comparación con otros modelos de codificación disponibles. El modelo también es limitado porque carece de los conocimientos específicos del dominio de modelos más grandes, como la programación con API específicas.
Para ampliar su trabajo, los investigadores de Microsoft sugirieron utilizar GPT-4 en lugar de GPT-3.5 para generar datos sintéticos con los que entrenar el modelo.
Los investigadores también intentarán mejorar la diversidad y la no repetitividad del conjunto de datos, aunque el equipo afirma que necesitan encontrar formas de “inyectar aleatoriedad y creatividad en el proceso de generación de datos, manteniendo al mismo tiempo la calidad y coherencia de los ejemplos”.
ZeRO++ para acelerar el desarrollo de grandes modelos
Los investigadores de Microsoft también han anunciado ZeRO++, un nuevo método diseñado para mejorar el preentrenamiento y la puesta a punto de grandes modelos.
Los grandes modelos de inteligencia artificial, como ChatGPT y GPT-4, requieren grandes recursos de memoria y computación para su entrenamiento y puesta a punto. A veces, cuando el entrenamiento se lleva a cabo en un gran número de GPUs en relación con el tamaño del lote, esto da lugar a un tamaño de lote pequeño por GPU, lo que requiere una comunicación frecuente.
Para resolver este problema, Microsoft introdujo ZeRO++, un sistema que explota la cuantificación -el proceso de mapeo de infinitos valores continuos en un conjunto más pequeño de valores finitos discretos- combinada con el remapeo de datos y comunicaciones, para reducir el volumen total de comunicación 4 veces en comparación con ZeRO, sin afectar a la calidad del modelo.
De hecho, ZeRO++ está diseñado para mejorar la comunicación entre el modelo que se está entrenando y la GPU si el hardware utilizado es demasiado pequeño en comparación con el tamaño del modelo.
Según los investigadores de Microsoft, ZeRO++ permite a los clusters con poco ancho de banda alcanzar un rendimiento similar al de clusters con un ancho de banda cuatro veces superior.
El equipo responsable del sistema afirma que ofrece un rendimiento hasta 2,2 veces superior al de ZeRO, el anterior sistema de optimización del entrenamiento de Microsoft.
ZeRO++ está a disposición de todos los miembros de la comunidad de inteligencia artificial y se puede acceder a él a través de GitHub. Los investigadores anuncian que “en las próximas semanas” se lanzará una versión para chat.
*Con información de IA4
Artículo publicado originalmente en 28 Jul 2023