Llama 3 usando Hugging Face
El 18 de abril de 2024, se lanzó el nuevo modelo de lenguaje principal de MetaAI, Llama 3. Se presentaron dos versiones a los usuarios: 8B y 70B. La primera versión contiene más de 15K tokens y fue entrenada en datos válidos hasta marzo de 2023. La segunda versión, más grande, fue entrenada en datos válidos hasta diciembre de 2023.
Paso 1. Prepara el sistema operativo
Actualiza la caché y los paquetes
Vamos a actualizar la caché de paquetes y a actualizar su sistema operativo antes de que comience a configurar LLaMa 3. Tenga en cuenta que para esta guía, estamos utilizando Ubuntu 22.04 LTS como el sistema operativo:
sudo apt update && sudo apt -y upgrade
Además, necesitamos agregar Python Installer Packages (PIP), si aún no está presente en el sistema:
sudo apt install python3-pip
Instalar los controladores Nvidia
Puede utilizar la utilidad automatizada que se incluye por defecto en las distribuciones de Ubuntu:
sudo ubuntu-drivers autoinstall
Alternativamente, puede instalar los controladores Nvidia manualmente. No olvide reiniciar el servidor:
sudo shutdown -r now
Paso 2. Obtener el modelo
Inicie sesión en Hugging Face utilizando su nombre de usuario y contraseña. Vaya a la página correspondiente a la versión de LLM deseada: Meta-Llama-3-8B o Meta-Llama-3-70B. En el momento de la publicación de este artículo, el acceso al modelo se proporciona de forma individual. Complete un breve formulario y haga clic en el botón Enviar:
Solicita acceso desde HF
Después recibirás un mensaje de que tu solicitud ha sido enviada:
Obtendrá acceso después de 30-40 minutos y se le notificará por correo electrónico.
Añadir clave SSH a HF
Generar y añadir una clave SSH que puedes usar en Hugging Face:
cd ~/.ssh && ssh-keygen
Cuando se genera el par de claves, puedes mostrar la clave pública en el emulador de terminal:
cat id_rsa.pub
Copia toda la información que comienza con ssh-rsa y termina con usergpu@gpuserver como se muestra en la siguiente captura de pantalla:
Abre la configuración de perfil de Hugging Face Settings de perfil. Luego elige SSH y GPG Keys y haz clic en el botón Añadir clave SSH:
Rellena el Nombre de la clave y pega la Clave pública SSH copiada del terminal. Guarda la clave presionando Añadir clave:
Ahora, su cuenta de HF está vinculada con la clave pública SSH. La segunda parte (clave privada) se almacena en el servidor. El siguiente paso es instalar una extensión específica de Git LFS (Large File Storage), que se utiliza para descargar archivos grandes como modelos de redes neuronales. Abra su directorio de inicio:
cd ~/
Descargue y ejecute el script de shell. Este script instala un nuevo repositorio de terceros con git-lfs:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
Ahora, puedes instalarlo usando el administrador de paquetes estándar:
sudo apt-get install git-lfs
Vamos a configurar git para usar nuestro apodo de HF:
git config --global user.name "John"
Y vinculado a la cuenta de correo electrónico de HF:
git config --global user.email "john.doe@example.com"
Descarga el modelo
Abre el directorio objetivo:
cd /mnt/fastdisk
Y comienza a descargar el repositorio. Para este ejemplo, elegimos la versión 8B:
git clone git@hf.co:meta-llama/Meta-Llama-3-8B
Este proceso tarda hasta 5 minutos. Puedes monitorizar esto ejecutando el siguiente comando en otra consola SSH:
watch -n 0.5 df -h
Aquí, verás cómo el espacio libre del disco en el disco montado se reduce, asegurando que la descarga está progresando y los datos se están guardando. El estado se actualizará cada medio segundo. Para detener manualmente la visualización, presiona el atajo Ctrl + C.
Alternativamente, puedes instalar btop y monitorear el proceso usando esta utilidad:
sudo apt -y install btop && btop
Para salir de la utilidad btop, presiona la tecla Esc y selecciona Quit.
Paso 3. Ejecutar el modelo
Abra el directorio:
cd /mnt/fastdisk
Descarga el repositorio Llama 3:
git clone https://github.com/meta-llama/llama3
Cambiar el directorio:
cd llama3
Ejecutar el ejemplo:
torchrun --nproc_per_node 1 example_text_completion.py \
--ckpt_dir /mnt/fastdisk/Meta-Llama-3-8B/original \
--tokenizer_path /mnt/fastdisk/Meta-Llama-3-8B/original/tokenizer.model \
--max_seq_len 128 \
--max_batch_size 4
Ahora puedes usar Llama 3 en tus aplicaciones.
Ver también:
Actualizado: 21.06.2024
Publicado: 19.04.2024