¿Qué es Llama 2?

19 de diciembre de 2023

Autores

Dave Bergmann

Senior Writer, AI Models, IBM

¿Qué es Llama 2?

Llama 2 es una familia de modelos de lenguaje grande (LLM) previamente entrenados y ajustados que lanzó Meta AI en 2023. Liberados de forma gratuita para investigación y uso comercial, los modelos de IA Llama 2 son capaces de una variedad de tareas de procesamiento de lenguaje natural (PLN), desde generación de texto hasta código de programación.

La familia de modelos Llama 2, que se ofrece como modelos fundacionales 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 señaló en el documento de investigación Llama 2 (enlace externo a ibm.com), aunque la metodología para el entrenamiento previo de LLM autorregresivos a través del aprendizaje autosupervisado es, por ahora, relativamente sencilla y bien entendida, los inmensos requisitos computacionales que conlleva 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 empresas emergentes y miembros de la comunidad de investigación, implementar instancias locales de modelos Llama 2 (o modelos basados en Llama desarrollados por la comunidad de IA) sin necesidad de inversiones en infraestructura o tiempo de computación prohibitivamente costosos.

Llama 2 vs. LLaMa 1

El documento de investigación de Llama 2 detalla varias ventajas de la nueva generación de modelos de IA que ofrece 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 de contexto (o ventana de contexto) se refiere al número máximo de tokens que el modelo puede "recordar" durante la inferencia (es decir, la generación de texto o una conversación continua). 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).
  • Entrenamiento más sólido: Llama 2 se entrenó previamente en un 40 % más de datos, lo que aumentó su base de conocimientos y su comprensión contextual. Además, a diferencia de Llama 1, los modelos de chat Llama 2 se ajustaron mediante el aprendizaje de refuerzo de feedback humano (RLHF), ayudando a alinear mejor las respuestas del modelo con las expectativas humanas.
Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA 


Descubra insights y noticias de expertos sobre IA, la 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 modelo para los modelos Llama 2 estén disponibles libremente para investigación y uso comercial, ciertas restricciones en su acuerdo de licencia han causado un debate sobre si se puede llamar correctamente "código abierto".

El debate es algo técnico y semántico: aunque “código abierto” se usa a menudo de manera coloquial 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 administrada por la Open Source Initiative ( OSI). La OSI solo certifica una licencia de software determinada como "aprobado por Open Source Initiative" si considera que la licencia cumple con 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". 1

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 (para ser concedida a exclusivo criterio de Meta). 2
  • La "Política de uso aceptable" prohíbe el uso de los modelos para la violencia, la actividad delictiva y la suplantación de identidad 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 de esfuerzo." 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 en 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 que pueden desbloquear nuevos ingresos, reducir costos y aumentar la productividad, luego use nuestra guía para investigar a profundidad.

¿Cómo funciona Llama 2?

Los modelos básicos de Llama 2 son modelos fundacionales previamente entrenados para ajustarse a casos de uso específicos, mientras que los modelos de chat de Llama 2 ya están optimizados para el diálogo.

Modelos básicos de Llama 2

Llama 2 es una familia de modelos lingüísticos causales autorregresivos basados en transformadores. Los modelos lingüísticos autorregresivos toman una secuencia de palabras como entrada y predicen de manera recursiva las siguientes palabras.

Durante el entrenamiento previo autosupervisado, los LLM reciben el comienzo de oraciones de muestra extraídas de un corpus masivo de datos sin etiquetar y se les asigna la tarea de predecir la siguiente palabra. Al entrenar el modelo para minimizar la divergencia entre la verdad fundamental (la siguiente palabra real) y sus propias predicciones, el modelo aprende a replicar patrones lingüísticos y lógicos en los datos de entrenamiento. Aunque el trabajo de investigación omite notablemente detalles sobre fuentes de datos específicas, afirma que Llama 2 fue entrenado con 2 billones de tokens (palabras representadas numéricamente, partes de palabras, frases y otros fragmentos semánticos que las redes neuronales basadas en transformadores utilizan para el procesamiento del lenguaje) de fuentes disponibles públicamente.

En un nivel fundamental, los modelos fundacionales no están entrenados previamente para responder realmente a una pregunta: le agregan texto de una manera gramaticalmente coherente. Un modelo fundacional listo para usar podría responder a un mensaje de “enséñame a hornear galletas” con “para una fiesta navideña”.Se requieren más ajustes, a través de técnicas como el aprendizaje supervisado y el aprendizaje por refuerzo, para entrenar un modelo fundacional para una aplicación específica como el diálogo, el seguimiento de instrucciones o la escritura creativa.

En cambio, los modelos base de Llama 2 están destinados a servir como base para construir un modelo específico de propósito. Hasta la fecha, los modelos Llama 2 (y la LLaMa original) han servido como base de varias LLM de código abierto prominentes, que incluyen:

  • 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 logró resultados competitivos con GPT-3.5 a pesar de costar solo USD 600 en recursos de cómputo.5
  • Vicuna: un modelo de asistente de chat de LMSYS Org, entrenado mediante el ajuste de Llama 2 13B en conversaciones de usuarios de ShareGPT (enlace externo a ibm.com). Superó a Alpaca en más del 90 % de los casos con un costo de entrenamiento de solo 300 USD.6
  • Orca: Una versión ajustada de Llama 2, capacitada por Microsoft utilizando un esquema "estudiante", 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: Afinado utilizando Evol-Instruct, un método para crear grandes cantidades de datos de instrucción sintética utilizando LLM, WizardLM alcanzó más del 90 % del rendimiento de ChatGPT en 17 de 29 skills evaluadas.8

Modelos de chat de Llama 2

Los modelos de chat Llama-2-son ajustados para casos de uso basados en diálogos, similares a las versiones específicas del modelo GPT utilizadas en ChatGPT.

El ajuste supervisado (SFT) se utilizó para preparar el modelo básico de Llama 2 previamente entrenado para generar respuestas en el formato esperado por los usuarios en un chatbot o un agente virtual. En una serie de tareas de aprendizaje supervisado, pares etiquetados de intercambios estilo diálogo, anotados como (instrucción, respuesta), se utilizan para entrenar al modelo para minimizar la divergencia entre su propia respuesta para una instrucción determinada y la respuesta de ejemplo proporcionada por los datos etiquetados. El modelo aprende así, por ejemplo, que la respuesta adecuada a un mensaje de “enséñame a hornear galletas” es proporcionar instrucciones reales para hornear galletas, en lugar de simplemente completar la oración.

En lugar de usar millones de ejemplos etiquetados, el documento establece que los resultados mejoraron usando "ejemplos menos pero de mayor calidad", señalando 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 humana 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 puede recopilar retroalimentación humana. La Meta AI utilizó un método simple de comparación binaria: a los anotadores humanos se les pidió que escribieran un indicador, luego eligieran entre dos respuestas de modelo —basadas en criterios proporcionados por Meta— generadas por dos variantes diferentes de Llama 2. Para ayudar al modelo de recompensa a ponderar adecuadamente estas opciones, también se pidió a los anotadores que calificaran el grado en que preferían su respuesta elegida sobre la otra: “significativamente mejor”, “ ligeramente mejor” o “insignificantemente mejor/inseguro.

Las preferencias humanas se utilizaron para entrenar dos modelos de recompensa separados: uno optimizado para la ayuda y el otro optimizado para la seguridad (es decir, evitar respuestas tóxicas y de odio o respuestas que podrían utilizarse para ayudar en la violencia o la actividad delictiva). Además de la optimización de políticas proximales (PPO), el algoritmo que normalmente se usa para actualizar los pesos del modelo LLM en RLHF, Meta también utilizó muestreo de rechazo (enlace externo a ibm.com) para actualizar Llama-2-chat-70b.

Código llama

Code Llama, construido sobre Llama 2, está ajustado para generar código (y lenguaje natural sobre el código) a partir de indicaciones basadas en código y basadas en lenguaje natural. Presentado poco después del lanzamiento de la base de llamadas 2 y 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 cuenta con una longitud de contexto de hasta 100.000 tokens. Dos variaciones adicionales, Code Llama - Python y Code Llama - Instruct, están afinadas para Python (y PyTorch) e instrucciones siguientes, respectivamente.

Llama 2 frente a modelos de código cerrado

En relación con sus competidores de código cerrado, los modelos Llama 2 se destacan en áreas como la seguridad y la precisión objetiva. Aunque Llama 2 puede no coincidir con las capacidades completas de modelos mucho más grandes, su disponibilidad abierta y mayor eficiencia presentan ventajas únicas.

Al comparar Llama 2 con los modelos patentados insignia de competidores como OpenAI, Anthropic y Google, es importante tener en cuenta 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 mil millones de parámetros.
  • Se estima que GPT-4 tiene 1 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 000 millones de parámetros.11
  • Anthropic no ha publicado los recuentos de parámetros para los modelos de Claude, pero un artículo reciente sugiere la existencia de una versión de 175 mil millones de parámetros de Claude 2.12

Evaluación humana

De acuerdo con el trabajo de investigación 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 ganancia del 36 % y una tasa de empate del 31.5 %. En relación con PaLM Bison, el segundo modelo PaLM más grande, 70B tenía una tasa de ganancia de más del 50 %.

Seguridad

En las pruebas de Meta, los modelos 7B, 13B y 70B Llama 2 tuvieron porcentajes de violación de seguridad significativamente menores que PALm Bison, 3 % y 4 %, en comparación con el 27% de PALM, así como porcentajes de violación de seguridad más bajos que el 7 % de ChatGPT. Se trata de un punto fuerte para los casos de uso empresarial, en los que el lenguaje tóxico, de odio o incendiario de los chatbots puede tener consecuencias importantes.

Privacidad y eficacia

Un beneficio inherente de los modelos abiertos más pequeños sobre los modelos masivos de código cerrado es la libertad de las empresas para ejecutar instancias locales del modelo y la rentabilidad para hacerlo sin inversiones masivas en infraestructura o computación en la nube. 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 múltiples proveedores.

  • Llama-2-13B-chat y Llama-2-70B-chat se encuentran entre los muchos modelos fundacionales disponibles en watsonx, a través de 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 aprendizaje automático 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 empresas emergentes 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

Reinvente los flujos de trabajo y las operaciones críticas mediante la incorporación de IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

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

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

All links reside outside 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", Open Source Initiative, última modificación 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