ChatGLM-6B: una alternativa de ChatGPT ligera y de código abierto

Nodo de origen: 2074009

ChatGLM-6B: una alternativa de ChatGPT ligera y de código abierto
Imagen del autor
 

Recientemente, todos hemos tenido dificultades para ponernos al día con los últimos lanzamientos en el espacio LLM. En las últimas semanas, varias alternativas de ChatGPT de código abierto se han vuelto populares. 

Y en este artículo aprenderemos sobre el ChatGLM serie y ChatGLM-6B, una alternativa de ChatGPT ligera y de código abierto. 

¡Vámonos!

Investigadores de la Universidad de Tsinghua en China han trabajado en el desarrollo de la serie de modelos ChatGLM que tienen un rendimiento comparable al de otros modelos como GPT-3 y BLOOM.

ChatGLM es un modelo de idioma grande bilingüe entrenado en chino e inglés. Actualmente, los siguientes modelos están disponibles:

  • ChatGLM-130B: un LLM de código abierto
  • ChatGLM-100B: no es de código abierto, pero está disponible a través del acceso solo por invitación
  • ChatGLM-6B: una alternativa ligera de código abierto

Aunque estos modelos pueden parecer similares al grupo de modelos de lenguaje grande del Transformador preentrenado generativo (GPT), el Marco de preentrenamiento del Modelo de Lenguaje General (GLM) es lo que los hace diferentes. Aprenderemos más sobre esto en la siguiente sección.

En el aprendizaje automático, conocería los GLM como modelos lineales generalizados, pero el GLM en ChatGLM significa Modelo de lenguaje general

Marco de Preentrenamiento GLM

La formación previa a LLM ha sido ampliamente estudiada y sigue siendo un área de investigación activa. Tratemos de comprender las diferencias clave entre el entrenamiento previo de GLM y los modelos de estilo GPT.

La familia de modelos GPT-3 utiliza modelado de lenguaje autorregresivo solo de decodificador. En GLM, en cambio, la optimización del objetivo se formula como un problema de relleno en blanco auto regresivo.

 

ChatGLM-6B: una alternativa de ChatGPT ligera y de código abierto
GLM | Fuente de la imagen
 

En lenguaje sencillo, relleno en blanco autoregresivo implica borrar un tramo continuo de texto y luego reconstruir secuencialmente el texto este borrado. Además de las máscaras más cortas, hay una máscara más larga que elimina aleatoriamente espacios en blanco largos de texto al final de las oraciones. Esto se hace para que el modelo se desempeñe razonablemente bien en la comprensión del lenguaje natural, así como en las tareas de generación.

Otra diferencia está en el tipo de atención utilizada. El grupo GPT de modelos de lenguaje grande usa atención unidireccional, mientras que el grupo GLM de LLM usa atención bidireccional. El uso de atención bidireccional sobre contextos no enmascarados puede capturar mejor las dependencias y mejorar el rendimiento en las tareas de comprensión del lenguaje natural. 

Activación GELU

En GLM, se usa la activación GELU (Gaussian Error Linear Units) en lugar de la activación ReLU [1].

 

ChatGLM-6B: una alternativa de ChatGPT ligera y de código abierto
Activaciones GELU, ReLU y ELU | Fuente de la imagen
 

La activación de GELU y tiene valores distintos de cero para todas las entradas y tiene la siguiente forma [3]:

 

ChatGLM-6B: una alternativa de ChatGPT ligera y de código abierto
 

Se encuentra que la activación de GELU mejora el rendimiento en comparación con las activaciones de ReLU, aunque computacionalmente más intensiva que ReLU.

En la serie GLM de LLM, ChatGLM-130B, que es de código abierto y funciona tan bien como el modelo Da-Vinci de GPT-3. Como se mencionó, al momento de escribir este artículo, hay una versión de ChatGLM-100B, que está restringida al acceso solo por invitación.

ChatGLM-6B

Los siguientes detalles sobre ChatGLM-6B para que sea más accesible para los usuarios finales:

  • Tiene alrededor de 6.2 millones de parámetros.
  • El modelo está preentrenado en 1 billón de tokens, tanto en inglés como en chino.
  • Posteriormente, se utilizan técnicas como el ajuste fino supervisado y el aprendizaje por refuerzo con retroalimentación humana.

Terminemos nuestra discusión repasando las ventajas y limitaciones de ChatGLM:

Ventajas

De ser un modelo bilingüe a un modelo de código abierto que puede ejecutar localmente, ChatGLM-6B tiene las siguientes ventajas:

  • La mayoría de los modelos de lenguaje grande convencionales se entrenan en grandes corpus de texto en inglés, y los modelos de lenguaje grande para otros idiomas no son tan comunes. La serie ChatGLM de LLM es bilingüe y una excelente opción para chino. El modelo tiene un buen desempeño tanto en inglés como en chino.
  • ChatGLM-6B está optimizado para dispositivos de usuario. Los usuarios finales a menudo tienen recursos informáticos limitados en sus dispositivos, por lo que se vuelve casi imposible ejecutar LLM localmente, sin acceso a GPU de alto rendimiento. Con Cuantificación INT4, ChatGLM-6B puede ejecutarse con un requisito de memoria modesto de tan solo 6 GB. 
  • Se desempeña bien en una variedad de tareas que incluyen resúmenes y chats de consulta única y múltiple.
  • A pesar de la cantidad sustancialmente menor de parámetros en comparación con otros LLM convencionales, ChatGLM-6B admite una longitud de contexto de hasta 2048.

Limitaciones

A continuación, enumeremos algunas limitaciones de ChatGLM-6B:

  • Aunque ChatGLM es un modelo bilingüe, es probable que su rendimiento en inglés sea subóptimo. Esto se puede atribuir a que las instrucciones utilizadas en el entrenamiento están en su mayoría en chino.
  • Debido a que ChatGLM-6B tiene sustancialmente menos parámetros en comparación con otros LLM como BLOOM, GPT-3 y ChatGLM-130B, el rendimiento puede ser peor cuando el contexto es demasiado largo. Como resultado, ChatGLM-6B puede brindar información inexacta con mayor frecuencia que los modelos con una mayor cantidad de parámetros.
  • Los modelos de lenguaje pequeño tienen capacidad de memoria limitada. Por lo tanto, en los chats de varios turnos, el rendimiento del modelo puede degradarse ligeramente.
  • El sesgo, la información errónea y la toxicidad son limitaciones de todos los LLM, y ChatGLM también es susceptible a estos.

Como siguiente paso, ejecute ChatGLM-6B localmente o pruebe la demostración en los espacios HuggingFace. Si desea profundizar en el funcionamiento de los LLM, aquí hay una lista de cursos gratuitos sobre grandes modelos de lenguaje.

[1] Z Du, Y Qian et al., GLM: Preentrenamiento del modelo de lenguaje general con relleno en blanco autorregresivo, LCA 2022

[2] A Zheng, X Liu et al., GLM-130B: un modelo preentrenado bilingüe abierto, ICML 2023 

[3]D Hendryks, K Gimpel, Unidades lineales de error gaussiano (GELU), arXiv, 2016

[ 4 ] ChatGLM-6B: demostración de HuggingFace Spaces

[ 5 ] Repositorio de GitHub
 
 
Bala Priya C. es un escritor técnico que disfruta creando contenido de formato largo. Sus áreas de interés incluyen matemáticas, programación y ciencia de datos. Comparte su aprendizaje con la comunidad de desarrolladores mediante la creación de tutoriales, guías prácticas y más.

Sello de tiempo:

Mas de nuggets