Hace unas semanas, el CEO de Meta Mark Zuckerberg anunció a través de Facebook que su empresa está abriendo código para su modelo de lenguaje grande (LLM) Code Llama, que es un motor de inteligencia artificial (IA) similar a GPT-3.5 y GPT-4 en ChatGPT.
Zuck anunció tres cosas interesantes sobre este LLM: es de código abierto, está diseñado para ayudar a escribir y editar código y su modelo tiene 70B de parámetros. La esperanza es que los desarrolladores puedan alimentar el modelo con problemas más desafiantes y que el motor sea más preciso cuando responda.
También: Por qué los modelos de IA generativa de código abierto todavía están un paso por detrás de GPT-4
La cuestión del código abierto es interesante. Es un enfoque que implica que puedes descargarlo todo, instalarlo en tu propio servidor y usar el modelo para obtener ayuda de programación sin correr el riesgo de que los Señores Supremos de Facebook aprovechen tu código para entrenamiento u otros propósitos nefastos.
Hacer este trabajo implica configurar un servidor Linux y realizar todo tipo de saltos. Sin embargo, resulta que los especialistas de Hugging Face ya han implementado Code Llama 70B LLM en su interfaz HuggingChat. Entonces, eso es lo que voy a probar a continuación.
Comenzando con Code Llama
Para comenzar, deberá crear una cuenta gratuita en Hugging Face. Si ya tiene una (como yo), puede usar 70B Code Llama LLM con esa cuenta.
Una cosa que es importante tener en cuenta es que, si bien puedes instalar Code Llama en tu propio servidor y, por lo tanto, no compartir nada de tu código, la historia es muy diferente en Hugging Face. Ese servicio dice que cualquier cosa que escribas puede compartirse con los autores del modelo a menos que desactives esa opción en la configuración:
Cuando usted Inicia sesión en HuggingChat, se te presentará una pantalla de chat en blanco. Como puede ver a continuación, mi LLM actual es openchat/openchat-3.5-0106, pero voy a cambiarlo a Code Llama, y le mostraré cómo.
Cambia su modelo actual en la configuración, a la que puede acceder presionando el ícono de ajustes:
Una vez en la configuración, haga clic (en 1) en codellama/CodeLlama-70b-Instruct-hf a la izquierda, verifique (en 2) que se haya seleccionado Code Llama LLM y luego haga clic en Activar (en 3):
Ahora, cuando hables con la interfaz de chat, usarás el modelo Code Llama, como se verifica en la parte superior de la interfaz de chat:
Para probar, decidí extraer indicaciones de un ejecución de prueba de codificación anterior Dirigí con Bard (ahora Géminis) y realicé las mismas pruebas en HuggingChat.
Prueba 1: escribir un complemento de WordPress
Mi primera prueba fue la creación de un complemento de WordPress. ChatGPT funcionó bastante bien en esta tarea. Bard estaba débil, pero hizo lo mejor que pudo. Pero ¿qué tal Código Llama? Bien, veamos. Aquí está el mensaje:
Escriba un complemento de WordPress compatible con PHP 8 que proporcione un campo de entrada de texto donde se pueda pegar una lista de líneas y un botón que, cuando se presione, aleatorice las líneas de la lista y presente los resultados en un segundo campo de entrada de texto sin espacios en blanco. líneas y se asegura de que no haya dos entradas idénticas una al lado de la otra (a menos que no haya otra opción)… con el número de líneas enviadas y el número de líneas en el resultado idénticos entre sí. Debajo del primer campo, muestre un texto que indique «Línea para aleatorizar:» con el número de líneas no vacías en el campo de origen. Debajo del segundo campo, muestra el texto que indica «Líneas que han sido aleatorizadas: » con el número de líneas no vacías en el campo de destino.
Y aquí tenéis los resultados, tal cual son:
Eso no está bien en muchos niveles. Primero, Code Llama no creó el encabezado del complemento, un conjunto muy simple de campos requeridos por todos los complementos. Luego, generó código que el formateador de código de mi editor de programación no pudo interpretar, lo que indica que faltan elementos en el código.
Es más, el código no se puede probar. Esto es un fracaso.
Prueba 2: reescribir una función de cadena
Para esta prueba, utilicé una cadena. solicitud de reescritura que una vez le di a ChatGPT. Quería corregir un error en mi código que solo permitía números enteros cuando debería haber permitido dólares y centavos (en otras palabras, cierta cantidad de dígitos, posiblemente seguidos de un punto, y luego, si hay un punto, dos más dígitos).
Envié el mismo mensaje que usé en mi artículo anterior y obtuve esta respuesta:
Este código funciona y estoy satisfecho con él.
Prueba 3: encontrar un error que no pude encontrar
Nuevamente, reutilicé una prueba sobre la que escribí en un artículo anterior. te señalaré el artículo original Si quieres los detalles del problema que probé en Code Llama. El problema de codificación es largo y bastante complicado, por lo que no pude descubrir qué estaba mal.
ChatGPT resolvió el problema de inmediato; Bardo no lo hizo. Bard falló porque miró la superficie del problema, no cómo se construyó el código general y cómo debía ejecutarse. Una analogía es ir al médico con dolor de cabeza. Un médico podría decirle que se tome dos aspirinas y que no lo llame por la mañana. El otro médico podría intentar descubrir la causa raíz del dolor de cabeza y ayudar a resolverlo.
También: Cómo usar ChatGPT para escribir código
ChatGPT se centró en la causa raíz y pude solucionar el error. Bard simplemente observó los síntomas y no encontró una solución.
Desafortunadamente, Code Llama hizo exactamente lo mismo que Bard, mirando solo la superficie del problema. La IA hizo recomendaciones, pero esas recomendaciones no mejoraron la situación.
Y el ganador es…
Mi conjunto de pruebas está lejos de ser completo. Pero si Code Llama falla en dos de las tres pruebas que ni siquiera ralentizaron ChatGPT, parece que la IA no está lista para el horario de máxima audiencia.
La única razón por la que quizás quieras usar Code Llama en lugar de ChatGPT es si lo instalas en tu propio servidor porque entonces tu código no se compartirá con Meta. Pero ¿de qué sirve la privacidad si la cosa no da respuestas correctas?
Si ChatGPT no hubiera sido tan bueno, probablemente le habría dado algunos puntos a Code Llama. Pero sabemos lo que es posible con ChatGPT, y Code Llama está lejos de ese nivel. En resumen, parece que Facebook tiene que esforzarse y hacer algunas mejoras.
También: ¿Implementar IA en la ingeniería de software? Aquí tienes todo lo que necesitas saber
Sinceramente esperaba algo mejor y estoy un poco decepcionado. Pero si hay algo a lo que se acostumbran los columnistas de tecnología es a sentirse un poco decepcionados por muchos de los productos y proyectos que analizamos. Creo que es por eso que nos emocionamos tanto cuando algo se destaca y sacude nuestro mundo. Y Code Llama, desafortunadamente, no es uno de esos.
¿Has probado alguna de las IA para obtener ayuda con la codificación? ¿Cuales has usado? ¿Cómo les ha ido? Háganos saber en los comentarios a continuación.
Puedes seguir las actualizaciones diarias de mi proyecto en las redes sociales. Asegúrese de suscribirse a mi boletín de actualización semanal en subpilay sígueme en Twitter en @DavidGewirtzen Facebook en Facebook.com/DavidGewirtzen Instagram en Instagram.com/DavidGewirtzy en YouTube en YouTube.com/DavidGewirtzTV.