noticias

Desafiando la ley de escala, Meta lanza MobileLLM, un modelo pequeño de 350 millones en el lado móvil, con un rendimiento comparable al 7B LLaMA-v

2024-07-22

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Nuevo informe de sabiduría

Editor: Qiao Yang

[Introducción a la Nueva Sabiduría] La Ley de Escalamiento aún no ha llegado a su fin y los “modelos pequeños” se han convertido gradualmente en una tendencia a la que los gigantes tecnológicos se están poniendo al día. La serie MobileLLM lanzada recientemente por Meta incluso se ha reducido en escala a menos de 1B. Las dos versiones solo tienen parámetros de 125M y 350M respectivamente, pero han logrado un mejor rendimiento que los modelos de mayor escala.

En las conferencias de prensa de varios gigantes tecnológicos en mayo y junio ya podemos sentir vagamente una importante tendencia de desarrollo de la IA: desde los centros de datos en la nube hasta los usuarios individuales, desde los grandes servidores hasta los portátiles y los dispositivos móviles.

Seguir la Ley de Escala ya no es la única manera, y la historia de los modelos que "toman poco para ganar en grande" continúa desarrollándose.

Primero Microsoft lo actualizó; luego Google lo usó.

En términos de hardware, hemos visto que las funciones de IA se integran gradualmente profundamente con los productos electrónicos.

Por ejemplo, la infame función Recall de Microsoft es una parte importante de ellos; Apple también ha lanzado aplicaciones bajo el paraguas de Apple Intelligence, esforzándose por integrarse perfectamente con iOS.

Hoy en día, los parámetros de LLM suelen alcanzar decenas de miles de millones. Los parámetros de Apple 3B ya son muy pequeños, pero todavía existe un umbral alto para dispositivos móviles como los teléfonos móviles.

No solo utiliza un modelo de compresión de precisión mixta de 2 y 4 bits (promedio de 3,5 bits por peso), sino que también requiere al menos 8G de memoria y un chip M1 para funcionar.

Un artículo publicado recientemente por Meta muestra que la cantidad de parámetros se puede reducir aún más. La cantidad de parámetros del modelo MobileLLM recientemente propuesto es inferior a 1B, pero el rendimiento sigue siendo impresionante.


Dirección del artículo: https://arxiv.org/abs/2402.14905

LeCun también tuiteó personalmente para respaldar esta investigación, elogiando una serie de operaciones que redujeron la cantidad de parámetros.


Este documento fue aceptado por ICML 2024 y el código de entrenamiento del modelo fue de código abierto en GitHub.


Dirección de GitHub: https://github.com/facebookresearch/MobileLLM

Introducción

Primero hagamos una hipótesis. Si GPT-4 (con aproximadamente 1 billón de parámetros) se implementa en la vida con una velocidad de inferencia de 50 tokens/s, ¿qué tipo de hardware se necesita?

La respuesta es 100 millones de GPU H100. Por no hablar de los dispositivos móviles, no se pueden colocar en casa.

Entonces, ¿qué pasa si bajamos el estándar y utilizamos un modelo como LLaMA-v2 7B, junto con una cuantificación de 8 bits?

Un cálculo simple muestra que solo almacenar los parámetros del modelo requiere alrededor de 7 GB, pero no es espacio de almacenamiento, sino un valioso espacio de memoria operativa (DRAM).


Además, el modelo AI no puede ocupar completamente la DRAM. Teniendo en cuenta el funcionamiento del sistema operativo y otras aplicaciones, la proporción de memoria LLM no puede exceder el 10%.

Según las estadísticas de la Figura 2, los dispositivos móviles lanzados recientemente por varias marcas generalmente están equipados con entre 6 y 12 GB de DRAM. Esto significa que si desea implementarlo con éxito en un teléfono móvil, el tamaño del parámetro del modelo debe reducirse a <1B.

No sólo el almacenamiento, sino también el consumo de energía es un gran problema. El consumo de energía del modelo 7B es de aproximadamente 0,7 J/token, y un iPhone completamente cargado tiene aproximadamente 50 kJ de desperdicio. Calculado, si la velocidad de generación es de 10 tokens/s, una carga completa de tu teléfono móvil sólo te permitirá hablar con el modelo durante 2 horas.

Según las consideraciones anteriores, es una opción más ideal implementar un modelo <1B en el terminal móvil. Por lo tanto, el tamaño del parámetro de MobileLLM se posiciona en 125M/350M, que es un orden de magnitud menor que el modelo 3B de Apple. Se puede decir que es el "mini entre minis".

Pero no se deje limitar por la ley de escala. Los parámetros pequeños no significan capacidades débiles. La importancia de la arquitectura del modelo debería volver a estar en nuestra mira.


MobileLLM no sólo logra rendimiento SOTA en modelos del mismo tamaño, sino que también propone que la profundidad de la arquitectura sea más importante que el ancho. Un modelo pequeño "profundo y estrecho" y "delgado" también puede aprender conceptos abstractos.

Arquitectura y métodos

Con solo parámetros de 125M/350M, cómo optimizar el diseño de la arquitectura dentro de un rango limitado se ha convertido en un tema importante.

Para LLM <1B, el autor ha explorado 4 técnicas efectivas de diseño de arquitectura.

1) Utilice la red de retroalimentación SwiGLU

2) Haga que la forma general de la red sea "larga y estrecha", es decir, profunda y estrecha.

3) Reutilizar el método de compartir incrustado

4) Utilice el mecanismo de atención de consultas agrupadas (atención de consultas agrupadas)


Sobre esta base, el autor también propuso un método de intercambio de capas por bloques, que puede mejorar aún más la precisión del modelo sin introducir una sobrecarga de memoria adicional, pero a costa de aumentar el retraso de inferencia del proceso de decodificación.

Este modelo con mecanismo agregado para compartir capas se denomina MobileLLM-LS.

Refutar la ley de escala: el diseño arquitectónico de modelos pequeños es muy importante

El documento que propone la Ley de Escalamiento en 2020 cree que la cantidad de datos de entrenamiento, la cantidad de parámetros y la cantidad de iteraciones de entrenamiento son los factores clave que determinan el rendimiento, y el impacto de la arquitectura del modelo casi puede ignorarse.

Sin embargo, el autor de este artículo propuso mediante experimentos comparativos que esta ley no se aplica a modelos pequeños.

Cuando los parámetros del modelo se fijan en 125M o 350M, el modelo "estrecho" con 30 a 42 capas tiene un rendimiento significativamente mejor que el modelo "corto y grueso" con aproximadamente 12 capas (Figura 4), en razonamiento, preguntas y respuestas de sentido común. , comprensión lectora, etc. 8 Hay tendencias similares en todos los puntos de referencia.


En realidad, este es un descubrimiento muy interesante, porque en el pasado, al diseñar arquitecturas para modelos pequeños del orden de 125M, generalmente no apilaban más de 12 capas.

¿Por qué volver al “código compartido”?

El método de "incorporación compartida" fue propuesto por primera vez por modelos pequeños como OPT, porque los parámetros de la capa de codificación en el modelo pequeño representan una proporción considerable.

Por ejemplo, en un modelo de 125M, se utiliza codificación con una longitud de contexto de 32k y una dimensión de 512. Las capas de codificación de entrada y salida contienen 16M de parámetros, lo que representa el 20%.

En comparación, el número de parámetros de la capa de codificación de modelos grandes es insignificante. Por ejemplo, en LLaMA-7B, esta proporción cayó al 3,7%, y en LLaMA-70B, fue incluso solo del 0,7%. Por lo tanto, la codificación compartida es prescindible para LLM.

La obsolescencia del código compartido en la era de los modelos grandes no significa que esta tecnología ya no sea adecuada para modelos pequeños. Puede hacer que la arquitectura del modelo sea más compacta y eficiente.

Como se muestra en la Tabla 1, después de compartir el código, el modelo aún mantuvo su rendimiento original en general al tiempo que redujo la cantidad total de parámetros en 16 millones, e incluso mejoró en algunos puntos de referencia.


mecanismo de intercambio de capas

Como se mencionó anteriormente, los resultados experimentales del artículo encontraron que hacer que los modelos pequeños sean "delgados" es beneficioso para mejorar el rendimiento. Entonces el autor pensó: si se introduce un mecanismo para compartir capas, ¿no sería equivalente a aumentar la profundidad del modelo manteniendo sin cambios el número total de parámetros?

Los experimentos han demostrado que este método de hecho puede mejorar el rendimiento, y el documento también comparó diferentes métodos para compartir capas (Figura 6). Al final, después de sopesar la memoria del dispositivo, el rendimiento y la latencia de inferencia, se compartieron inmediatamente por bloques. , Figura 6b).


Experimento de evaluación

El autor construyó modelos MobileLLM/MobileLLM-LS con parámetros de 125M y 350M y los entrenó en un conjunto de datos de 1T.

El modelo previamente entrenado se prueba en múltiples conjuntos de datos con cero muestras, incluidos puntos de referencia comúnmente utilizados como ARC-easy, ARCchallenge, HellaSwag, WinoGrande, TQA y RACE.

La Tabla 3 muestra los resultados de la evaluación del razonamiento de sentido común de muestra cero. La serie MobileLLM básicamente ha logrado SOTA integral, no solo superando a los modelos clásicos lanzados anteriormente como OPT y BLOOM, sino también mejor que el GPT-neo, Galactica, lanzado recientemente. RWKV y otros parámetros. Modelo más grande.


En términos de respuesta a preguntas y comprensión lectora, MobileLLM todavía tiene un buen desempeño (Tabla 4). En comparación con otros modelos, el 125M y el 325M MobileLLM tienen una mejora de >6,4 puntos y alrededor de 10 puntos en TQA respectivamente.

Tareas posteriores

Además de obtener puntuaciones en las pruebas comparativas, el documento también tiene en cuenta los diversos requisitos del modelo al implementar escenarios de aplicaciones y realiza las evaluaciones correspondientes.

AlpacaEval y MT-Bench prueban respectivamente el rendimiento del modelo en tareas de chat de una y varias rondas. En comparación con los otros tres modelos básicos, MobileLLM sigue teniendo el mejor rendimiento e incluso puede utilizar parámetros de 350M para superar el rendimiento de otros. parámetro >modelos 1B.


Excepto por el diálogo, en el escenario de llamada API, la puntuación EM de MobileLLM puede igualar la de LLaMA-v2 con parámetros 7B.


Además, MobileLLM también es muy compatible con la cuantificación (PTQ). Después de la cuantificación W8A8, el rendimiento del modelo cayó menos de 0,5 puntos y aún es compatible con el mecanismo de uso compartido de capas, por lo que puede adaptarse a la implementación en condiciones de hardware más estrictas.


Sobre el Autor

El autor correspondiente de este artículo, Zechun Liu, es científico investigador de Meta Reality Labs. Se graduó de la Universidad de Fudan con una licenciatura y un doctorado de la Universidad de Ciencia y Tecnología de Hong Kong. Antes de unirse a Meta, trabajó como investigadora visitante en la CMU durante más de dos años.


Los intereses de investigación de Zechun son la aplicación del aprendizaje profundo en escenarios de la vida real, como las limitaciones de recursos insuficientes, el equilibrio entre recursos informáticos y precisión, etc., con un enfoque en la binarización y cuantificación de la red, la poda de canales de red y la arquitectura. diseño y destilación de conocimientos, etc.

Referencias:

https://x.com/ylectun/status/1810035281472491665

https://arxiv.org/abs/2402.14905