¿Qué es Llama 2?

Joven empresaria de pie junto a la ventana con el teléfono móvil en la oficina de inicio

Autores

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

¿Qué es Llama 2?

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.

Llama 2 contra LLaMa 1

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.

  • Mayor longitud de contexto: los modelos Llama 2 ofrecen una longitud de contexto de 4.096 tokens, que es el doble de LLaMa 1. La longitud del contexto (o ventana de contexto) se refiere al número máximo de elementos que el modelo puede «recordar» durante la inferencia (es decir, la generación de texto o una conversación en curso). Esto permite una mayor complejidad y un intercambio más coherente y fluido del lenguaje natural.
  • Mayor accesibilidad: mientras que LLaMa 1 se lanzó exclusivamente para uso de investigación, Llama 2 está disponible para cualquier organización (con menos de 700 millones de usuarios activos).
  • Formación más sólida: Llama 2 se entrenó previamente en un 40 % más de datos, aumentando su base de conocimientos y su comprensión contextual. Además, a diferencia de LLaMa 1, los modelos de chat Llama 2 se ajustaban utilizando el aprendizaje de refuerzo de feedback humano (RLHF), lo que ayuda a alinear mejor las respuestas del modelo con las expectativas humanas.
Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

¿Llama 2 es de código abierto?

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:

  • Cualquier organización con más de 700 millones de usuarios activos al mes debe solicitar una licencia de Meta (a su entera discreción). 2
  • La "Política de uso aceptable" prohíbe el uso de los modelos para la violencia, la actividad penal y la suplantación de humanos, entre otras restricciones legales y morales.

Estas restricciones contradicen dos puntos de la OSD:

  • Punto 5: "La licencia no debe discriminar a ninguna persona o grupo de personas." 3
  • Punto 6: "La licencia no debe restringir a nadie el uso del programa en un campo específico." 3

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

AI Academy

Por qué los modelos fundacionales son un cambio de paradigma para la IA

Conozca una nueva clase de modelos de IA flexibles y reutilizables capaces de desbloquear nuevos ingresos, reducir costes y aumentar la productividad, y utilice nuestra guía para profundizar más en el tema.

¿Cómo funciona Llama 2?

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.

Modelos base Llama 2

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:

  • Alpaca: Una versión de LLaMa 7B ajustada para el seguimiento de instrucciones por parte de investigadores de la Universidad de Stanford. Cabe destacar que obtuvo resultados competitivos con GPT-3.5 a pesar de costar solo 600 USD en recursos informáticos.5
  • Vicuna: un modelo de asistente de chat de LMSYS Org, entrenado ajustando Llama 2 13B con conversaciones de usuario de ShareGPT (enlace externo ibm.com). Superó a Alpaca en más del 90 % de los casos a un coste de formación de tan solo 300 USD.6
  • Orca: una versión ajustada de Llama 2, entrenada por Microsoft utilizando un esquema de "estudiante profesor", en el que se utiliza un LLM más grande y potente para generar ejemplos de comportamiento de razonamiento útil para el modelo más pequeño.7
  • WizardLM: ajustado utilizando Evol-Instruct, un método para crear grandes cantidades de datos de instrucciones sintéticas utilizando LLM, WizardLM logró más del 90 % del rendimiento de ChatGPT en 17 de 29 habilidades evaluadas.8

Modelos de chat Llama 2

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.

Código Llama

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.

Llama 2 frente a modelos de código cerrado

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:

  • GPT-3 tiene 175 millones de parámetros.
  • Se estima que GPT-4 tiene un billón de parámetros.9
  • Se informa que PaLM 2 de Google tiene 340 mil millones de parámetros.10 Su predecesor, PaLM, tiene 540 mil millones de parámetros.11
  • Anthropic no ha publicado el recuento de parámetros para los modelos Claude, pero un artículo reciente sugiere la existencia de una versión de Claude 2.12 con 175 mil millones de parámetros.

Evaluación humana

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 %.

Seguridad

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.

Privacidad y eficiencia

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.

Cómo usar Llama 2

Llama 2 no tiene su propia API dedicada, pero es accesible a través de varios proveedores.

  • Llama-2-13B-chat y Llama-2-70B-chat se encuentran entre los muchos modelos fundacionales disponibles en watsonx, gracias a la asociación de IBM con Hugging Face.

  • Los pesos de los modelos y el código inicial de Llama 2 se pueden descargar directamente desde Github, donde Meta también proporciona instrucciones, demostraciones y “recetas” para Llama 2 (enlace externo a ibm.com). Los modelos se pueden implementar en marcos de machine learning de código abierto como PyTorch o LangChain.

  • Llama 2 también está disponible a través de proveedores de código abierto como Hugging Face y proveedores empresariales como Microsoft Azure y Amazon Sagemaker y Bedrock, además de varias startups basadas en la nube.
Soluciones relacionadas
Modelos fundacionales

Explore la biblioteca de modelos fundacionales de IBM en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.

Descubra watsonx.ai
Soluciones de inteligencia artificial

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.

Explore las soluciones de IA
Consultoría y servicios de IA

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.

Explore los servicios de IA
Dé el siguiente paso

Explore la biblioteca de modelos fundacionales de IBM en la cartera de IBM watsonx para escalar la IA generativa para su negocio con confianza.

Explore watsonx.ai Explore las soluciones de IA
Notas a pie de página

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