Fecha de publicación: 19 de diciembre de 2023
Colaboradores: Dave Bergmann
Llama 2 es una familia de modelos de lenguaje grande (LLM) previamente capacitados y ajustados lanzados por 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 (NLP), 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 pre-entrenamiento 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.
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.
Descubra el poder de integrar una estrategia de data lakehouse (arquitectura que combina los beneficios de los data lakes [lagos de datos] y de los almacenes de datos) en su arquitectura de datos, incluyendo mejoras para escalar la IA y oportunidades de optimización de costos.
Regístrese para obtener el informe de IDC
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 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 administrada por la Open Source Initiative ( OSI). El OSI solo certifica una licencia de software determinada como "Open Source Initiative aprobado" 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:
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 en la comunidad tecnológica han utilizado el término "enfoque abierto". 4
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.
Llama 2 es una familia de modelos de lenguaje causales autorregresivos basados en transformadores. Los modelos autorregresivos del lenguaje toman una secuencia de palabras como entrada y predicen recursivamente, como salida, la(s) palabra(s) siguiente(s).
Durante el entrenamiento previoautosupervisado, 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:
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 fino supervisado (SFT) se utilizó para preparar el modelo básico de Llama 2 previamente capacitado 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, etiquetadas pares de intercambios estilo diálogo, anotadas como (pronta, respuesta), se utilizan para capacitar al modelo para minimizar la divergencia entre su propia respuesta para un aviso determinado 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 retroalimentación humana (RLHF) para alinear aún más el comportamiento de los modelos de chat con las preferencias e instrucciones humanas. En RLHF, la retroalimentación humana directa 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, el otro optimizado para la seguridad (i.e. 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 reside fuera de ibm.com) para actualizar Llama-2-chat-70b.
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.
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:
Evaluación humana
Según el documento de investigación de Llama 2, los evaluadores humanos prefieren 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, odioso o incendiario de los chatbots puede tener consecuencias importantes.
Privacidad y eficiencia
Una ventaja inherente de los modelos más pequeños y abiertos sobre los modelos masivos de código cerrado es la libertad de las empresas para ejecutar instancias de modelos locales y la rentabilidad de 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.
Llama 2 no tiene su propia API dedicada, pero es accesible a través de múltiples proveedores.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con facilidad, y cree aplicaciones de IA en una fracción del tiempo con un fragmento de los datos.
Brinde una atención al cliente congruente e inteligente en todos los canales y puntos de contacto con IA conversacional.
Reimagine su forma de trabajar con IA: nuestro equipo global y diverso de más de 20 000 expertos puede ayudarle a diseñar y escalar la IA y la automatización en su empresa con rapidez y confianza, trabajando con nuestra propia tecnología IBM watsonx y un ecosistema abierto de socios para ofrecer cualquier modelo de IA, en cualquier nube, guiado por la ética y la confianza.
Aprenda más sobre Llama 2 y el tema más amplio de los modelos fundacionales.
Los modelos modernos de IA que ejecutan tareas específicas en un solo dominio están dando paso a otros que aprenden de manera más general y funcionan en todos los dominios y problemas. Los modelos fundacionales, entrenados en grandes conjuntos de datos sin etiquetar y ajustados para una variedad de aplicaciones, están impulsando este cambio.
Descubra cómo IBM está desarrollando modelos fundacionales generativos que son confiables, energéticamente eficientes y portátiles, lo que permite a las empresas mover cargas de trabajo de IA perfectamente entre nubes públicas y privadas.
Explore el proceso de codificación de valores y objetivos humanos en grandes modelos de lenguaje para hacerlos lo más útiles, seguros y confiables posible. A través de la alineación, las empresas pueden adaptar los modelos de IA para que sigan sus reglas y políticas comerciales.
Todos los enlaces residen fuera de ibm.com.
1 "La licencia LLaMa 2 de Meta no es de código abierto", Voices of Open Source, 20 de julio de 2023
2 "Acuerdo de licencia comunitaria de Llama 2 ", Meta, 18 de julio de 2023
3 "The Open Source Definition", Open Source Initiative, última modificación 22 feb 2023
4 "Declaración de apoyo al enfoque abierto de Meta para la IA actual ", Meta, 18 de julio de 2023
5 "Alpaca: A Strong, Replicable Instruction-Following Model", Stanford CRFM, 13 Mar 2023
6 "Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality", LMSYS Org, 30 Mar 2023
7 " Orca-2: Enseñar a modelos lingüísticos pequeños a razonar", Microsoft, Nov 2023
8 " WizardLM : Empowering Large Language Models to Follow Complex Instructions", arXiv, 10 de junio de 2023
9 "La historia secreta de Elon Musk, Sam Altman y OpenAI," Semafor, 24 de marzo de 2023
10 "El modelo de inteligencia artificial más reciente de Google utiliza casi cinco veces más datos de texto para entrenarse que su predecesor", CNBC, 16 de mayo de 2023
11 "Pathways Language Model (PaLM): Escalado a 540.000 millones de parámetros para un rendimiento sin precedentes", Google, 4 de abril de 2023
12 "The Capacity for Moral Self-Correction in Large Language Models," arXiv, 18 Feb 2023