👆👆👆 Suscríbete a nuestro podcast. Y mejor aún, a nuestro boletín mensual: todo cosas útiles que no encontrarás en otro lado, una vez al mes.
Hace unos días Meta, la matriz de Facebook, lanzó la siguiente generación de Llama: su famosa familia de modelos grandes de lenguaje (LLM) de código abierto. Según la propia empresa, los nuevos modelos Llama 3 son "los mejores modelos de código abierto de su clase, punto".
Hoy te cuento qué es Llama, por qué es un modelo tan importante, las novedades que trae Llama 3 y cómo puedes usarlos fácilmente a pesar de que Meta.ai no está disponible en España.
Una breve historia de Llama
Vamos a empezar con una muy breve historia de LLaMa, para situarte y porque además es una historia curiosa.
Llama se anunció inicialmente a finales de febrero del pasado año 2023 en un post del blog de Meta, describiendo su entrenamiento y su arquitectura, y liberando el código del entrenamiento, pero no el modelo en sí, con lo cual no valía de mucho en la práctica. Meta apelaba a la responsabilidad para no entregar el modelo, y solo los académicos que lo solicitaban, previa revisión y veto de la empresa, tenían acceso a él. Pero solo unos pocos días más tarde, el 3 de marzo, aparecía un torrent con el modelo completo listo para descargar en el foro anónimo 4chan.
Meta hizo todo lo posible para retirarlo, pero ya sabemos que una vez que algo está en internet es imposible hacerlo desaparecer. Y menos algo tan goloso como era esto hace un año (que, al ritmo que va esto, parece que fue hace una eternidad).
El caso es que este incidente llevó a su distribución masiva en la comunidad de desarrolladores IA, y en muy poco tiempo provocó una explosión cámbrica de innovación en el área de los LLMs, en tan solo unas semanas, gracias a que muchos especialistas en IA tuvieron acceso al código y a los modelos. Algunas de estas innovaciones fueron:
- Las técnicas de LoRA que permiten adaptar modelos preentrenados a nuevas tareas específicas con un coste muy bajo, y que se desarrollaron en gran parte gracias a la disponibilidad de LLaMa y su código fuente.
- Llama.cpp: el desarrollador Georgi Gerganov lanzó poco después
llama.cpp
, una reimplementación optimizada por software de LLaMa escrita en C++, que permitió (y permite aún hoy) ejecutar la serie de modelos LLaMa localmente en equipos convencionales sin grandes recursos.
- Alpaca: la Universidad de Stanford presentó este modelo a mediados de marzo de 2023, menos de 2 semanas después, basado en el modelo LLaMa 1 7b original. Utiliza un innovador método de afinamiento de instrucciones para conseguir capacidades similares a las del GPT-3 de aquel momento pero con una fracción del coste. Hay muchos proyectos Open Source que lo utilizan para seguir avanzando en las mejoras.
Ya en julio de 2023, Meta presenta LLaMa 2 en colaboración con Microsoft. Esta versión de los modelos, que era la que teníamos disponible hasta ahora, ya era de libre uso, con los pesos liberados oficialmente, y se entregaban en 3 tamaños de parámetros: 7b, 13b y 70b. Están preentrenados con 2 billones (con "b", europeos) de tókenes, y tienen un tamaño de contexto de 4.096 tókenes nada más (esta es quizá una de sus mayores limitaciones). Además utilizaron refuerzo de aprendizaje con humanos (hasta 1 millón de anotaciones por parte de personas en su versión orientada a crear chats LLaMa-2-Chat) para mejorar la calidad de las respuestas.
Son modelos muy capaces para su tamaño, pero su importancia radica sobre todo en la cantidad de innovaciones que han traído en todo este mundo de los LLMs, muy a pesar de OpenAI y compañía.
🚀 Da un giro de 180 grados a tu carrera aprendiendo Machine Learning desde cero con el Máster de campusMVP.es 🤖
Los nuevos modelos Llama 3
Ahora, la empresa acaba de lanzar los dos primeros modelos de la familia Llama 3, uno con 8 mil millones de parámetros y otro con 70 mil millones. Según la empresa, estos modelos son significativamente mejores que los modelos Llama 2, ofreciendo además tasas de rechazo falso mucho más bajas, una alineación mejorada (capacidad de responder a lo que se le está preguntando y no alucinar) y más diversidad en las respuestas del modelo.
También se han mejorado considerablemente capacidades específicas del modelo, como el razonamiento, la generación de código, la capacidad de hacer matemáticas y el seguimiento de instrucciones.
El modelo más grande, de 70 mil millones de parámetros superó a Claude Sonnet (el de tamaño medio de Anthropic), a Mistral Medium, GPT 3.5 y, por supuesto, a su antecesor Llama 2 en prácticamente todas las pruebas estándar.
Una cosa muy importante también, de la que no se está hablando mucho, es que ahora el modelo es mucho más rápido generando respuestas, algo muy a tener en cuenta.
Entrenamiento de Llama 3
Para entrenar a Llama 3 Meta construyó dos clústeres a medida, cada uno de ellos con 24,576 GPUs NVIDIA H100 Tensor Core 😱 Si pudieses comprarlas tú (que no puedes, porque se las venden solo a Data Centers), te costaría cada una cerca de 20.000 dólares. A Meta le habrán salido más baratas, pero son muchos millones de dólares en hardware.
Cada GPU tiene 80GB de RAM y consume nada menos que 350W de potencia... ¡Son 50 mil tarjetas! así que multiplica: la cantidad de energía consumida para entrenar a estos modelos es brutal. Es algo en lo que hay que mejorar mucho durante los próximos años si queremos que este tipo de IA sea sostenible.
El proceso de preentrenamiento en sí tiene también algunas características técnicas interesantes que ha revelado Meta, como por ejemplo:
- Llama 3 fue preentrenado con más de 15 billones (insisto, billones "de verdad", trillions americanos) de tokens de fuentes públicas disponibles, más de 7 veces más que LlaMa 2, con cuatro veces más código también. Utilizaron máscaras para garantizar que el mecanismo de auto-atención del transformer no cruzaba los límites de los documentos, es decir, que no mezclaba contenidos de cosas distintas, para entendernos.
- Se ha utilizado un tokenizador con un vocabulario de 128 mil tókenes, que codifica el lenguaje de manera mucho más eficiente, lo que conduce a un rendimiento del modelo muy mejorado.
- Para mejorar la calidad de los datos de entrenamiento, Meta desarrolló una serie de pipelines para filtrado de datos, que incluyen el uso de filtros heurísticos, filtros para contenido no apto para el trabajo, deduplicación semántica y clasificadores de texto. De hecho, como Llama 2 es muy bueno identificando datos de alta calidad, utilizaron la versión anterior del modelo para generar los datos de entrenamiento para los clasificadores de calidad de texto que usaron con Llama 3. Todo muy "meta" 😉
- También crearon un nuevo conjunto de 1.800 prompts que abarcan 12 casos de uso, y cuyos resultados fueron evaluados por humanos para mejorar el modelo. Entre estos casos de uso tenemos: pedir consejo, lluvia de ideas, clasificación, respuesta a preguntas cerradas, codificación, escritura creativa, extracción, hacerse pasar por un personaje o persona, respuesta a preguntas abiertas, razonamiento, reescritura y resumen.
A pesar de todas estas mejoras en el modelo, triplicaron la eficiencia del entrenamiento y el tiempo necesario se redujo además un 95% respecto al de Llama 2.
Seguridad
Como parte del lanzamiento de las dos variantes de Llama 3, Meta ha presentado nuevas herramientas de confianza y seguridad:
- Llama Guard 2: un modelo de protección que los desarrolladores pueden utilizar como una capa adicional para reducir la probabilidad de que su modelo genere salidas que no estén alineadas con sus directrices previstas,
- Code Shield una herramienta también para desarrolladores que ayuda a reducir la posibilidad de generar código potencialmente inseguro.
- Y CyberSec Eval 2, que es una metodología para ayudar a los desarrolladores a evaluar cualquier riesgo de ciberseguridad con el código generado por los LLMs y que han mejorado respecto a la versión anterior.
Cómo probar Llama 3 y Meta AI desde España
Para que puedas probar el nuevo modelo Llama 3, Meta ha lanzado también un nuevo sitio web, Meta AI, que es una interfaz de chat similar a la de chatGPT con la que podrás probar el modelo (te dejo un enlace en la descripción). El problema es que, como por desgracia pasa últimamente con todo lo que tiene que ver con estas tecnologías, no te deja acceder desde Europa. Así que para usarlo tendrás que usar una VPN que te sitúe en Estados Unidos u otro de los países que sí pueden acceder.
No obstante existen alternativas para probar el modelo sin tener que recurrir a esto.
Una de ellas, mi favorita, es Groq, el chat de la empresa que ha diseñado los chips específicos para ejecutar modelos grandes de lenguaje a toda velocidad (con sus famosas LPUs). El chat de Groq tiene Llama3 8b y 70b disponibles entre sus modelos desde el mismo día en que lo presentó Meta. Groq se puede usar sin problema y gratuitamente desde España. Además, como el modelo es muy rápido pero las LPUs de Groq lo aceleran a lo bestia, las respuestas son casi instantáneas.
Otra buena opción es el chat de Hugging Face, que tiene el modelo grande de 70b entre los disponibles.
El chat Poe de Quora también tiene el mismo modelo entre los suyos.
Por supuesto, si eres un usuario avanzado puedes descargarte LLama 3 desde Hugging face y otros repositorios similares y poner a andar en local la versión 8b con herramientas habituales como Ollama, para programar, o LM Studio como usuario final.
En resumen
El lanzamiento de Llama 3 es muy interesante para los desarrolladores que quieren utilizar modelos de lenguaje potentes sin depender del pago a proveedores privados como Open AI o Anthropic. Aunque claro está, tendrán los costes del hardware necesario para ejecutarlos.
Llama 3 representa una gran salto respecto al mítico modelo anterior, con más capacidades, más seguridad y más rendimiento de generación, aparte de ofrecer avances en los procesos de preentrenamiento.
Uno de los puntos débiles de Llama 3 sigue siendo el tamaño de su contexto. Este tamaño de contexto es, para entendernos, la "memoria" del modelo, por lo que cuanto más grande más cosas podemos hacer antes de que el modelo empiece a alucinar y a olvidar instrucciones o las partes más antiguas de la conversación. En Llama 3 se ha duplicado respecto a Llama 2, pero sigue siendo muy pequeño para los cánones actuales: 8,192 tokens. Alrededor de 5 o 6 mil palabras. Puede parecer mucho, pero la mayoría de los modelos comerciales multiplican muchas veces ese número. Incluso un modelo, Google Gemini Pro 1.5 tiene un tamaño de 1 millón de tokens.
De todos modos, Meta dice que va a actualizar Llama 3 en los próximos meses con ventanas de contexto más largas, nuevas características (como por ejemplo la capacidad de generar y entender imágenes) y nuevas variantes del modelo. Por ejemplo, han dicho que sus modelos más grandes tienen ahora mismo más de 400 mil millones de parámetros y que los lanzarán en los próximos meses cuando esté terminado su entrenamiento.
Vivimos tiempos muy interesantes en el mundo tecnológico...