Modelos y plataformas de IA

OLMo: Mejorando la Ciencia de los Modelos de Lenguaje

mm
Añade Unite.AI a tus fuentes preferidas en Google

El desarrollo y progreso de los modelos de lenguaje en los últimos años han marcado su presencia casi en todas partes, no solo en la investigación de NLP, sino también en ofertas comerciales y aplicaciones del mundo real. Sin embargo, el aumento en la demanda comercial de modelos de lenguaje ha obstaculizado, en cierta medida, el crecimiento de la comunidad. Esto se debe a que la mayoría de los modelos estatales de vanguardia y capaces están detrás de interfaces propietarias, lo que hace imposible para la comunidad de desarrollo acceder a detalles vitales de su arquitectura de entrenamiento, datos y procesos de desarrollo. Ahora es innegable que estos detalles de entrenamiento y estructurales son cruciales para los estudios de investigación, incluyendo el acceso a sus riesgos y sesgos potenciales, lo que crea una necesidad para que la comunidad de investigación tenga acceso a un modelo de lenguaje verdaderamente abierto y poderoso.

Para satisfacer esta necesidad, los desarrolladores han creado OLMo, un marco de modelo de lenguaje estatal de vanguardia y verdaderamente abierto. Este marco permite a los investigadores utilizar OLMo para construir y estudiar modelos de lenguaje. A diferencia de la mayoría de los modelos de lenguaje estatales de vanguardia, que solo han lanzado código de interfaz y pesos de modelo, el marco OLMo es de código abierto, con código de evaluación, métodos de entrenamiento y datos de entrenamiento accesibles públicamente. El objetivo principal de OLMo es empoderar y potenciar a la comunidad de investigación abierta y el desarrollo continuo de los modelos de lenguaje.

En este artículo, discutiremos el marco OLMo en detalle, examinando su arquitectura, metodología y rendimiento en comparación con los marcos estatales de vanguardia actuales. Así que comencemos.

OLMo: Mejorando la Ciencia de los Modelos de Lenguaje

El modelo de lenguaje ha sido, sin duda, la tendencia más caliente en los últimos años, no solo dentro de la comunidad de IA y ML, sino también en toda la industria tecnológica, debido a sus capacidades notables para realizar tareas del mundo real con un rendimiento similar al humano. ChatGPT es un ejemplo principal del potencial que poseen los modelos de lenguaje, con importantes jugadores de la industria tecnológica que exploran la integración de modelos de lenguaje con sus productos.

NLP, o Procesamiento de Lenguaje Natural, es una de las industrias que ha empleado ampliamente modelos de lenguaje en los últimos años. Sin embargo, desde que la industria comenzó a emplear anotación humana para alineación y preentrenamiento a gran escala, los modelos de lenguaje han presenciado una mejora rápida en su viabilidad comercial, lo que ha resultado en que la mayoría de los marcos de lenguaje y NLP estatales de vanguardia tengan interfaces propietarias restringidas, con la comunidad de desarrollo sin acceso a detalles vitales.

Para garantizar el progreso de los modelos de lenguaje, OLMo, un modelo de lenguaje estatal de vanguardia y verdaderamente abierto, ofrece a los desarrolladores un marco para construir, estudiar y avanzar en el desarrollo de los modelos de lenguaje. También proporciona a los investigadores acceso a su código de entrenamiento y evaluación, metodología de entrenamiento, datos de entrenamiento, registros de entrenamiento y puntos de control de modelo intermedios. Los modelos estatales de vanguardia existentes tienen diferentes grados de apertura, mientras que el modelo OLMo ha lanzado todo el marco, desde el entrenamiento hasta los datos y las herramientas de evaluación, lo que reduce la brecha de rendimiento en comparación con los modelos estatales de vanguardia como el modelo LLaMA2.

Para el modelado y el entrenamiento, el marco OLMo incluye el código de entrenamiento, los pesos de modelo completos, las ablaciones, los registros de entrenamiento y las métricas de entrenamiento en forma de código de interfaz, así como los registros de Weights & Biases. Para el análisis y la construcción de conjuntos de datos, el marco OLMo incluye los datos de entrenamiento completos utilizados para los modelos AI2’s Dolma y WIMBD, junto con el código que produce los datos de entrenamiento. Para los fines de evaluación, el marco OLMo incluye el modelo Catwalk de AI2 para la evaluación descendente, y el modelo Paloma para la evaluación basada en la perplejidad.

OLMo: Modelo y Arquitectura

El modelo OLMo adopta una arquitectura de transformador solo decodificador basada en los Sistemas de Procesamiento de Información Neural, y entrega dos modelos con 1 mil millones y 7 mil millones de parámetros, respectivamente, con un modelo de 65 mil millones de parámetros actualmente en desarrollo.

La arquitectura del marco OLMo entrega varias mejoras sobre los marcos que incluyen el componente de transformador vanilla en su arquitectura, incluyendo los modelos de lenguaje grandes recientes como OpenLM, Falcon, LLaMA y PaLM. La siguiente figura compara el modelo OLMo con 7 mil millones de parámetros contra los LLMs recientes que operan con números casi iguales de parámetros.

El marco OLMo selecciona los hiperparámetros optimizando el modelo para el rendimiento de entrenamiento en el hardware, al mismo tiempo que minimiza el riesgo de divergencia lenta y picos de pérdida. Con eso dicho, los cambios principales implementados por el marco OLMo que lo distinguen de la arquitectura de transformador vanilla son los siguientes:

Sin Sesgos

A diferencia de Falcon, PaLM, LLaMA y otros modelos de lenguaje, el marco OLMo no incluye ningún sesgo en su arquitectura para mejorar la estabilidad del entrenamiento.

Normalización de Capa No Paramétrica

El marco OLMo implementa la formulación no paramétrica de la normalización de capa en su arquitectura. La Normalización de Capa No Paramétrica no ofrece ninguna transformación afín dentro de la norma, es decir, no ofrece ninguna ganancia o sesgo adaptativo. La Normalización de Capa No Paramétrica no solo ofrece más seguridad que las Normas de Capa Paramétricas, sino que también son más rápidas.

Función de Activación SwiGLU

Al igual que la mayoría de los modelos de lenguaje como PaLM y LLaMA, el marco OLMo incluye la función de activación SwiGLU en su arquitectura en lugar de la función de activación ReLU, y aumenta el tamaño de activación oculta al múltiplo más cercano de 128 para mejorar el rendimiento.

Incrustaciones Posicionales Rotativas o RoPE

Los modelos OLMo siguen los modelos LLaMA y PaLM y cambian las incrustaciones posicionales absolutas por Incrustaciones Posicionales Rotativas o RoPE.

Preentrenamiento con Dolma

Aunque la comunidad de desarrollo ahora tiene acceso mejorado a los parámetros del modelo, las puertas para acceder a los conjuntos de datos de preentrenamiento todavía permanecen cerradas, ya que los datos de preentrenamiento no se lanzan junto con los modelos cerrados ni con los modelos abiertos. Además, la documentación técnica que cubre dichos datos a menudo carece de detalles vitales necesarios para comprender y replicar completamente el modelo. El obstáculo hace que sea difícil avanzar en la investigación en ciertos hilos de la investigación de modelos de lenguaje, incluyendo la comprensión de cómo los datos de entrenamiento impactan las capacidades y limitaciones del modelo. El marco OLMo construyó y lanzó su conjunto de datos de preentrenamiento, Dolma, para facilitar la investigación abierta sobre el preentrenamiento de modelos de lenguaje. El conjunto de datos Dolma es una colección diversa y multi-fuente de más de 3 billones de tokens en 5 mil millones de documentos recopilados de 7 fuentes diferentes que son comúnmente utilizadas por los LLMs grandes y de gran escala para el preentrenamiento y son accesibles para el público en general. La composición del conjunto de datos Dolma se resume en la siguiente tabla.

El conjunto de datos Dolma se construyó utilizando una tubería de 5 componentes: filtrado de lenguaje, filtrado de calidad, filtrado de contenido, mezcla multi-fuente, deduplicación y tokenización. OLMo también lanzó el informe Dolma que proporciona más información sobre los principios de diseño y los detalles de construcción, junto con un resumen de contenido más detallado. El modelo también abre sus herramientas de curación de datos de alto rendimiento para permitir la curación fácil y rápida de los corpus de datos de preentrenamiento. La evaluación del modelo sigue una estrategia de dos etapas, comenzando con la evaluación en línea para la toma de decisiones durante el entrenamiento del modelo y una evaluación final fuera de línea para una evaluación agregada de los puntos de control del modelo. Para la evaluación fuera de línea, OLMo utiliza el marco Catwalk, nuestra herramienta de evaluación pública que tiene acceso a una amplia diversidad de conjuntos de datos y formatos de tareas. El marco utiliza Catwalk para la evaluación descendente, así como para la evaluación intrínseca de modelado de lenguaje en nuestro nuevo benchmark de perplejidad, Paloma. OLMo compara esto con varios modelos públicos utilizando su tubería de evaluación fija, tanto para la evaluación descendente como para la evaluación de perplejidad.

OLMo ejecuta varias métricas de evaluación sobre la arquitectura del modelo, la inicialización, los optimizadores, el programa de tasa de aprendizaje y las mezclas de datos durante el entrenamiento del modelo. Los desarrolladores llaman a esto la “evaluación en línea” de OLMo, ya que es una iteración en bucle en cada 1000 pasos de entrenamiento (∼4B tokens de entrenamiento) para dar una señal temprana y continua sobre la calidad del modelo que se está entrenando. La configuración de estas evaluaciones depende de la mayoría de las tareas y configuraciones de experimentos utilizadas para nuestra evaluación fuera de línea. OLMo apunta no solo a comparar OLMo-7B con otros modelos para el mejor rendimiento, sino también a mostrar cómo permite una evaluación científica más completa y controlada. OLMo-7B es el modelo de lenguaje más grande con descontaminación explícita para la evaluación de perplejidad.

Entrenamiento OLMo

Es importante tener en cuenta que los modelos del marco OLMo se entrenan utilizando la estrategia de optimizador ZeRO, que se proporciona a través del marco FSDP mediante PyTorch, y que reduce sustancialmente el consumo de memoria de GPU al dividir los pesos del modelo en GPUs. Con esto, a escala de 7B, el entrenamiento se puede realizar con un tamaño de lote de 4096 tokens por GPU en nuestro hardware. El marco de entrenamiento para los modelos OLMo-1B y -7B utiliza un tamaño de lote globalmente constante de aproximadamente 4M tokens (2048 instancias, cada una con una longitud de secuencia de 2048 tokens). Para el modelo OLMo-65B (actualmente en entrenamiento), los desarrolladores utilizan un calentamiento del tamaño del lote que comienza en aproximadamente 2M tokens (1024 instancias), duplicando cada 100B tokens hasta aproximadamente 16M tokens (8192 instancias).

Para mejorar el rendimiento, empleamos el entrenamiento de precisión mixta (Micikevicius et al., 2017) a través de la configuración integrada de FSDP y el módulo amp de PyTorch. Este último garantiza que ciertas operaciones, como la softmax, siempre se ejecuten en precisión completa para mejorar la estabilidad, mientras que todas las demás operaciones se ejecutan en media precisión con el formato bfloat16. Bajo nuestras configuraciones específicas, los pesos del modelo divididos y el estado del optimizador local en cada GPU se mantienen en precisión completa. Los pesos dentro de cada bloque de transformador se convierten solo al formato bfloat16 cuando los parámetros de tamaño completo se materializan en cada GPU durante los pasos hacia adelante y hacia atrás. Los gradientes se reducen en precisión completa a través de las GPUs.

Optimizador

El marco OLMo utiliza el optimizador AdamW con los siguientes hiperparámetros.

Para todos los tamaños de modelo, la tasa de aprendizaje se calienta linealmente durante los primeros 5000 pasos (∼21B tokens) hasta un valor máximo, y luego se reduce linealmente con la raíz cuadrada inversa del número de pasos hasta la tasa de aprendizaje mínima especificada. Después del período de calentamiento, el modelo recorta los gradientes de tal manera que la norma l total de los gradientes de parámetros no excede 1.0. La siguiente tabla proporciona una comparación de nuestros ajustes de optimizador a escala de 7B con los de otros LLMs recientes que también utilizaron AdamW.

Datos de Entrenamiento

El entrenamiento implica tokenizar instancias de entrenamiento por palabra y tokenizador BPE para el modelo de pieza de oración después de agregar un token EOS especial al final de cada documento, y luego agrupar trozos consecutivos de 2048 tokens para formar instancias de entrenamiento. Las instancias de entrenamiento se barajan de la misma manera para cada ejecución de entrenamiento. El orden de los datos y la composición exacta de cada lote de entrenamiento se pueden reconstruir a partir de los artefactos que lanzamos. Todos los modelos OLMo lanzados han sido entrenados al menos hasta 2T tokens (una época sobre sus datos de entrenamiento), y algunos se entrenaron más allá de eso iniciando una segunda época sobre los datos con un orden de barajado diferente. Dado el pequeño cantidad de datos que se repite, debería tener un efecto negligible.

Resultados

El punto de control utilizado para la evaluación de OLMo-7B se entrena hasta 2.46T tokens en el conjunto de datos Dolma con el programa de reducción lineal de tasa de aprendizaje mencionado anteriormente. Un ajuste adicional de este punto de control en el conjunto de datos Dolma durante 1000 pasos con una tasa de aprendizaje linealmente reducida a 0 aumenta aún más el rendimiento del modelo en perplejidad y suites de evaluación de tareas finales descritas anteriormente. Para la evaluación final, los desarrolladores compararon OLMo con otros modelos públicamente disponibles – LLaMA-7B, LLaMA2-7B, Pythia-6.9B, Falcon-7B y RPJ-INCITE-7B.

Evaluación Descendente

La suite de evaluación descendente principal se resume en la siguiente tabla.

Realizamos una evaluación de zero-shot mediante el enfoque de clasificación por rango en todos los casos. En este enfoque, las posibles completaciones de texto (por ejemplo, diferentes opciones de múltiple elección) se clasifican por probabilidad (normalmente normalizada por algún factor de normalización), y se informa la precisión de la predicción.

Mientras que Catwalk utiliza varios métodos de normalización de probabilidad típicos, como la normalización por token y la normalización por carácter, las estrategias de normalización aplicadas se eligen por separado para cada conjunto de datos e incluyen la probabilidad incondicional de la respuesta. Más concretamente, esto implicó ninguna normalización para las tareas arc y openbookqa, normalización por token para las tareas hellaswag, piqa y winogrande, y ninguna normalización para las tareas boolq, copa y sciq (es decir, tareas en una formulación cercana a una tarea de predicción de un solo token).

La siguiente figura muestra el progreso de la puntuación de precisión para las nueve tareas finales principales. Se puede deducir que hay una tendencia generalmente creciente en la puntuación de precisión para todas las tareas, excepto para OBQA, a medida que OLMo-7B se entrena en más tokens. Un aumento brusco en la precisión de muchas tareas entre el último y el penúltimo paso muestra el beneficio de reducir linealmente la tasa de aprendizaje a 0 durante los 1000 pasos de entrenamiento finales. Por ejemplo, en el caso de las evaluaciones intrínsecas, Paloma argumenta a través de una serie de análisis, desde la inspección del rendimiento en cada dominio por separado hasta resultados más resumidos sobre combinaciones de dominios. Informamos resultados a dos niveles de granularidad: el rendimiento agregado sobre 11 de los 18 orígenes en Paloma, así como resultados más detallados sobre cada uno de estos orígenes individualmente.

Pensamientos Finales

En este artículo, hemos hablado sobre OLMo, un modelo de lenguaje estatal de vanguardia y verdaderamente abierto que ofrece a los desarrolladores un marco para construir, estudiar y avanzar en el desarrollo de los modelos de lenguaje, junto con proporcionar a los investigadores acceso a su código de entrenamiento y evaluación, metodología de entrenamiento, datos de entrenamiento, registros de entrenamiento y puntos de control de modelo intermedios. Los modelos estatales de vanguardia existentes tienen diferentes grados de apertura, mientras que el modelo OLMo ha lanzado todo el marco, desde el entrenamiento hasta los datos y las herramientas de evaluación, lo que reduce la brecha de rendimiento en comparación con los modelos estatales de vanguardia como el modelo LLaMA2.

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.