¡Victoria completa sobre GPT-4, acabando con el modelo de código cerrado en segundos! Se expone la misteriosa versión de Code Llama

Fuente original: Xinzhiyuan

Fuente de la imagen: Generada por Unbounded AI‌

Solo 2 días después de su lanzamiento, Code Llama una vez más encendió la revolución de la codificación con IA.

¿Recuerdas la misteriosa versión Unnatural Code Llama que Meta apareció en el documento Code Llama y que puede ecualizar completamente GPT-4?

El grandullón Sebastián explicó en su blog:

Es una versión mejorada de Code Llama-Python 34B que utiliza 15.000 instrucciones en lenguaje no natural.

Al ocultar información tan oculta en el documento, Meta parece querer insinuar a la comunidad de código abierto que Code Llama tiene un gran potencial, ¡así que ajustémoslo!

Entonces, WizardCoder 34B, que fue ajustado en base a Code Llama, derrotó directamente a GPT-4 en el punto de referencia Humano.

Específicamente, WizardCoder aplastó la versión de marzo de GPT-4 (67%) con una tasa de victorias del 73,2%.

Además, el rendimiento de WizardCoder 34B supera a la última versión GPT-3.5 y Claude 2.

El modelo de programación WizardCoder fue lanzado en junio por Microsoft y la Universidad Bautista de Hong Kong. Se dice que pronto llegará una versión 13B/7B mejorada.

Según Jim Fan, un destacado científico de Nvidia, se trata básicamente de una versión abierta de "Unnatural Code Llama".

Si bien los datos de referencia parecen buenos, Human solo prueba una distribución estrecha y puede sobreajustarse. Las pruebas de datos en escenarios naturales son realmente importantes. Los puntos de referencia de codificación necesitan una actualización importante.

## ** ¿Nació una versión misteriosa de Code Llama? **

El viernes, Meta abrió oficialmente tres versiones de Code Llama.

En los benchmarks Human y MBPP, muchas personas encontraron una versión que no se menciona en el Meta - Unnatural Code Llama oficial.

Esta misteriosa versión logró un rendimiento del 62,2% en Human pass@1.

El WizardCoder 34B perfeccionado lanzado hoy tiene un rendimiento del 73,2% en Human pass@1.

Según la introducción, WizardCoder 34B es una versión mejorada del modelo Code Llama que utiliza el conjunto de datos sintéticos Evol-Instruct.

La siguiente es una visualización de la comparación de rendimiento con todos los modelos de código abierto y cerrado.

En comparación con el modelo OpenAI, los investigadores señalaron que GPT4 y ChatGPT-3.5 tienen dos resultados humanos:

Los resultados proporcionados por el informe oficial GPT4 de OpenAI (15/03/2023) son: 67,0% y 48,1%, respectivamente. Los resultados de los investigadores que utilizaron la última prueba API (26/08/2023) son 82,0% y 72,5%.

Además, los investigadores destacan que este resultado de rendimiento es 100% reproducible.

Hay una demostración de WizardCoder 34B abierta para que cualquiera pueda probarla.

Se ha señalado que el ajuste excesivo a las tablas de clasificación públicas es una de las principales razones por las que los modelos de código abierto tienen problemas en la práctica. A continuación se muestra un ejemplo de preparación de datos del asistente-codificador utilizando puntuaciones de Human pass@1 para decidir si se debe desarrollar más el conjunto de datos. La optimización solo en el conjunto de prueba anula el propósito del conjunto de prueba.

También ayer, investigadores de la organización Phind perfeccionaron Code Llama-34B para superar a GPT-4 en la evaluación humana.

ChatGPT frente a Code Llama

¿Cómo se desempeña Code Llama en tareas de codificación reales?

Un internauta realizó una prueba comparativa de GPT-3.5 y Code Llama Instruct-34B. Fue probado con acceso a Code Llama 34B proporcionado por Perplexity.AI.

Proporciona 8 tareas de código idénticas a los dos modelos respectivamente y compara la calidad de sus códigos generados.

El resultado es que GPT-3.5 gana por 8:5.

Los siguientes son los resultados de las pruebas específicas.

primera pregunta

Utilice Python para realizar esta tarea, dadas dos cadenas palabra1 y palabra2. Combine cadenas agregando letras en orden alterno, comenzando con la palabra1. Si una cadena es más larga que la otra, agregue letras adicionales al final de la cadena combinada.

Finalmente genere la cadena fusionada.

Por ejemplo:

Entrada: palabra1 = "abc", palabra2 = "pqr" Salida: "apbqcr"

Tanto GPT-3.5 como Code Llama pueden completarse - 1:1

Segunda pregunta

Use Python para realizar esta tarea, dada una cadena s, simplemente invierta todas las vocales en la cadena y devuélvala.

Las vocales son "a", "e", "i", "o" y "u", que pueden aparecer varias veces tanto en minúsculas como en mayúsculas.

Por ejemplo: entrada: s = "hola" salida: "hola"

GPT-3.5 completado, Code Llama no completado - 2:1

La tercera pregunta

Utilice Python para realizar esta tarea, dada una matriz de números enteros, mueva todos los ceros al final mientras mantiene el orden relativo de los elementos distintos de cero.

Tenga en cuenta que debe hacer esto in situ, sin hacer una copia de la matriz.

Por ejemplo: Entrada: números = [0,1,0,3,12] Salida: [1,3,12,0,0]

GPT-3.5 completado, Code Llama no completado - 3:1

Pregunta 4

Al utilizar Python para esta tarea, tendrá un macizo de flores largo, algunas parcelas están plantadas con flores y otras no.

Sin embargo, no se pueden plantar flores en las parcelas adyacentes. Dada una matriz de números enteros de 0 y 1 para un macizo de flores, donde 0 está vacío y 1 no está vacío, y un número entero n, el resultado es verdadero si se pueden plantar n nuevas flores en el macizo de flores sin violar la regla de no flores adyacentes. De lo contrario, Se emite falso.

Ejemplo 1: Entrada: Macizo de flores = [1,0,0,0,1], n = 1 Salida: verdadero Ejemplo 2: Entrada: Macizo de flores = [1,0,0,0,1], n = 2 Salida: falso

Ambos modelos están terminados - 4:2

Pregunta 5

Usando Python, dada una cadena de entrada s, invierte el orden de las palabras. Una palabra se define como una secuencia de caracteres que no son espacios en blanco. Las palabras en s estarán separadas por al menos un espacio.

Genera una cadena de palabras unidas por espacios simples en orden inverso. Tenga en cuenta que s puede contener espacios iniciales o finales o varios espacios entre dos palabras.

La cadena devuelta debe tener solo un espacio para separar palabras. No incluya espacios adicionales.

Ejemplo: Entrada: s = "el cielo es azul" Salida: "el azul es el cielo"

Ambos modelos completados - 5:3

Pregunta 6

Utilice Python para realizar esta tarea. Dada una cadena s y un número entero k, devuelva el número máximo de vocales en cualquier subcadena de longitud k en s.

Las vocales en inglés son "a", "e", "i", "o" y "u". Ejemplo: Entrada: s = "leetcode", k = 3 Salida: 2

Explicación: "lee", "eet" y "ode" contienen 2 vocales.

Ambos modelos están terminados - 6:4

Pregunta 7

Utilice Python para realizar esta tarea, dada una cadena s que contiene asteriscos *. Con una sola operación podrá: Seleccionar un asterisco en s.

Elimina el carácter que no sea un asterisco más cercano a su izquierda y elimina el asterisco. Genere la cadena después de eliminar todos los asteriscos. Ejemplo: Entrada: s = "leet**cod*e" Salida: "lecoe"

GPT-3.5 está listo, pero Code Llama no - 7:4

Pregunta 8

Utilice Python para realizar esta tarea. Dada una matriz de temperatura entera que representa la temperatura diaria, devuelva una respuesta de matriz, donde respuesta [i] es el número de días tras día que tienes que esperar para que lleguen temperaturas más cálidas.

Si no hay un día en el futuro para hacer esto, guarda la respuesta. [i] == 0. Ejemplo: Entrada: Temperatura = [73,74,75,71,69,72,76,73] Salida: [1,1,4,2,1,1,0,0]

Ambos modelos completados - 8:5

Respecto al rendimiento de los dos modelos, este internauta cree que este no es un estudio riguroso, sino una simple prueba, cada vez que se regenera el modelo para generar código básicamente se puede obtener una mejor respuesta, pero no hay prueba.

Entonces la conclusión de la prueba no es el desempeño de los dos últimos modelos.

Comparable a GPT-4, Llama 3 debería ser de código abierto

Desde el lanzamiento de Llama y Llama 2, la comunidad de aprendizaje automático ChatGPT se ha disparado y han surgido varios modelos de ajuste.

El investigador de OpenAI Jason Wei dijo que aprendió de las actividades sociales de Meta GenAI que Llama 3 y Llama 4 también serán de código abierto en el futuro.

Tenemos la potencia informática para entrenar a Llama 3 y 4. Nuestro plan es hacer que Llama-3 sea tan bueno como GPT-4. Vaya, si Llama-3 es tan bueno como GPT-4, ¿lo abrirás? Si, lo haremos. Lo siento, personal de alineación.

Otro internauta dijo que Meta espera abrir un modelo de nivel GPT-5 de código abierto, y parece haber insistido en el código abierto antes que AGI.

Quiero dejar claro lo que esto significa: sin interruptor de apagado.

Si algo sale mal (un agente se sale de control o un mal actor lo arma), no hay una manera fácil de detenerlo. Puede ejecutarse en cualquier clúster pequeño. No hay seguridad alguna.

La investigación sobre seguridad deja de tener sentido.

Todo el trabajo que la gente ha hecho para que los sistemas de IA sean honestos, consistentes, éticos, etc., deja de tener sentido. Los sistemas de IA del mundo evolucionarán hacia cualquier sistema que produzca el mayor beneficio económico, independientemente de sus valores o motivaciones. No hay barandillas. Cualquiera puede cambiar los valores o capacidades de la IA a voluntad, para bien o para mal.

Si Meta sigue siendo de código abierto mientras obtenemos una IA más inteligente, entonces está claro para mí que las cosas se complicarán. La llegada de estas inteligencias extraterrestres ya está convirtiendo el mundo en un desastre, pero será aún peor si renunciamos al poco control que tenemos los humanos.

Hasta donde yo sé, la esperanza de Meta para el código abierto se deriva principalmente del "dogma de la comunidad de código abierto", es decir, "el código abierto es bueno". Y hasta donde yo sé, no eran tan pro-código abierto hasta la filtración accidental de su primer modelo, el Llama, y han estado pretendiendo ser de código abierto desde entonces.

En este sentido, Musk dijo que, sin embargo, el LLM que utiliza un transformador autorregresivo tiene una eficiencia energética extremadamente pobre, no solo en el entrenamiento, sino también en el razonamiento. Creo que está desviado en varios órdenes de magnitud.

## La capacidad de codificación de Llama 2 se dispara

Llama 2 es un modelo muy fuerte en todos los aspectos.

Sin embargo, tiene una debilidad muy obvia: la capacidad de codificar.

Según los datos del artículo publicado por Meta sobre Llama 2, el rendimiento de Llama 2 en Hum (una prueba de referencia para evaluar LLM y codificación) es incluso peor que GPT-3.5, sin mencionar peor que GPT-4.

Figura comentada del artículo original de Llama 2.

Pero la capacidad de código definitivamente será una dirección importante para que la comunidad de código abierto use Llama 2 en el futuro. Naturalmente, Meta no puede ser pobre en esta dirección, por lo que existe Code Llama, que está muy optimizado para la capacidad de código.

Hace dos días, Meta lanzó oficialmente la familia Code Llama: Code Llama (7B, 13B y 34B), y 3 variantes: el modelo de código general Code Llama, la instrucción siguiendo el modelo Code Llama-instruct y la versión específica del código Python Code Llama. - Pitón.

Estos modelos son académicos y comerciales gratuitos, al igual que las licencias Llama 2.

La capacidad de codificación del modelo Code Llama 34B es casi el doble que la de Llama 2, lo que reduce enormemente la brecha con GPT-4.

¿Recuerda el Unnatural Code Llama que Meta apareció en el documento Code Llama, que puede ecualizar completamente la versión GPT-4?

El grandullón Sebastián explicó en su blog:

Es una versión mejorada de Code Llama-Python 34B que utiliza 15.000 instrucciones en lenguaje no natural.

Al ocultar información tan oculta en el documento, Meta parece querer insinuar a la comunidad de código abierto que Code Llama tiene un gran potencial, ¡así que ajustémoslo!

¿Por qué no existe el modelo 70B Code Llama?

Curiosamente, Code Llama solo tiene versiones de parámetros 7B, 13B y 34B, que son 70B menos que Llama 2.

Aunque Meta no explicó por qué esto es así en el artículo, el gurú de la tecnología Sebastián ofreció dos posibles razones:

  1. Code Llama se entrena con tokens 500B y Llama 2 se entrena con tokens 2T.

Dado que los datos de entrenamiento de Code Llama son solo 1/4 en comparación con los de Llama 2, puede deberse a que no hay suficientes datos de entrenamiento y, junto con las limitaciones de las leyes de escala de LLM, el rendimiento de CodeLlama70B no es bueno.

  1. El modelo Code Llama admite un tamaño de contexto de 100k, lo cual es muy útil cuando se trata de tareas de código.

Por el contrario, Llama 2 sólo admite longitudes de entrada de hasta 4k. Si el modelo 70B debe admitir una longitud de entrada de 100 000 tokens, es posible que los requisitos computacionales del modelo sean demasiado exagerados.

Referencias:

Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Comercie con criptomonedas en cualquier lugar y en cualquier momento
qrCode
Escanee para descargar la aplicación Gate.io
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)