Llama 3 usando Hugging Face
El 18 de abril de 2024, se lanzó el nuevo modelo de lenguaje mayor 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 con datos válidos hasta marzo de 2023. La segunda versión, más grande, fue entrenada con datos válidos hasta diciembre de 2023.
Paso 1. Preparar el sistema operativo
Actualizar caché y paquetes
Vamos a actualizar la caché de paquetes y actualizar su sistema operativo antes de empezar 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 los paquetes instaladores de Python (PIP), si no están ya presentes en el sistema:
sudo apt install python3-pip
Instalar controladores Nvidia
Puedes usar la utilidad automatizada que se incluye en las distribuciones de Ubuntu por defecto:
sudo ubuntu-drivers autoinstall
Alternativamente, puedes instalar los controladores Nvidia manualmente. No olvides 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. Rellena un breve formulario y haz clic en el botón Enviar:
Solicitar acceso desde HF
Después recibirás un mensaje de que tu solicitud ha sido enviada:
Obtendrás acceso después de 30-40 minutos y se te notificará sobre esto a través de un correo electrónico.
Añadir clave SSH a HF
Genera y añade una clave SSH que puedas usar en Hugging Face:
cd ~/.ssh && ssh-keygen
Cuando se genere 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 por ssh-rsa y termina con usergpu@gpuserver como se muestra en la siguiente captura de pantalla:
Abre Configuración de perfil de Hugging Face. Luego elige Claves SSH y GPG 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 desde la terminal. Guarde 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 guarda 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. Abre tu directorio personal:
cd ~/
Descarga y ejecuta 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 enlace a la cuenta de correo electrónico de HF:
git config --global user.email "john.doe@example.com"
Descargar el modelo
Abre el directorio de destino:
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 supervisarlo ejecutando el siguiente comando en otra consola SSH:
watch -n 0.5 df -h
Aquí, verás cómo el espacio libre en disco en el disco montado se reduce, asegurándote de que la descarga está avanzando y los datos se están guardando. El estado se refrescará cada medio segundo. Para detener la visualización manualmente, presiona el atajo Ctrl + C.
Alternativamente, puedes instalar btop y supervisar el proceso con esta utilidad:
sudo apt -y install btop && btop
Para salir de la utilidad btop, presiona la tecla Esc y selecciona Salir.
Paso 3. Ejecutar el modelo
Abre el directorio:
cd /mnt/fastdisk
Descarga el repositorio Llama 3:
git clone https://github.com/meta-llama/llama3
Cambia el directorio:
cd llama3
Ejecuta 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.
Guarda anche:
Aggiornato: 21.06.2024
Pubblicato: 19.04.2024