OpenBA: ¡Otro miembro de la familia de modelos de código abierto! Modelo bilingüe de estructura codificador-decodificador asimétrico chino-inglés 15B entrenado desde cero...

e8ddda1de46684d9fffd05473602db6d.png

¡El modelo bilingüe codificador-decodificador asimétrico OpenBA entrenado desde cero por la Universidad de Suzhou ha sido oficialmente de código abierto!

Los aspectos más destacados incluyen:

  • Destacado 1: este modelo aporta un modelo de lenguaje grande codificador-decodificador representativo a la comunidad china de código abierto, y su proceso de capacitación (incluida la recopilación y limpieza de datos, la construcción del modelo y la capacitación) ha sido completamente de código abierto.

  • Punto culminante 2: en términos de datos, los datos utilizados por OpenBA están disponibles públicamente , lo que hace que las capacidades del modelo sean más transparentes.

  • Punto destacado 3: para las capacidades de instrucción en chino, construimos un conjunto de datos de flan chino a gran escala basado en datos de anotaciones de código abierto y abrimos completamente su método de construcción.

  • Punto culminante 4: Con un volumen de entrenamiento de tokens de solo 380 mil millones , ha superado muchos modelos entrenados con la misma cantidad de parámetros y datos más grandes en una variedad de tareas posteriores en chino e inglés.

Memoria técnica y dirección del proyecto.

Informe técnico:
OpenBA: un modelo seq2seq asimétrico bilingüe 15B de código abierto previamente entrenado desde cero
https://arxiv.org/abs/2309.10706

Modelo:
https://huggingface.co/OpenBA

Proyecto:
https://github.com/OpenNLG/OpenBA.git

Descripción general del artículo

El desarrollo de grandes modelos de lenguaje es inseparable de las contribuciones de la comunidad de código abierto. En el campo del código abierto chino, aunque existen trabajos excelentes como GLM, Baichuan, Moss y BatGPT, todavía existen las siguientes lagunas:

  1. Los modelos de lenguajes grandes de código abierto convencionales se basan principalmente en la arquitectura de solo decodificador o sus variantes, y la arquitectura codificador-decodificador aún debe estudiarse.

  2. Muchos conjuntos de datos de instrucciones de código abierto chinos son generados por ChatGPT o traducidos del inglés, y existen problemas de calidad y derechos de autor.

Para llenar estos vacíos, este trabajo:

  1. Adopta una arquitectura codificador-decodificador asimétrica (codificador superficial, decodificador profundo) e integra tres etapas de entrenamiento multitarea UL2, entrenamiento de adaptación de longitud y entrenamiento de Flan bilingüe.

  2. Se construyó un conjunto de datos de flan chino que contenía 50 millones de instrucciones, que cubrían 44 tareas, y los métodos de recopilación y construcción eran completamente abiertos.

Composición de datos previos al entrenamiento

Los datos de OpenBA se componen de 190 mil millones de tokens de datos en inglés, 190 mil millones de tokens de datos chinos y 20 mil millones de tokens de datos de código. Entre ellos, los datos en inglés y los datos de código se tomaron como muestra del conjunto de datos The Pile, mientras que el conjunto de datos en chino proviene principalmente de un subconjunto de Common Crawl y el conjunto de datos CBook-150K de FudanNLPLAB. Su composición de datos previa al entrenamiento específica se muestra en la siguiente figura:

b326572070b5fc2ec564ab9571b4244a.png

Recopilación de datos de flan bilingüe

Seleccionamos The Flan Collection como el conjunto de datos de Flan en inglés, mientras que el conjunto de datos de Flan chino seleccionó 50 millones de datos de instrucciones y su método de construcción fue completamente abierto. A continuación se detallan la distribución de todo el conjunto de datos del Flan bilingüe y la composición específica del conjunto de datos del Flan chino.

afd63416dcade063c85ccf12f7781100.png1b17ab1bfb7834ea875f56d84c50e799.png

Estructura del modelo codificador-decodificador asimétrico

En términos de selección de estructura del modelo, OpenBA probó tres configuraciones: (1) decodificador más profundo, (2) codificador más profundo, (3) codificador y decodificador con el mismo número de capas.

El documento cree que los grandes modelos de lenguaje existentes son principalmente estructuras de solo decodificador, que son buenas para generar capacidades, y una capa de decodificador más profunda ayudará a mejorar las capacidades de generación de modelos.

En respuesta a este punto, este artículo realizó un experimento de verificación, utilizando el objetivo de entrenamiento de UL2 para entrenar los modelos de las tres configuraciones anteriores y observando el efecto del modelo en los tres conjuntos de verificación de eliminación de ruido. La tarea puede considerarse como una prueba de Una medida de las capacidades de generación de modelos.

2ebc0bfaf59118eb6ce6ca2613083be0.png

La conclusión experimental muestra que las configuraciones de decodificador más profundas tienen mejores capacidades en tareas de S-Denoising, lo que también confirma la efectividad de modelos de decodificador más profundos en tareas de generación.

Preentrenamiento de tres etapas integrado con UL2

eea4e09cb86f837f0e56a836a4c54cad.png

Como se muestra en la figura anterior, OpenBA ha pasado por tres etapas de preentrenamiento, a saber:

  • Entrenamiento previo de UL2 Esta etapa implica principalmente tres tareas: R-Denosing con una pequeña cantidad de máscaras aleatorias, X-Denosing con una gran cantidad de máscaras aleatorias y S-Denosing con máscaras secuenciales.

  • Entrenamiento de adaptación de longitud: en esta etapa, OpenBA extiende la longitud máxima de entrada y salida de 570/380 a 1024/1024 y solo se centra en la tarea de continuación. El propósito de este paso es permitir que el modelo se adapte a tareas posteriores que requieren una mayor longitud de contexto y mejorar aún más sus capacidades de generación.

  • Fase de entrenamiento de Flan bilingüe: en esta fase, OpenBA ajusta el conjunto de datos de Flan bilingüe para darle al modelo una mayor capacidad para seguir instrucciones.

Resultados experimentales

OpenBA se evaluó en múltiples puntos de referencia chinos e ingleses de uso común (MMLU, CMMLU, C-Eval, BBH, SuperGLUE, etc.) y bajo diferentes configuraciones (incluidos Zero-shot, Few-shot, Hold-in, Hold-out). Abarca tareas de razonamiento de sentido común, generación de lenguaje natural y comprensión del lenguaje natural.

OpenBA logra resultados competitivos en diferentes tareas y entornos. Los siguientes son algunos resultados de la evaluación de OpenBA en BELEBELE (tarea de comprensión del lenguaje natural), ROC Story (tarea de generación de lenguaje natural) y CMMLU (tarea de razonamiento lógico).

6631541b5f29eee867a87d775f34f348.png
Resultados del indicador automático OpenBA en BELEBELE (comprensión lectora)

Resultados de la evaluación manual de OpenBA en ROC Story (generación de historias):

f1f8a7379aa818319eada7bfed4072f4.png
Evaluación de continuidad
47bd26012c3b9d99ad29a914188e1d68.png
Evaluación de consistencia

Resultados del indicador automático de OpenBA en CMMLU (razonamiento lógico chino):522286ec5fc7ecfc7fedc62066890c72.png

resumen

Aunque OpenBA sólo utiliza 380 mil millones de tokens, logra un rendimiento excelente en numerosos puntos de referencia, superando incluso a los modelos que consumen más datos. La Universidad de Soochow ha abierto varias etapas de los puntos de control de OpenBA y el método de construcción del conjunto de datos del Flan chino para facilitar el uso de los investigadores.

La siguiente fase del trabajo de OpenBA profundizará en la investigación sobre el modelo de chat general, el modelo de herramienta de llamada y la eliminación de sesgos y alineación (consulte el informe técnico para obtener más detalles).

Si está interesado en OpenBA, bienvenido a cooperar y contribuir juntos a la comunidad de código abierto.


Ingrese al grupo de PNL—> Únase al grupo de comunicación de PNL

Supongo que te gusta

Origin blog.csdn.net/qq_27590277/article/details/133109839
Recomendado
Clasificación