2023-08-25 16:26:17
Code Llama es la variante refinada de Llama 2 de Meta para la generación de código.
Según Meta, Code Llama es una evolución de Llama 2 que ha sido entrenada con 500.000 millones de tokens de código y tokens relacionados con el código procedentes de los conjuntos de datos específicos de código de Llama 2. Para entrenar Code Llama, Meta utilizó más datos de código durante un periodo de tiempo más largo.
En comparación con Llama 2, Code Lama ha mejorado las capacidades de programación y puede, por ejemplo, generar el código apropiado en respuesta a una petición de lenguaje natural como «Escríbeme una función que produzca la secuencia de Fibonacci». De forma similar a Github Copilot, también puede completar y depurar código.
Code Lama soporta lenguajes de programación populares como Python, C++, Java, PHP, Typescript, C#, Bash y otros.
Tres modelos y dos variantes
Meta lanza Code Llama en tres tamaños con 7.000, 13.000 y 34.000 millones de parámetros. El especialmente grande ventana contextual es de 100.000 tokens, lo que hace que el modelo sea especialmente interesante para procesar grandes cantidades de código simultáneamente.
«Cuando los desarrolladores necesitan depurar un trozo grande de código, pueden pasar toda la longitud del código al modelo», escribe Meta AI.
Se dice que la variante de 34.000 millones de parámetros proporciona la máxima calidad de código, lo que la hace adecuada como asistente de código. Los modelos más pequeños están optimizados para completar código en tiempo real. Tienen una latencia más baja y están entrenados para rellenar el medio (FIM) por defecto.
Además, Meta publica una variante de Code Llama optimizada para Python y entrenada con 100.000 millones de tokens de código Python adicionales, así como una variante de Instruct optimizada con tareas de código y sus soluciones de ejemplo. Meta recomienda esta versión para la generación de código porque es la que mejor sigue las instrucciones.
Code Llama supera a otros modelos de código abierto, pero GPT-4 se mantiene por delante
En el HumanEval y Programación Básica en Python (MBPP) Code Llama 34B obtiene resultados similares a GPT-3.5, pero está muy por detrás de GPT-4 en Human Eval. Code Llama supera a Llama 2, que no está optimizado para código, y a otros modelos de código abierto probados.
Meta lanza Code Llama bajo el mismo Llama licencia como Llama 2 en Github. La aplicación y el contenido que genera pueden utilizarse con fines científicos y comerciales.
La comunidad de código abierto acelera el desarrollo de la IA de Meta
En Licencia Llama permite tanto el uso científico como el comercial, pero este último está restringido, ya que se requiere una licencia especial para su uso en aplicaciones generalizadas. Además, los datos generados con Llama 2 no pueden utilizarse para entrenar nuevos modelos de IA.
El modelo lingüístico Llama 2 de Meta también cuenta ahora con numerosos refinamientos que superan a la versión original de Meta en pruebas comparativas. Este es probablemente el objetivo de Meta: mejorar sus modelos más rápidamente gracias a la comunidad de código abierto.
La Iniciativa de Código Abierto criticó a Meta por comercializar los modelos como código abierto, afirmando que la licencia restringe el uso comercial y determinados ámbitos de aplicación y, por tanto, no cumple plenamente la definición de código abierto.