Meta

Llama 3.2: revolucionando la IA y la visión de vanguardia con modelos abiertos y personalizables

Destacados: 

  • Hoy lanzamos Llama 3.2, que incluye LLM de visión pequeños y medianos (11B y 90B) y modelos ligeros de sólo texto (1B y 3B) que se adaptan a dispositivos móviles y de gama alta, incluidas versiones preentrenadas y ajustadas a las instrucciones.
  • Los modelos Llama 3.2 1B y 3B admiten una longitud de contexto de tokens de 128 K y son los más avanzados de su clase para casos de uso en el dispositivo, como la recuperación y el resumen de conocimientos multilingües, el seguimiento de instrucciones y las tareas de reescritura realizadas localmente en el borde. Estos modelos están habilitados para hardware Qualcomm y MediaTek y optimizados para procesadores ARM.
  • Respaldados por un amplio ecosistema, los modelos de visión Llama 3.2 11B y 90B son sustitutos inmediatos de sus correspondientes homólogos de modelos de texto, al tiempo que destacan en tareas de comprensión de imágenes en comparación con modelos cerrados como Claude 3 Haiku. A diferencia de otros modelos multimodales abiertos, los modelos pre-entrenados y alineados están disponibles para ser ajustados para aplicaciones personalizadas utilizando torchtune, y también están disponibles para ser probados utilizando nuestro asistente Meta AI.
  • Compartimos la primera distribución oficial de Llama Stack, que simplificará enormemente la forma en que los desarrolladores trabajan con los modelos Llama. Se incluye una estrecha integración con un conjunto completo de bibliotecas PyTorch, incluyendo ExecuTorch para el desarrollo en el dispositivo.
  • También hemos estado trabajando en estrecha colaboración con socios como AWS, Databricks, Dell, Fireworks, Infosys y Together AI, que aprovecharán Llama Stack para crear distribuciones para clientes empresariales posteriores, permitiendo el despliegue inmediato de aplicaciones de generación aumentada de recuperación (RAG) y habilitadas para herramientas.
  • Seguimos compartiendo nuestro trabajo porque creemos que la apertura impulsa la innovación y es buena para los desarrolladores, Meta y el mundo. Llama ya está liderando el camino de la apertura, la modificabilidad y la eficiencia de costes, permitiendo que más personas tengan avances creativos, útiles y transformadores utilizando la IA generativa.
  • Estamos haciendo que los modelos Llama 3.2 estén disponibles para su descarga en llama.com y Hugging Face, así como disponibles para su desarrollo inmediato en nuestro amplio ecosistema de plataformas asociadas, incluyendo AMD, AWS, Databricks, Dell, Google Cloud, Groq, IBM, Intel, Microsoft Azure, NVIDIA NIM, Oracle Cloud, Snowflake y más.

Estamos entusiasmados con el impacto que ha tenido el grupo de modelos Llama 3.1 en los dos meses transcurridos desde su lanzamiento, incluido el 405B, el primer modelo de IA abierta a nivel de frontera. Aunque estos modelos son increíblemente potentes, somos conscientes de que su implementación requiere recursos informáticos y experiencia significativos. También hemos recibido comentarios de desarrolladores que no tienen acceso a estos recursos, pero que aún así desean la oportunidad de trabajar con Llama. Como ha compartido hoy Mark Zuckerberg en Connect, ya no tendrán que esperar más. Hoy lanzamos Llama 3.2, que incluye LLM de visión pequeños y medianos (11B y 90B) y modelos ligeros solo de texto (1B y 3B) que se adaptan a determinados dispositivos móviles y de borde.

Sólo ha pasado un año y medio desde que anunciamos Llama por primera vez, y hemos hecho progresos increíbles en tan poco tiempo. Este año, Llama ha multiplicado por 10 su crecimiento y se ha convertido en el estándar de la innovación responsable. Además, Llama sigue siendo líder en apertura, modificabilidad y rentabilidad, y compite con los modelos cerrados, incluso a la cabeza en algunas áreas. Creemos que la apertura impulsa la innovación y es el camino correcto, por eso seguimos compartiendo nuestra investigación y colaborando con nuestros socios y la comunidad de desarrolladores.

Los modelos de Llama 3.2 se pueden descargar en llama.com y Hugging Face, y están disponibles para su desarrollo inmediato en nuestro amplio ecosistema de plataformas asociadas. Los socios son una parte importante de este trabajo, y hemos trabajado con más de 25 empresas, entre ellas AMD, AWS, Databricks, Dell, Google Cloud, Groq, IBM, Intel, Microsoft Azure, NVIDIA, Oracle Cloud y Snowflake, para habilitar los servicios desde el primer día. Para la versión Llama 3.2, también estamos trabajando con los socios de dispositivos Arm, MediaTek y Qualcomm para ofrecer una amplia gama de servicios en el lanzamiento. A partir de hoy, también pondremos Llama Stack a disposición de la comunidad. Para más detalles sobre la última versión, incluida información sobre la disponibilidad multimodal en Europa, consulta nuestra política de uso aceptable.

Conoce Llama 3.2

Los dos modelos más grandes de la colección Llama 3.2, el 11B y el 90B, admiten casos de uso de razonamiento de imágenes, como la comprensión a nivel de documentos, incluidos cuadros y gráficos, el subtitulado de imágenes y tareas de fundamentación visual, como la localización direccional de objetos en imágenes a partir de descripciones en lenguaje natural. Por ejemplo, una persona podría preguntar en qué mes del año anterior su pequeña empresa tuvo las mejores ventas, y Llama 3.2 podría razonar basándose en un gráfico disponible y proporcionar rápidamente la respuesta. En otro ejemplo, el modelo podría razonar con un mapa y ayudar a responder preguntas como cuándo una caminata puede volverse más empinada o la distancia de un sendero concreto marcada en el mapa. Los modelos 11B y 90B también pueden tender un puente entre la visión y el lenguaje extrayendo detalles de una imagen, comprendiendo la escena y, a continuación, elaborando una o dos frases que podrían utilizarse como pie de foto para ayudar a contar la historia.

Los modelos ligeros 1B y 3B tienen una gran capacidad de generación de texto multilingüe y de llamada a herramientas. Estos modelos permiten a los desarrolladores crear aplicaciones personalizadas, con una gran privacidad y en las que los datos nunca salen del dispositivo. Por ejemplo, una aplicación de este tipo podría ayudar a resumir los 10 últimos mensajes recibidos, extraer elementos de acción y aprovechar la llamada a herramientas para enviar directamente invitaciones de calendario para reuniones de seguimiento.

Ejecutar estos modelos localmente tiene dos grandes ventajas. En primer lugar, las solicitudes y respuestas pueden parecer instantáneas, ya que el procesamiento se realiza localmente. En segundo lugar, al ejecutar los modelos localmente se mantiene la privacidad, ya que no se envían datos como mensajes e información del calendario a la nube, lo que hace que la aplicación en general sea más privada. Dado que el procesamiento se realiza localmente, la aplicación puede controlar claramente qué consultas permanecen en el dispositivo y cuáles pueden tener que ser procesadas por un modelo mayor en la nube.

Evaluación de los modelos

Nuestra evaluación sugiere que los modelos de visión Llama 3.2 son competitivos con los principales modelos de base, Claude 3 Haiku y GPT4o-mini en el reconocimiento de imágenes y en una serie de tareas de comprensión visual. El modelo 3B supera a los modelos Gemma 2 2.6B y Phi 3.5-mini en tareas como el seguimiento de instrucciones, el resumen, la reescritura de instrucciones y el uso de herramientas, mientras que el 1B es competitivo con Gemma.

Evaluamos el rendimiento en más de 150 conjuntos de datos de referencia que abarcan una amplia gama de lenguajes. En el caso de los LLM de visión, evaluamos el rendimiento en pruebas de comprensión de imágenes y razonamiento visual. Además, hemos realizado evaluaciones humanas exhaustivas que comparan Llama 3.2 con modelos de la competencia en situaciones reales. 

Modelos de visión

Al ser los primeros modelos Llama que admiten tareas de visión, los modelos 11B y 90B requerían una arquitectura de modelo completamente nueva que admitiera el razonamiento por imágenes. 

Para añadir soporte de entrada de imágenes, entrenamos un conjunto de pesos adaptadores que integran el codificador de imágenes preentrenado en el modelo de lenguaje preentrenado. El adaptador consiste en una serie de capas de atención cruzada que introducen las representaciones del codificador de imágenes en el modelo de lenguaje. Entrenamos el adaptador en pares texto-imagen para alinear las representaciones de la imagen con las del lenguaje. Durante el entrenamiento del adaptador, también actualizamos los parámetros del codificador de imágenes, pero intencionadamente no actualizamos los parámetros del modelo lingüístico. De este modo, mantenemos intactas todas las funciones de sólo texto y proporcionamos a los desarrolladores un sustituto directo para los modelos Llama 3.1.  

Nuestro proceso de formación consta de varias etapas, partiendo de modelos de texto Llama 3.1 preformados. En primer lugar, añadimos adaptadores y codificadores de imágenes y, a continuación, realizamos un preentrenamiento con datos de pares ruidosos (imagen, texto) a gran escala. A continuación, realizamos el entrenamiento con datos de pares (imagen, texto) a media escala de alta calidad en el dominio y mejorados por el conocimiento.

En el postentrenamiento, utilizamos una receta similar a la de los modelos de texto, realizando varias rondas de alineación sobre ajuste fino supervisado, muestreo de rechazo y optimización directa de preferencias. Aprovechamos la generación de datos sintéticos mediante el modelo Llama 3.1 para filtrar y aumentar las preguntas y respuestas sobre imágenes del dominio, y utilizamos un modelo de recompensa para clasificar todas las respuestas candidatas con el fin de proporcionar datos de ajuste de alta calidad. También añadimos datos de mitigación de la seguridad para producir un modelo con un alto nivel de seguridad al tiempo que se conserva la utilidad del modo. 

El resultado final es un conjunto de modelos que pueden aceptar tanto mensajes de imagen como de texto, y que comprenden y razonan profundamente sobre la combinación. Se trata de un paso más para que los modelos Llama tengan capacidades agenticas aún más ricas. 

Modelos ligeros

Como hemos compartido sobre Llama 3.1, los potentes modelos de profesores pueden aprovecharse para crear modelos más pequeños con un rendimiento mejorado. Hemos utilizado dos métodos -la poda y la destilación- en los modelos 1B y 3B, convirtiéndolos en los primeros modelos Llama ligeros de gran capacidad que caben en dispositivos de forma eficiente. 

La poda nos ha permitido reducir el tamaño de los modelos existentes en la manada Llama, recuperando al mismo tiempo todo el conocimiento y el rendimiento posibles. Para los modelos 1B y 3B, adoptamos el enfoque de utilizar la poda estructurada de una sola vez a partir del Llama 3.1 8B. Esto implicó eliminar sistemáticamente partes de la red y ajustar la magnitud de los pesos y gradientes para crear un modelo más pequeño y eficiente que conserve el rendimiento de la red original.

La destilación de conocimientos utiliza una red más grande para impartir conocimientos en una red más pequeña, con la idea de que un modelo más pequeño puede lograr un mejor rendimiento utilizando un maestro que el que podría lograr partiendo de cero. Para los modelos 1B y 3B de Llama 3.2, incorporamos logits de los modelos 8B y 70B de Llama 3.1 en la fase de preentrenamiento del desarrollo del modelo, en la que los resultados (logits) de estos modelos más grandes se utilizaron como objetivos a nivel de token. La destilación de conocimientos se utilizó después de la poda para recuperar el rendimiento.

En el post-entrenamiento, utilizamos una receta similar a la de Llama 3.1 y producimos modelos de chat finales realizando varias rondas de alineación sobre el modelo pre-entrenado. Cada ronda implica un ajuste fino supervisado (SFT), un muestreo de rechazo (RS) y una optimización directa de preferencias (DPO).

En el postentrenamiento, ampliamos el soporte de longitud de contexto a 128.000 tokens, manteniendo la misma calidad que el modelo preentrenado. También generamos datos sintéticos que procesamos y filtramos cuidadosamente para garantizar una alta calidad. Mezclamos cuidadosamente los datos para optimizar la alta calidad en múltiples capacidades como el resumen, la reescritura, el seguimiento de instrucciones, el razonamiento lingüístico y el uso de herramientas.

Para que la comunidad pueda innovar en estos modelos, hemos trabajado en estrecha colaboración con Qualcomm y Mediatek, las dos principales empresas de sistemas móviles en un chip (SoC) del mundo, y Arm, que proporciona la plataforma informática fundamental para el 99% de los dispositivos móviles. Las ponderaciones que se publican hoy se basan en números BFloat16. Nuestros equipos están explorando variantes cuantizadas que funcionen aún más rápido, y esperamos compartir más sobre esto pronto.

Distribuciones Llama Stack

En julio, lanzamos una solicitud de comentarios sobre la API Llama Stack, una interfaz estandarizada para componentes canónicos de la cadena de herramientas (ajuste fino, generación de datos sintéticos) para personalizar los modelos Llama y construir aplicaciones agénticas.

Desde entonces, hemos estado trabajando duro para hacer realidad la API. Hemos creado una implementación de referencia de las API para inferencia, uso de herramientas y GAR. Además, hemos estado trabajando con socios para adaptarlos y convertirlos en proveedores de las API. Por último, hemos introducido Llama Stack Distribution como forma de empaquetar varios proveedores de API que funcionan bien juntos para ofrecer un único punto final a los desarrolladores. Ahora compartimos con la comunidad una experiencia simplificada y coherente que les permitirá trabajar con modelos Llama en múltiples entornos, incluidos on-prem, cloud, single-node y on-device.

El conjunto completo de versiones incluye:

  1. Llama CLI (interfaz de línea de comandos) para construir, configurar y ejecutar distribuciones Llama Stack.
  2. Código cliente en varios lenguajes, incluidos python, node, kotlin y swift
  3. Contenedores Docker para Llama Stack Distribution Server y Agents API Provider
  4. Múltiples distribuciones
    1. Distribución Llama Stack de nodo único a través de la implementación interna de Meta y Ollama
    2. Distribuciones de Llama Stack en la nube a través de AWS, Databricks, Fireworks y Together
    3. Distribución de Llama Stack en dispositivos iOS implementada a través de PyTorch ExecuTorch
    4. Distribución Llama Stack on-prem respaldada por Dell

Queremos trabajar con desarrolladores y socios para simplificar todos los aspectos de la construcción con modelos Llama y agradecemos sus comentarios.

Adoptar un enfoque abierto tiene muchas ventajas. Ayuda a garantizar que más personas de todo el mundo puedan acceder a las oportunidades que ofrece la IA, evita la concentración de poder en manos de unos pocos y despliega la tecnología de forma más equitativa y segura en toda la sociedad. A medida que seguimos innovando, también queremos asegurarnos de que capacitamos a los desarrolladores para crear sistemas seguros y responsables.

Basándonos en nuestra anterior publicación y en nuestro esfuerzo continuo por apoyar la innovación responsable, hoy añadimos nuevas actualizaciones a nuestra familia de salvaguardas:

Estas nuevas soluciones están integradas en nuestras implementaciones de referencia, demostraciones y aplicaciones, y están listas para que la comunidad de código abierto las utilice desde el primer día.

Prueba Llama 3.2 hoy mismo

Llama 3.2 está preparada para llegar a más gente que nunca y permitir nuevos e interesantes casos de uso. Creemos que no basta con compartir estos modelos con la comunidad de código abierto. Queremos asegurarnos de que los desarrolladores también tienen las herramientas que necesitan para construir con Llama de forma responsable. Como parte de nuestros continuos esfuerzos de publicación responsable, estamos ofreciendo a los desarrolladores nuevas herramientas y recursos, y como siempre, actualizaremos las mejores prácticas en nuestra Guía de Uso Responsable.

Seguimos compartiendo los últimos avances en el ecosistema Llama porque creemos que la apertura impulsa la innovación y es buena para los desarrolladores, Meta y el mundo. Estamos muy contentos de continuar las conversaciones que estamos teniendo con nuestros socios y la comunidad de código abierto, y como siempre, no podemos esperar a ver lo que la comunidad construye utilizando Llama 3.2 y Llama Stack.

Este trabajo ha contado con el apoyo de nuestros socios de la comunidad de IA. Nos gustaría dar las gracias y reconocer (en orden alfabético) a: Accenture, AMD, Arm, AWS, Cloudflare, Databricks, Dell, Deloitte, Fireworks.ai, Google Cloud, Groq, Hugging Face, IBM watsonx, Infosys, Intel, Kaggle, Lenovo, LMSYS, MediaTek, Microsoft Azure, NVIDIA, OctoAI, Ollama, Oracle Cloud, PwC, Qualcomm, Sarvam AI, Scale AI, Snowflake, Together AI y UC Berkeley – vLLM Project.