Inteligencia artificial
Todo lo que necesita saber sobre Llama 3 | El modelo de código abierto más poderoso hasta ahora | Conceptos para uso
Meta acaba de lanzar Llama 3, la próxima generación de su modelo de lenguaje grande de código abierto (LLM) de última generación. Basándose en los cimientos establecidos por su predecesor, Llama 3 tiene como objetivo mejorar las capacidades que posicionaron a Llama 2 como un competidor de código abierto significativo para ChatGPT, como se describe en la revisión exhaustiva del artículo Llama 2: Una inmersión profunda en el desafío de código abierto a ChatGPT.
En este artículo, discutiremos los conceptos básicos detrás de Llama 3, exploraremos su arquitectura innovadora y el proceso de entrenamiento, y proporcionaremos orientación práctica sobre cómo acceder, utilizar y desplegar este modelo innovador de manera responsable. Ya sea que sea un investigador, desarrollador o entusiasta de la IA, este mensaje lo equipará con los conocimientos y recursos necesarios para aprovechar el poder de Llama 3 para sus proyectos y aplicaciones.
La evolución de Llama: de Llama 2 a Llama 3
El CEO de Meta, Mark Zuckerberg, anunció el debut de Llama 3, el último modelo de IA desarrollado por Meta AI. Este modelo de última generación, ahora de código abierto, está diseñado para mejorar varios productos de Meta, incluidos Messenger e Instagram. Zuckerberg destacó que Llama 3 posiciona a Meta AI como el asistente de IA más avanzado disponible gratuitamente.
Antes de hablar sobre los detalles de Llama 3, revisitemos brevemente a su predecesor, Llama 2. Presentado en 2022, Llama 2 fue un hito significativo en el paisaje de LLM de código abierto, ofreciendo un modelo poderoso y eficiente que podía ejecutarse en hardware de consumo.
Sin embargo, aunque Llama 2 fue un logro notable, tenía sus limitaciones. Los usuarios informaron problemas con negaciones falsas (el modelo se negaba a responder a instrucciones benignas), ayuda limitada y espacio para mejorar en áreas como razonamiento y generación de código.
Llega Llama 3: la respuesta de Meta a estos desafíos y a los comentarios de la comunidad. Con Llama 3, Meta se ha propuesto construir los mejores modelos de código abierto a la par de los modelos propietarios más destacados disponibles hoy en día, al mismo tiempo que prioriza las prácticas de desarrollo y despliegue responsables.
Llama 3: Arquitectura y entrenamiento
Una de las innovaciones clave en Llama 3 es su tokenizador, que cuenta con un vocabulario significativamente expandido de 128,256 tokens (en comparación con los 32,000 de Llama 2). Este vocabulario más grande permite una codificación de texto más eficiente, tanto para la entrada como para la salida, lo que podría conducir a una mayor multilingüismo y mejoras generales en el rendimiento.
Llama 3 también incorpora Atención de consulta agrupada (GQA), una técnica de representación eficiente que mejora la escalabilidad y ayuda al modelo a manejar contextos más largos de manera más efectiva. La versión 8B de Llama 3 utiliza GQA, mientras que tanto los modelos 8B como 70B pueden procesar secuencias de hasta 8,192 tokens.
Datos de entrenamiento y escalabilidad
Los datos de entrenamiento utilizados para Llama 3 son un factor crucial en su rendimiento mejorado. Meta curó un conjunto de datos masivo de más de 15 billones de tokens de fuentes en línea disponibles públicamente, siete veces más grande que el conjunto de datos utilizado para Llama 2. Este conjunto de datos también incluye una parte significativa (más del 5%) de datos de alta calidad no en inglés, que cubren más de 30 idiomas, en preparación para aplicaciones multilingües futuras.
Para garantizar la calidad de los datos, Meta empleó técnicas de filtrado avanzadas, incluidos filtros heurísticos, filtros NSFW, deduplicación semántica y clasificadores de texto entrenados en Llama 2 para predecir la calidad de los datos. El equipo también realizó experimentos extensivos para determinar la mezcla óptima de fuentes de datos para el preentrenamiento, asegurando que Llama 3 se desempeñe bien en una amplia gama de casos de uso, incluidos trivia, STEM, codificación y conocimiento histórico.
Escalar el preentrenamiento fue otro aspecto crítico del desarrollo de Llama 3. Meta desarrolló leyes de escalabilidad que les permitieron predecir el rendimiento de sus modelos más grandes en tareas clave, como la generación de código, antes de entrenarlos realmente. Esto informó las decisiones sobre la mezcla de datos y la asignación de cómputo, lo que en última instancia condujo a un entrenamiento más eficiente y efectivo.
Los modelos más grandes de Llama 3 se entrenaron en dos clústeres de GPU personalizados de 24,000, aprovechando una combinación de técnicas de paralelización de datos, paralelización de modelos y paralelización de tuberías. La pila de entrenamiento avanzada de Meta automatizó la detección de errores, el manejo y el mantenimiento, maximizando el tiempo de actividad de la GPU y aumentando la eficiencia del entrenamiento en aproximadamente tres veces en comparación con Llama 2.
Afinación de instrucciones y rendimiento
Para desbloquear todo el potencial de Llama 3 para aplicaciones de chat y diálogo, Meta innovó su enfoque para la afinación de instrucciones. Su método combina afinación de instrucciones supervisada (SFT), muestreo de rechazo, optimización de política proximal (PPO) y optimización de preferencia directa (DPO).
La calidad de las instrucciones utilizadas en SFT y las clasificaciones de preferencia utilizadas en PPO y DPO desempeñaron un papel crucial en el rendimiento de los modelos alineados. El equipo de Meta curó cuidadosamente estos datos y realizó múltiples rondas de garantía de calidad en las anotaciones proporcionadas por anotadores humanos.
El entrenamiento en clasificaciones de preferencia a través de PPO y DPO también mejoró significativamente el rendimiento de Llama 3 en tareas de razonamiento y codificación. Meta encontró que incluso cuando un modelo lucha para responder una pregunta de razonamiento directamente, aún puede producir la traza de razonamiento correcta. El entrenamiento en clasificaciones de preferencia permitió que el modelo aprendiera a seleccionar la respuesta correcta de estas trazas.
Los resultados hablan por sí mismos: Llama 3 supera a muchos modelos de chat de código abierto disponibles en las pruebas de referencia comunes de la industria, estableciendo un nuevo rendimiento de última generación para LLM en las escalas de parámetros de 8B y 70B.
Desarrollo y consideraciones de seguridad responsables
Mientras perseguía un rendimiento de última generación, Meta también priorizó las prácticas de desarrollo y despliegue responsables para Llama 3. La empresa adoptó un enfoque a nivel de sistema, imaginando los modelos de Llama 3 como parte de un ecosistema más amplio que pone a los desarrolladores en el asiento del conductor, permitiéndoles diseñar y personalizar los modelos para sus casos de uso y requisitos de seguridad específicos.
Meta realizó ejercicios de red teaming extensivos, evaluaciones adversas y técnicas de mitigación de seguridad para reducir los riesgos residuales en sus modelos afinados con instrucciones. Sin embargo, la empresa reconoce que es probable que permanezcan algunos riesgos residuales y recomienda que los desarrolladores evalúen estos riesgos en el contexto de sus casos de uso específicos.
Para apoyar el despliegue responsable, Meta ha actualizado su Guía de uso responsable, proporcionando un recurso integral para que los desarrolladores implementen las mejores prácticas de seguridad de modelo y sistema para sus aplicaciones. La guía cubre temas como la moderación de contenido, la evaluación de riesgos y el uso de herramientas de seguridad como Llama Guard 2 y Code Shield.
Llama Guard 2, construido sobre la taxonomía de MLCommons, está diseñado para clasificar las entradas (instrucciones) y respuestas de LLM, detectando contenido que pueda considerarse inseguro o dañino. CyberSecEval 2 amplía su predecesor agregando medidas para prevenir el abuso del intérprete de código del modelo, las capacidades de ciberseguridad ofensiva y la susceptibilidad a ataques de inyección de instrucciones.
Code Shield, una nueva introducción con Llama 3, agrega un filtrado de inferencia en tiempo de ejecución del código inseguro producido por LLM, mitigando los riesgos asociados con sugerencias de código inseguras, el abuso del intérprete de código y la ejecución de comandos seguros.
Accediendo y utilizando Llama 3
Después del lanzamiento de Llama 3 de Meta AI, varias herramientas de código abierto han sido puestas a disposición para su despliegue local en varios sistemas operativos, incluidos Mac, Windows y Linux. Esta sección detalla tres herramientas notables: Ollama, Open WebUI y LM Studio, cada una ofreciendo características únicas para aprovechar las capacidades de Llama 3 en dispositivos personales.
Ollama: Disponible para Mac, Linux y Windows, Ollama simplifica la operación de Llama 3 y otros modelos de lenguaje grande en computadoras personales, incluso en aquellas con hardware menos robusto. Incluye un administrador de paquetes para una gestión de modelos fácil y admite comandos en varias plataformas para descargar y ejecutar modelos.
Open WebUI con Docker: Esta herramienta proporciona una interfaz de usuario amigable basada en Docker compatible con Mac, Linux y Windows. Se integra perfectamente con los modelos del registro de Ollama, lo que permite a los usuarios desplegar e interactuar con modelos como Llama 3 dentro de una interfaz web local.
LM Studio: Dirigido a usuarios en Mac, Linux y Windows, LM Studio admite una gama de modelos y se basa en el proyecto llama.cpp. Proporciona una interfaz de chat y facilita la interacción directa con varios modelos, incluido el modelo Llama 3 8B Instruct.
Estas herramientas garantizan que los usuarios puedan utilizar Llama 3 de manera eficiente en sus dispositivos personales, adaptándose a una variedad de habilidades técnicas y requisitos. Cada plataforma ofrece procesos paso a paso para la configuración y la interacción con el modelo, haciendo que el acceso a la IA avanzada sea más accesible para desarrolladores y entusiastas.













