Llama 2 es una familia de modelos de lenguaje de gran tamaño (LLM) preentrenados y ajustados publicados por Meta AI en 2023. Lanzados de forma gratuita para investigación y uso comercial, los modelos de IA Llama 2 pueden realizar una variedad de tareas de procesamiento del lenguaje natural (PLN), desde la generación de textos hasta código de programación.
La familia de modelos Llama 2, que se ofrece como modelos básicos y modelos de “chat” perfeccionados, sirve como sucesora de los modelos LLaMa 1 originales, que se lanzaron en 2022 bajo una licencia no comercial que otorga acceso caso por caso exclusivamente a instituciones de investigación. A diferencia de sus predecesores, los modelos Llama 2 están disponibles de forma gratuita tanto para investigación de IA como para uso comercial.
Por lo tanto, los modelos Llama de Meta pretenden desempeñar un papel importante en la democratización del ecosistema de la IA generativa. Como se indica en el artículo de investigación de Llama 2 (enlace externo a ibm.com), aunque la metodología para el preentrenamiento de los LLM autorregresivos mediante el aprendizaje autorsupervisado es, por ahora, relativamente sencilla y se entiende bien, los inmensos requisitos computacionales que implica el proceso han limitado en gran medida el desarrollo de LLM de vanguardia a unos pocos actores clave. Dado que la mayoría de los LLM más avanzados, como GPT de OpenAI, Claude de Anthropic y BARD de Google, son modelos patentados (y masivos) de código cerrado, el acceso público a la investigación en IA que podría ayudar a entender cómo y por qué funcionan estos modelos; y cómo alinear mejor su desarrollo con los intereses humanos; ha sido notablemente limitado.
Además de poner a libre disposición su código y las ponderaciones de los modelos, el proyecto Llama se ha centrado en mejorar las capacidades de rendimiento de los modelos más pequeños, en lugar de aumentar el número de parámetros. Mientras que la mayoría de los modelos de código cerrado tienen cientos de miles de millones de parámetros, los modelos Llama 2 se ofrecen con siete mil millones (7B), 13 mil millones (13B) o 70 mil millones de parámetros (70B).
Esto permite a organizaciones más pequeñas, como startups y miembros de la comunidad de investigación, implementar instancias locales de modelos Llama 2, modelos basados en Llama desarrollados por la comunidad de IA, sin necesidad de tener que realizar unas inversiones de tiempo o infraestructura prohibitivamente caras.
El documento de investigación de Llama 2 detalla varias ventajas que ofrece la nueva generación de modelos de IA sobre los modelos LLaMa originales.
Aunque Meta ha hecho que el código inicial y los pesos de los modelos Llama 2 estén disponibles gratuitamente para investigación y uso comercial, ciertas restricciones en su acuerdo de licencia han provocado un debate sobre si se puede llamar apropiadamente "código abierto".
El debate es algo técnico y semántico: aunque “código abierto” se usa a menudo coloquialmente para referirse a cualquier software (u otras herramientas de programación) cuyo código fuente se distribuye de forma gratuita, en realidad es una designación formal definida por la Iniciativa de Código Abierto (OSI). La OSI solo certifica una licencia de software determinada como "aprobada por la Iniciativa de Código Abierto" si considera que dicha licencia cumple los diez requisitos enumerados en la Definición oficial de Código Abierto (OSD) (enlace externo a ibm.com) .
Como se explica en una declaración del director ejecutivo de OSI, Stefano Maffulli, "OSI se complace en ver que Meta está reduciendo las barreras de acceso a potentes sistemas de IA. Desafortunadamente, el gigante tecnológico ha creado la confusión de que LLaMa 2 es "código abierto" cuando no lo es".
La discrepancia se deriva de dos aspectos del acuerdo de licencia de Llama 2:
Estas restricciones contradicen dos puntos de la OSD:
Para reconocer tanto el espíritu abierto de Llama 2 como su incumplimiento de la definición técnica de "código abierto", algunos integrantes de la comunidad tecnológica han utilizado el término "enfoque abierto". 4
Los modelos de base de Llama 2 son modelos básicos preentrenados que deben ajustarse para casos de uso específicos, mientras que los modelos de chat de Llama 2 ya están optimizados para el diálogo.
Llama 2 es una familia de modelos de lenguaje causal autoregresivo basada en transformadores. Los modelos autorregresivos del lenguaje toman una secuencia de palabras como entrada y predicen recursivamente, como resultado, la(s) palabra(s) siguiente(s).
Durante la capacitación previaautosupervisada, a los LLM se les proporciona el principio de ejemplos de oraciones extraídas de un enorme corpus de datos sin etiquetar y se les asigna la tarea de predecir la siguiente palabra. En la formación del modelo para minimizar la divergencia entre la verdad de base (la palabra siguiente real) y sus propias predicciones, el modelo aprende a replicar patrones lingüísticos y lógicos en los datos de entrenamiento. Si bien el documento de investigación omite notablemente detalles sobre fuentes de datos específicas, afirma que Llama 2 fue entrenado con 2 billones de tokens (palabras, partes de palabras, frases y otros fragmentos semánticos representados numéricamente que las redes neuronales basadas en transformadores utilizan para procesar el lenguaje) de fuentes disponibles públicamente.
En un nivel fundamental, los modelos básicos no están preentrenados para responder realmente a una pregunta: le añaden texto de forma gramaticalmente coherente. Un modelo de base listo para usar podría responder a un mensaje de "enséñame a preparar galletas" con "para una fiesta navideña".Se requiere un ajuste más preciso, a través de técnicas como el aprendizaje supervisado y el aprendizaje de refuerzo, para entrenar un modelo de base para una aplicación específica como diálogo, seguimiento de instrucciones o escritura creativa.
En cambio, los modelos básicos de Llama 2 están destinados a servir como base sobre la que construir un modelo con un propósito específico. Hasta la fecha, los modelos Llama 2 (y LLaMa original) han servido como base de varios LLM destacados de código abierto, entre ellos:
Los modelos de chat Llama-2-se ajustan para casos de uso basados en diálogos, de forma similar a las versiones específicas del modelo GPT utilizadas en ChatGPT.
El ajuste preciso supervisado (SFT) se utilizó para preparar el modelo base preentrenado de Llama 2 para generar respuestas en el formato esperado por los usuarios en una configuración de chatbot o agente virtual. En una serie de tareas de aprendizaje supervisado, se utilizan pares etiquetados de intercambios de estilo conversacional, anotados como (instrucción, respuesta) para entrenar el modelo para minimizar la divergencia entre sus propias respuestas para una selección dinámica dada y la respuesta de ejemplo proporcionada por los datos etiquetados. El modelo aprende, por ejemplo, que la respuesta adecuada a un mensaje de "enséñeme a preparar galletas" es proporcionar instrucciones reales para preparar galletas, en lugar de simplemente completar la frase.
En lugar de usar millones de ejemplos etiquetados, el informe afirma que los resultados se mejoraron utilizando "menos ejemplos pero de mayor calidad", observando que Meta AI recopiló 27.540 muestras anotadas.
Después de SFT, Meta utilizó el aprendizaje de refuerzo con feedback humano (RLHF) para alinear aún más el comportamiento de los modelos de chat con las preferencias e instrucciones humanas. En RLHF, el feedback humano directo se utiliza para entrenar un "modelo de recompensa" para aprender patrones del tipo de respuestas que prefieren los humanos. Al traducir las predicciones del modelo de recompensa (con respecto a si los humanos preferirían una respuesta determinada) en una señal de recompensa escalar, el modelo de recompensa se utiliza para entrenar aún más a Llama-2-chat mediante el aprendizaje por refuerzo.
Hay muchos métodos y formatos diferentes en los que se pueden recopilar comentarios humanos. Meta AI utilizó un método simple de comparación binaria: se pidió a los anotadores humanos que escribieran un mensaje y luego eligieran entre dos respuestas modelo, basadas en los criterios proporcionados por Meta, generadas por dos variantes diferentes de Llama 2. Para ayudar al modelo de recompensa a ponderar adecuadamente las opciones, también se pidió a los anotadores que calificaran el grado en que preferían la respuesta elegida sobre la otra: “significativamente mejor”, “ligeramente mejor” o “insignificantemente mejor/no está claro".
Las preferencias humanas se utilizaron para entrenar dos modelos de recompensa distintos: uno optimizado para ser útil y el otro optimizado para la seguridad (p. ej. evitar respuestas tóxicas y de odio o respuestas que puedan usarse para ayudar en la violencia o la actividad delictiva). Además de la optimización de políticas proximales (PPO), el algoritmo que se suele utilizar para actualizar las ponderaciones de los modelos de LLM en RLHF, Meta también utilizó el muestreo de rechazo (enlace externo a ibm.com) para actualizar Llama-2-chat-70b.
Code Llama, creado sobre Llama 2, está optimizado para generar código (y lenguaje natural sobre el código) a partir de indicaciones basadas en código y en lenguaje natural. Presentado poco después del lanzamiento de la base Llama 2 y de los modelos de chat, es gratis para investigación y uso comercial.
Compatible con los lenguajes de programación más populares, incluidos Python, C++, Java, PHP y Javascript (entre otros), está disponible en tamaños de modelo de parámetros 7B, 13B y 34B, y tiene una longitud de contexto de hasta 100.000 tokens. Dos variaciones adicionales, Code Llama - Python y Code Llama - Instruct, están ajustadas para Python (y PyTorch) y el seguimiento de instrucciones, respectivamente.
En comparación con sus competidores de código cerrado, los modelos Llama 2 destacan en aspectos como la seguridad y la precisión de los datos. Aunque Llama 2 puede no contar con todas las capacidades de modelos mucho más grandes, su disponibilidad abierta y mayor eficiencia presentan ventajas únicas.
Al comparar Llama 2 con los modelos emblemáticos de la competencia, como OpenAI, Antrópico y Google, es importante considerar la escala. Aunque los modelos de código cerrado no siempre revelan todos los detalles de su arquitectura, la información disponible sugiere que todos superan con creces los 70 mil millones de parámetros de los modelos más grandes de Llama 2:
Según el artículo de investigación de Llama 2, los evaluadores humanos prefirieron las respuestas de Llama-2-chat 70B a las de GPT-3.5.-turbo-0301, el modelo estándar para ChatGPT: las respuestas de Llama 2 tuvieron una tasa de victorias del 36 % y una tasa de empate del 31,5 %. En relación con PaLM Bison, el segundo modelo PaLM más grande, 70B tuvo una tasa de victoria de más del 50 %.
En las pruebas de Meta, los modelos 7B, 13B y 70B Llama 2 presentaron porcentajes de infracciones de seguridad significativamente inferiores a los de PaLM Bison; -3 % y 4 %, frente al 27 % de PaLM; así como porcentajes de infracciones de seguridad inferiores al 7 % de ChatGPT. Se trata de un punto fuerte para los casos de uso empresarial, en los que el lenguaje tóxico, odioso o incendiario de los chatbots puede tener consecuencias importantes.
Una ventaja inherente de los modelos abiertos más pequeños sobre los modelos masivos de código cerrado es la libertad de las empresas de ejecutar instancias de modelos locales y la rentabilidad de hacerlo sin inversiones masivas en infraestructura o cloud computing. Ejecutar un modelo local garantiza que el código propietario, las modificaciones de entrenamiento y los datos propietarios puedan utilizarse para afinar el rendimiento del modelo sin que se carguen en un servidor comercial o se utilicen potencialmente en futuros entrenamientos de modelos de código cerrado. Además, los tamaños de modelo más pequeños, como las variantes 7B y 13B, permiten un rendimiento más fluido en entornos como las aplicaciones móviles, donde la potencia de procesamiento es limitada.
Llama 2 no tiene su propia API dedicada, pero es accesible a través de varios proveedores.
Explore la biblioteca de modelos fundacionales de IBM en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
Enlaces externos a ibm.com.
1 "Meta's LLaMa 2 license is not Open Source". Voices of Open Source. 20 de julio de 2023
2 "Llama 2 Community License Agreement". Meta. 18 de julio de 2023
3 "The Open Source Definition". Iniciativa de código abierto. Modificado por última vez el 22 de febrero de 2023
4 "Statement of Support for Meta’s Open Approach to Today’s AI". Meta. 18 de julio de 2023
5 "Alpaca: A Strong, Replicable Instruction-Following Model". Stanford CRFM. 13 de marzo de 2023
6 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality". LMSYS Org. 30 de marzo de 2023
7 "Orca-2: Teaching Small Language Models How to Reason". Microsoft. Noviembre de 2023
8 "WizardLM: Empowering Large Language Models to Follow Complex Instructions". arXiv. 10 de junio de 2023
9 "The secret history of Elon Musk, Sam Altman, and OpenAI". Semafor. 24 de marzo de 2023
10 "Google’s newest A.I. model uses nearly five times more text data for training than its predecessor". CNBC. 16 de mayo de 2023
11 "Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance". Google. 4 de abril de 2023
12 "The Capacity for Moral Self-Correction in Large Language Models". arXiv. 18 de febrero de 2023