Guía para no ingenieros Entrena a un chatbot LLaMA 2.

Guía de entrenamiento para no ingenieros Cómo entrenar a un chatbot llamado LLaMA 2.

Introducción

En este tutorial te mostraremos cómo cualquiera puede construir su propio ChatGPT de código abierto sin necesidad de escribir una sola línea de código. Utilizaremos el modelo base LLaMA 2, lo afinaremos para el chat con un conjunto de datos de instrucciones de código abierto y luego desplegaremos el modelo en una aplicación de chat que podrás compartir con tus amigos. Todo esto haciendo clic para lograr la grandeza. 😀

¿Por qué es importante esto? Bueno, el aprendizaje automático, especialmente los MLM (Modelos de Lenguaje Grande), ha experimentado un aumento sin precedentes en popularidad, convirtiéndose en una herramienta fundamental en nuestras vidas personales y comerciales. Sin embargo, para la mayoría de las personas fuera del nicho especializado de la ingeniería de ML, las complejidades de entrenar y desplegar estos modelos parecen estar fuera de su alcance. Si el futuro anticipado del aprendizaje automático consiste en contar con modelos personalizados ubicuos, entonces hay un desafío inminente por delante: ¿Cómo capacitamos a aquellos con antecedentes no técnicos para aprovechar esta tecnología de manera independiente?

En Hugging Face, hemos estado trabajando silenciosamente para allanar el camino hacia este futuro inclusivo. Nuestra suite de herramientas, que incluye servicios como Spaces, AutoTrain y Inference Endpoints, están diseñados para hacer que el aprendizaje automático sea accesible para todos.

Para demostrar qué tan accesible es este futuro democratizado, este tutorial te mostrará cómo utilizar Spaces, AutoTrain y ChatUI para construir la aplicación de chat. Todo en tan solo tres simples pasos, sin escribir una sola línea de código. Para dar contexto, yo tampoco soy un ingeniero de ML, sino un miembro del equipo de GTM de Hugging Face. Si yo puedo hacer esto, ¡tú también puedes! ¡Vamos a sumergirnos!

Introducción a Spaces

Spaces de Hugging Face es un servicio que proporciona una interfaz gráfica de usuario fácil de usar para construir y desplegar demos y aplicaciones de aprendizaje automático alojadas en la web. El servicio te permite construir rápidamente demos de aprendizaje automático utilizando interfaces frontales como Gradio o Streamlit, cargar tus propias aplicaciones en un contenedor de Docker, o incluso seleccionar una serie de aplicaciones de aprendizaje automático preconfiguradas para desplegar instantáneamente.

Desplegaremos dos de las plantillas preconfiguradas de aplicaciones de Docker de Spaces, AutoTrain y ChatUI.

Puedes obtener más información sobre Spaces aquí.

Introducción a AutoTrain

AutoTrain es una herramienta sin código que permite a los no ingenieros de ML (¡incluso a los no desarrolladores 😮) entrenar modelos de aprendizaje automático de vanguardia sin necesidad de programar. Se puede usar para NLP, visión por computadora, procesamiento del habla, datos tabulares e incluso ahora para ajustar modelos MLM, como haremos hoy.

Puedes obtener más información sobre AutoTrain aquí.

Introducción a ChatUI

ChatUI es exactamente lo que suena, es la interfaz de usuario de código abierto construida por Hugging Face que proporciona una interfaz para interactuar con MLM de código abierto. Es especialmente la misma interfaz de usuario detrás de HuggingChat, nuestra alternativa 100% de código abierto a ChatGPT.

Puedes obtener más información sobre ChatUI aquí.

Paso 1: Crear un nuevo espacio de AutoTrain

1.1 Ve a huggingface.co/spaces y selecciona “Crear nuevo espacio”.

1.2 Dale a tu espacio un nombre y selecciona una licencia de uso preferida si planeas hacer público tu modelo o espacio.

1.3 Para desplegar la aplicación AutoTrain desde la plantilla de Docker en tu espacio desplegado, selecciona Docker > AutoTrain.

1.4 Selecciona el “hardware del espacio” para ejecutar la aplicación. (Nota: Para la aplicación AutoTrain, la opción básica de CPU gratuita será suficiente, el entrenamiento del modelo más adelante se hará utilizando cálculos separados que podemos elegir más tarde)

1.5 Agrega tu “HF_TOKEN” debajo de “Secretos del espacio” para dar acceso a este Espacio a tu cuenta de Hub. Sin esto, el Espacio no podrá entrenar o guardar un nuevo modelo en tu cuenta. (Nota: Tu HF_TOKEN se encuentra en tu perfil Hugging Face bajo Configuración > Tokens de acceso, asegúrate de seleccionar el token como “Escribir”)

1.6 Selecciona si quieres hacerlo “Privado” o “Público”, para el propio espacio de AutoTrain se recomienda mantenerlo privado, pero siempre puedes compartir públicamente tu modelo o aplicación de chat más adelante.

1.7 ¡Haz clic en “Crear Espacio” y voilà! El nuevo Espacio tardará unos minutos en construirse, después de lo cual podrás abrir el Espacio y comenzar a usar AutoTrain.

Paso 2: Iniciar el Entrenamiento de un Modelo en AutoTrain

2.1 Una vez que se haya iniciado tu espacio de AutoTrain, verás la interfaz gráfica de usuario a continuación. AutoTrain se puede utilizar para varios tipos diferentes de entrenamiento, incluyendo ajuste fino de LLM, clasificación de texto, datos tabulares y modelos de difusión. Como nos estamos enfocando en el entrenamiento de LLM hoy, selecciona la pestaña “LLM”.

2.2 Elige el LLM que deseas entrenar en el campo “Elección de Modelo”, puedes seleccionar un modelo de la lista o escribir el nombre del modelo de la tarjeta de modelos de Hugging Face, en este ejemplo hemos utilizado el modelo base Llama 2 7b de Meta, obtén más información en la tarjeta del modelo aquí. (Nota: LLama 2 es un modelo protegido que requiere que solicites acceso a Meta antes de usarlo, pero hay muchos otros modelos no protegidos que podrías elegir, como Falcon)

2.3 En “Backend”, selecciona la CPU o GPU que deseas usar para tu entrenamiento. Para un modelo 7b, un “A10G Large” será lo suficientemente grande. Si eliges entrenar un modelo más grande, asegúrate de que el modelo quepa completamente en la memoria de la GPU seleccionada. (Nota: Si deseas entrenar un modelo más grande y necesitas acceso a una GPU A100, envía un correo electrónico a )

2.4 Por supuesto, para ajustar finamente un modelo, deberás subir “Datos de Entrenamiento”. Cuando lo hagas, asegúrate de que el conjunto de datos esté correctamente formateado y en formato de archivo CSV. Un ejemplo del formato requerido se puede encontrar aquí. Si tu conjunto de datos contiene varias columnas, asegúrate de seleccionar la “Columna de Texto” de tu archivo que contiene los datos de entrenamiento. En este ejemplo, utilizaremos el conjunto de datos de ajuste de instrucciones de Alpaca, hay más información sobre este conjunto de datos disponible aquí. También puedes descargarlo directamente en formato CSV desde aquí.

2.5 Opcional: Puedes subir “Datos de Validación” para probar tu modelo recién entrenado, pero esto no es necesario.

2.6 Se pueden configurar varias opciones avanzadas en AutoTrain para reducir el consumo de memoria de tu modelo, como cambiar la precisión (“FP16”), la cuantización (“Int4/8”) o si utilizar PEFT (Ajuste Fino Eficiente de Parámetros). Se recomienda utilizar la configuración predeterminada, ya que reducirá el tiempo y el costo de entrenar tu modelo, y solo tendrá un pequeño impacto en el rendimiento del modelo.

2.7 Del mismo modo, puedes configurar los parámetros de entrenamiento en “Elección de Parámetros”, pero por ahora usemos la configuración predeterminada.

2.8 Ahora que todo está configurado, selecciona “Agregar Trabajo” para agregar el modelo a tu cola de entrenamiento y luego selecciona “Iniciar Entrenamiento” (Nota: Si quieres entrenar varias versiones de modelos con diferentes hiperparámetros, puedes agregar varios trabajos para ejecutar simultáneamente)

2.9 Después de que haya comenzado el entrenamiento, verás que se ha creado un nuevo “Espacio” en tu cuenta de Hub. Este Espacio está ejecutando el entrenamiento del modelo, una vez que esté completo, el nuevo modelo también se mostrará en tu cuenta de Hub en “Modelos”. (Nota: Para ver el progreso del entrenamiento, puedes ver los registros en vivo en el Espacio)

2.10 Ve a tomar un café, dependiendo del tamaño de tu modelo y los datos de entrenamiento, esto podría llevar algunas horas o incluso días. Una vez completado, aparecerá un nuevo modelo en tu cuenta de Hugging Face Hub en “Modelos”.

Paso 3: Crea un nuevo Espacio ChatUI utilizando tu modelo

3.1 Sigue el mismo proceso de configurar un nuevo Espacio como en los pasos 1.1> 1.3, pero selecciona la plantilla ChatUI de Docker en lugar de AutoTrain.

3.2 Selecciona el “Hardware del Espacio”. Para nuestro modelo 7b, un A10G Small será suficiente para ejecutar el modelo, pero esto variará según el tamaño de tu modelo.

3.3 Si tienes tu propia base de datos de Mongo, puedes proporcionar esos detalles para almacenar los registros de chat en “MONGODB_URL”. De lo contrario, deja el campo en blanco y se creará automáticamente una base de datos local.

3.4 Para ejecutar la aplicación de chat utilizando el modelo que has entrenado, deberás proporcionar el “NOMBRE_DEL_MODELO” en la sección de “Variables del Espacio”. Puedes encontrar el nombre de tu modelo buscando en la sección “Modelos” de tu perfil de Hugging Face, será el mismo que el “Nombre del proyecto” que utilizaste en AutoTrain. En nuestro ejemplo es “2legit2overfit/wrdt-pco6-31a7-0”.

3.4 Bajo “Variables del Espacio”, también puedes cambiar los parámetros de inferencia del modelo, incluyendo temperatura, top-p, máximo de tokens generados y otros para cambiar la naturaleza de tus generaciones. Por ahora, mantengamos la configuración predeterminada.

3.5 Ahora estás listo para hacer clic en “Crear” y lanzar tu propio ChatGPT de código abierto. ¡Felicidades! Si lo has hecho correctamente, debería lucir así.

Si te sientes inspirado, pero aún necesitas apoyo técnico para empezar, no dudes en contactarnos y solicitar asistencia aquí. Hugging Face ofrece un servicio de Asesoramiento Expertos pago que podría ser capaz de ayudar.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Noticias de Inteligencia Artificial

Un Asistente Robótico Vestible Que Está Por Todas Partes

El robot asistente Calico desarrollado por investigadores de la Universidad de Maryland puede ser usado en la ropa de...

Ciencia de Datos

PatchTST Un avance en la predicción de series temporales.

Los modelos basados en Transformer han sido aplicados con éxito en muchos campos, como el procesamiento del lenguaje ...

Inteligencia Artificial

¿Deberían las escuelas depender del gobierno para la protección cibernética?

¿Puede el gobierno federal proteger a las escuelas de K-12 y a sus estudiantes de los ciberataques?

Inteligencia Artificial

Comprendiendo el concepto de GPT-4V(ision) La nueva tendencia de la inteligencia artificial

OpenAI ha estado a la vanguardia de los últimos avances en IA, con modelos altamente competentes como GPT y DALLE. Cu...

Aprendizaje Automático

¿Qué es Machine Learning como Servicio? Beneficios y principales plataformas de MLaaS.

El aprendizaje automático utiliza análisis estadísticos para generar resultados de predicción sin requerir programaci...