Hola, hoy vamos a ver cómo podemos instalar y descargar llama 2, la IA de Meta que hace frente a chatgpt 3.5. Para ello he creado un Docker Compose que nos ayudará a generar el entorno.
Lo primero que tenemos que hacer, es ir a la página de llama 2 y solicitar una versión en su propia web https://ai.meta.com/llama/
Ahora nos pedirá una cuenta de correo, yo recomiendo una cuenta de universidad o de investigación para que la solicitud sea aprobada lo más rápido posible:
Ahora, nos llegará un correo con las instrucciones de instalación.
Para ello lo primero que vamos a hacer es descargar el entorno sin modelo de Llama 2, para ello vamos a su github y lo clonamos:
https://github.com/facebookresearch/llama
Una vez descargado, podemos instalarlo en nuestra máquina o usar un Docker Compose.
Yo voy a crear un Docker Compose con el que podéis instalar esta IA:
- Creáis una carpeta llamada app en raíz del proyecto
- Ahora creáis otra carpeta llamada Dockerfile dónde vamos a añadir nuestro archivo de configuración del entorno personalizado.
Creamos un archivo llamado container_python dentro de Dockerfile (Dockerfile/container_python) 7 añadimos este contenido:
# syntax=docker/dockerfile:1 #FROM python:3.11.3 FROM python:3.8 #WORKDIR /app #-y es para cuando da error de yes RUN apt-get update -y RUN apt install python3-pip -y RUN pip install --upgrade pip # Ejecutar un comando que mantenga el contenedor en ejecución CMD tail -f /dev/null
Ahora creamos un archivo en raíz llamado docker-compose.yml
version: "3.1" services: llama_ia_python: build: context: ./Dockerfile dockerfile: container_python restart: unless-stopped container_name: llama_ia_python working_dir: /app volumes: - ./app:/app
Con esto ya tenemos nuestro entorno creado.
Ahora tendremos que lanzar el contenedor, con el comando:
docker compose up -d
Dejará el contenedor en segundo plano y podremos ejecutar nuestros comandos. Yo recomiendo acceder a la consola directamente desde Docker:
docker exec -it llama_ia_python bash
Y nos abre la consola.
Lo primero que tenemos que hacer es navegar hasta el repositorio de llama:
cd llama-main
Y ejecutar download.sh para descargar los modelos necesarios.
./download.sh
Ahora nos pedirá la URL de instalación, esta URL se recibe desde el email («When asked for your unique custom URL, please insert the following:«), la copiamos y la pegamos.
Y ahora nos preguntará que modelos queremos descargar, si queremos todos, pulsamos enter.
Empezará a descargar los modelos:
Una vez instalados, yo recomiendo guardarlos aparte, están en las carpetas:
Ya que solo deja descargar durante 24 horas y 5 veces.
Una vez bajados los modelos, podemos instalar llama:
pip install -e .
Ahora, para comprobar que funciona, tendremos que utilizar este comando:
torchrun --nproc_per_node 1 example_text_completion.py \ --ckpt_dir llama-2-7b/ \ --tokenizer_path tokenizer.model \ --max_seq_len 128 --max_batch_size 4
Con este puedes probar el chat:
torchrun --nproc_per_node 1 example_chat_completion.py \ --ckpt_dir llama-2-7b-chat/ \ --tokenizer_path tokenizer.model \ --max_seq_len 512 --max_batch_size 4
*Nota: si usas Docker, asegúrate de que puede acceder a la GPU, si no no funcionará este servicio. Si no funciona con Docker Compose, puedes intentar ejecutarlo en local.
Aquí podéis descargar más modelos compatibles con llama: https://huggingface.co/meta-llama/
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.