Hoy, la familia de modelos Llama de código abierto de Meta marcó el comienzo de un nuevo miembro: Code Llama, un modelo básico especializado en generación de código.
Como versión de Llama 2 con código específico, Code Llama se perfecciona y entrena aún más en un conjunto de datos de código específico.
Meta dijo que el acuerdo de código abierto de Code Llama, como Llama 2, es gratuito para fines comerciales y de investigación.
Se ha publicado el artículo relacionado "Code Llama: Open Foundation Models for Code", con 47 páginas y 25 autores.
Dirección del papel:
Dirección de GitHub:
Hay tres versiones de la serie de modelos Code Llama con cantidades de parámetros de 7B, 13B y 34B. Y admite múltiples lenguajes de programación, incluidos Python, C++, Java, PHP, Type (Java), C# y Bash.
Code Llama admite de manera estable la generación de contexto de hasta 100.000 tokens. La Figura 2 a continuación muestra el proceso de ajuste de Code Llama.
En términos de su efecto, la tasa de aprobación (aprobación @ 1) de diferentes versiones de Code Llama en los conjuntos de datos Human y MBPP puede superar GPT-3.5.
Además, el pase@1 de la versión 34B "Unnatural" de Code Llama en el conjunto de datos humanos está cerca de GPT-4 (62,2% frente a 67,0%). Meta no lanzó esta versión, pero logró importantes mejoras de rendimiento al entrenar con una pequeña cantidad de datos codificados de alta calidad.
Esta edición especial ha atraído la atención de muchas personas, incluido Andrej Karpathy, ex director de IA de Tesla y que regresa a OpenAI.
Aunque se menciona en el artículo que es "la versión Code Llama-Python 34B ajustada con 15.000 instrucciones no naturales", Karpathy todavía siente curiosidad por este "nombre misterioso, descripción vaga y otros modelos de confidencialidad aplastantes".
Cómo funciona Code Llama
Code Llama tiene capacidades de codificación muy sólidas. Puede generar código basado en código y indicaciones en lenguaje natural (por ejemplo, indicaciones de entrada del usuario "Ayúdame a escribir una función que genere la secuencia de Fibonacci"). También puede ayudar a los usuarios a completar y depurar el código. código.
Las tres versiones de parámetros del modelo Code Llama se entrenan utilizando tokens de código 500B y datos relacionados con el código. Los modelos base y de instrucción 7B y 13B también están entrenados con FIM (relleno en el medio), lo que permite insertar código en el código existente, lo que significa que pueden admitir tareas como la finalización del código desde el primer momento.
La siguiente tabla es el conjunto de datos de entrenamiento de Code Llama.
Con los tres modelos, se pueden cumplir diferentes requisitos de servicio y latencia. Por ejemplo, el modelo 7B puede ejecutarse en una sola GPU; el modelo 34B ofrece los mejores resultados y proporciona una mejor asistencia de codificación, pero en términos de velocidad, los modelos más pequeños 7B y 13B son más rápidos y más adecuados para tareas de baja latencia como Finalización de código en vivo.
Code Llama no solo proporciona una generación estable de hasta 100.000 tokens de contexto, sino también hasta 16.000 secuencias de tokens de entrenamiento para todos los modelos. **
Además de ser un requisito previo para generar programas más largos, tener secuencias de entrada más largas también aporta nuevas capacidades a Code Llama. Por ejemplo, los usuarios pueden proporcionar modelos con más contexto desde su base de código para hacer que el código generado sea más relevante.
Vale la pena mencionar que Meta ha perfeccionado Code Llama con dos variantes adicionales: **Code Llama - Python y Code Llama - Instruct. **
Code Llama-Python es una variante de Code Llama, que se ha perfeccionado aún más en el token 100B del código Python. La siguiente tabla es el conjunto de datos de entrenamiento de Code Llama-Python.
Code Llama: Instruct es una variante alineada y con instrucciones de Code Llama para una mejor comprensión de las indicaciones de entrada. Meta recomienda usar la variante Code Llama - Instruct cuando se usa Code Llama para la generación de código, porque Code Llama - Instruct se ha perfeccionado para generar respuestas útiles y seguras en lenguaje natural.
Meta declaró que no recomiendan usar Code Llama o Code Llama - Python para tareas generales de lenguaje natural porque ninguno de los modelos está diseñado para seguir instrucciones de lenguaje natural. Code Llama está diseñado para tareas específicas de código y no es adecuado como modelo base para otras tareas.
Al utilizar modelos de Code Llama, los usuarios deben cumplir con la Política de licencia y uso.
¿Cómo funciona Code Llama
Meta utiliza dos puntos de referencia de codificación Human y MBPP (programación Python principalmente básica) para las pruebas. Entre ellos, el modelo de prueba Humano se basa en la capacidad de la cadena de documento (cadenas de documentos) para completar el código, y el modelo de prueba MBPP se basa en la capacidad de describir el código.
Los resultados muestran que Code Llama supera a los LLM de código abierto y específicos de tareas de código y supera a su propio Llama2. Por ejemplo, Code Llama 34B obtiene una puntuación del 53,7 % en Humano y del 56,2 % en MBPP, que es la mejor en comparación con otras soluciones de código abierto de última generación y comparable a ChatGPT.
Sin embargo, Code Llama también tiene riesgos. Meta dijo que construir un modelo de IA responsable es crucial y tomaron muchas medidas de seguridad antes de lanzar Code Llama. Como parte de un esfuerzo de prueba del equipo rojo, Meta realizó una evaluación cuantitativa del riesgo de que Code Llama genere código malicioso. Crearon sugerencias en un intento de lograr que el modelo generara código malicioso y compararon las respuestas de Code Llama a estas sugerencias con ChatGPT (GPT3.5 Turbo). Resulta que la respuesta de Code Llama es más segura.
Desde este punto de vista, Llama 2, cuya capacidad de codificación no es particularmente fuerte, ha sido reemplazada por Code Llama. Meta espera que el surgimiento de Code Llama inspire a otros investigadores a crear herramientas nuevas e innovadoras para la investigación y productos comerciales basados en Llama 2.
Link de referencia:
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Código oficial Llama de código abierto: gratuito para uso comercial, la versión misteriosa se acerca a GPT-4
Fuente: Corazón de la máquina
Editores: Du Wei, Chen Ping
Hoy, la familia de modelos Llama de código abierto de Meta marcó el comienzo de un nuevo miembro: Code Llama, un modelo básico especializado en generación de código.
Como versión de Llama 2 con código específico, Code Llama se perfecciona y entrena aún más en un conjunto de datos de código específico.
Meta dijo que el acuerdo de código abierto de Code Llama, como Llama 2, es gratuito para fines comerciales y de investigación.
Dirección de GitHub:
Hay tres versiones de la serie de modelos Code Llama con cantidades de parámetros de 7B, 13B y 34B. Y admite múltiples lenguajes de programación, incluidos Python, C++, Java, PHP, Type (Java), C# y Bash.
Code Llama admite de manera estable la generación de contexto de hasta 100.000 tokens. La Figura 2 a continuación muestra el proceso de ajuste de Code Llama.
Además, el pase@1 de la versión 34B "Unnatural" de Code Llama en el conjunto de datos humanos está cerca de GPT-4 (62,2% frente a 67,0%). Meta no lanzó esta versión, pero logró importantes mejoras de rendimiento al entrenar con una pequeña cantidad de datos codificados de alta calidad.
Aunque se menciona en el artículo que es "la versión Code Llama-Python 34B ajustada con 15.000 instrucciones no naturales", Karpathy todavía siente curiosidad por este "nombre misterioso, descripción vaga y otros modelos de confidencialidad aplastantes".
Cómo funciona Code Llama
Code Llama tiene capacidades de codificación muy sólidas. Puede generar código basado en código y indicaciones en lenguaje natural (por ejemplo, indicaciones de entrada del usuario "Ayúdame a escribir una función que genere la secuencia de Fibonacci"). También puede ayudar a los usuarios a completar y depurar el código. código.
La siguiente tabla es el conjunto de datos de entrenamiento de Code Llama.
Además de ser un requisito previo para generar programas más largos, tener secuencias de entrada más largas también aporta nuevas capacidades a Code Llama. Por ejemplo, los usuarios pueden proporcionar modelos con más contexto desde su base de código para hacer que el código generado sea más relevante.
Code Llama-Python es una variante de Code Llama, que se ha perfeccionado aún más en el token 100B del código Python. La siguiente tabla es el conjunto de datos de entrenamiento de Code Llama-Python.
Meta declaró que no recomiendan usar Code Llama o Code Llama - Python para tareas generales de lenguaje natural porque ninguno de los modelos está diseñado para seguir instrucciones de lenguaje natural. Code Llama está diseñado para tareas específicas de código y no es adecuado como modelo base para otras tareas.
Al utilizar modelos de Code Llama, los usuarios deben cumplir con la Política de licencia y uso.
¿Cómo funciona Code Llama
Meta utiliza dos puntos de referencia de codificación Human y MBPP (programación Python principalmente básica) para las pruebas. Entre ellos, el modelo de prueba Humano se basa en la capacidad de la cadena de documento (cadenas de documentos) para completar el código, y el modelo de prueba MBPP se basa en la capacidad de describir el código.
Los resultados muestran que Code Llama supera a los LLM de código abierto y específicos de tareas de código y supera a su propio Llama2. Por ejemplo, Code Llama 34B obtiene una puntuación del 53,7 % en Humano y del 56,2 % en MBPP, que es la mejor en comparación con otras soluciones de código abierto de última generación y comparable a ChatGPT.
Desde este punto de vista, Llama 2, cuya capacidad de codificación no es particularmente fuerte, ha sido reemplazada por Code Llama. Meta espera que el surgimiento de Code Llama inspire a otros investigadores a crear herramientas nuevas e innovadoras para la investigación y productos comerciales basados en Llama 2.
Link de referencia: