Cómo ejecutar Llama 2 localmente: La guía definitiva para Mac, Windows y dispositivos móviles
Published on
Si has estado siguiendo de cerca el mundo del Procesamiento de Lenguaje Natural (NLP), probablemente hayas oído hablar de Llama 2, el innovador modelo de lenguaje que está causando sensación en el mundo de la tecnología. Pero, ¿sabías que puedes ejecutar este modelo avanzado localmente en tu propio dispositivo? ¡Así es! No necesitas una supercomputadora ni siquiera una conexión a internet para aprovechar el poder de Llama 2.
Ya seas usuario de Mac, aficionado a Windows o incluso entusiasta de los dispositivos móviles, esta guía te cubre. Nos adentraremos en los detalles más técnicos de cómo ejecutar Llama 2 en diferentes plataformas, utilizando diferentes herramientas, e incluso te daremos algunos consejos profesionales para optimizar tu experiencia. Así que, ¡empecemos!
¿Quieres conocer las últimas noticias de LLM? ¡Visita el último ranking de LLM!
¿Qué es Llama 2?
Llama 2 es la última iteración de la serie de modelos de lenguaje Llama, diseñada para comprender y generar texto similar al humano basado en los datos en los que se ha entrenado. Es producto de una extensa investigación y desarrollo, capaz de realizar una amplia gama de tareas de NLP, desde la generación de texto simple hasta la resolución de problemas complejos. El modelo viene en diferentes tamaños, que se indican según la cantidad de parámetros que tienen, como 7B, 13B e incluso 70B.
¿Por qué ejecutar Llama 2 localmente? Estos son los beneficios:
- Privacidad: Al ejecutar Llama 2 localmente, garantizas que tus datos permanezcan en tu dispositivo, lo que ofrece una capa adicional de seguridad.
- Velocidad: La ejecución local elimina la necesidad de que los datos viajen a través de internet, lo que se traduce en tiempos de respuesta más rápidos.
- Acceso sin conexión: Una vez instalado, puedes utilizar Llama 2 sin conexión a internet, lo que lo hace increíblemente versátil.
- Gestión de recursos: Ejecutar el modelo localmente te permite gestionar los recursos de tu dispositivo de manera más eficaz, especialmente cuando no estás conectado a internet.
Cómo instalar LLaMA2 en Mac utilizando Llama.cpp
Si eres usuario de Mac, una de las formas más eficientes de ejecutar Llama 2 localmente es utilizando Llama.cpp. Este es un puerto de C/C++ del modelo de Llama, que te permite ejecutarlo con cuantización de enteros de 4 bits, lo cual es especialmente beneficioso para la optimización del rendimiento.
-
Requisitos de RAM: Asegúrate de tener al menos 8 GB de RAM para los modelos de 3B, 16 GB para los modelos de 7B y 32 GB para los modelos de 13B.
-
Abrir Terminal: Navega hasta el directorio de tu preferencia donde deseas instalar Llama.cpp.
-
Ejecutar el comando en una línea: Ejecuta el siguiente comando para instalar Llama.cpp:
curl -L "https://replicate.fyi/install-llama-cpp" | bash
-
Entender el script: Este comando en una línea realiza varias acciones:
- Clona el repositorio de Llama.cpp desde GitHub.
- Compila el proyecto con soporte para GPU (usando la opción
LLAMA_METAL=1
). - Descarga el modelo de Llama 2.
- Configura un indicador interactivo para que empieces a utilizar Llama 2.
-
Probar la instalación: Una vez que la instalación esté completa, puedes probarla ejecutando algunos ejemplos de texto. Por ejemplo:
./main -m ./models/llama-2-13b-chat.ggmlv3.q4_0.bin --color --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1.1 -t 8
Este comando ejecuta el modelo en modo interactivo con diversas opciones para personalización.
Siguiendo estos pasos, podrás tener Llama 2 funcionando en tu Mac en poco tiempo. El método de Llama.cpp es especialmente útil para aquellos que están familiarizados con los comandos de terminal y buscan una experiencia optimizada en términos de rendimiento.
Instalar Llama 2 en Windows con WSL
¡Usuarios de Windows, no se sientan excluidos! También pueden ejecutar Llama 2 localmente en su máquina utilizando Windows Subsystem for Linux (WSL). WSL te permite ejecutar una distribución de Linux en tu máquina con Windows, lo que facilita la instalación y ejecución de aplicaciones basadas en Linux, como Llama 2.
-
Requisitos de RAM: Asegúrate de tener al menos 8 GB de RAM para los modelos de 3B, 16 GB para los modelos de 7B y 32 GB para los modelos de 13B.
-
Instalar WSL: Si aún no lo has hecho, debes instalar WSL en tu máquina con Windows. Puedes hacer esto siguiendo la guía oficial de Microsoft.
-
Abrir Terminal de WSL: Una vez que WSL esté instalado, abre el terminal de WSL y navega hasta el directorio de tu preferencia.
-
Ejecutar el comando en una línea: Ejecuta el siguiente comando para instalar Llama 2:
curl -L "https://replicate.fyi/windows-install-llama-cpp" | bash
-
Entender el script: Este comando en una línea realiza varias tareas:
- Clona el repositorio de Llama.cpp desde GitHub.
- Compila el proyecto.
- Descarga el modelo de Llama 2.
- Configura un indicador interactivo para que empieces a utilizar Llama 2.
-
Probar la instalación: Una vez que se complete la instalación, puedes probarla ejecutando algunos ejemplos de texto. Por ejemplo:
./main -m ./models/llama-2-13b-chat.ggmlv3.q4_0.bin --color --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 --temp 0.2 --repeat_penalty 1.1 -t 8
Este comando ejecuta el modelo en modo interactivo con diversas opciones para personalización.
El método de WSL es una forma robusta de ejecutar Llama 2 en Windows, especialmente si estás familiarizado con los comandos de Linux. Ofrece una experiencia fluida sin necesidad de cambiar de sistema operativo.
Ejecutar Llama 2 en dispositivos móviles: MLC LLM para iOS y Android
Siempre que estés en movimiento, te entusiasmará saber que puedes ejecutar Llama 2 en tu dispositivo móvil. Gracias a MLC LLM, un proyecto de código abierto, ahora puedes ejecutar Llama 2 en las plataformas iOS y Android.
-
Descargar la aplicación:
- Para los usuarios de iOS, descarga la aplicación de chat MLC desde la App Store.
- Para los usuarios de Android, descarga la aplicación MLC LLM desde Google Play.
-
Instalar TestFlight (solo iOS): La última versión que admite Llama 2 aún está en beta para iOS. Deberás instalar TestFlight para probarlo.
-
Descargar el modelo:
- Abre la aplicación y ve a la sección de descarga del modelo.
- Elige el tamaño del modelo que deseas descargar (7B, 13B o 70B).
-
Ejecutar el modelo:
- Una vez descargado el modelo, puedes ejecutarlo navegando hasta la interfaz de chat dentro de la aplicación.
- Ingresa tu indicación y espera a que el modelo genere una respuesta.
Ejecutar Llama 2 en tu dispositivo móvil a través de MLC LLM ofrece una comodidad sin igual. Ya sea que estés viajando, de viaje o simplemente lejos de tu computadora principal, aún puedes acceder al poder de Llama 2 desde tu bolsillo.
Cómo ejecutar Llama 2 con llama2-webui
Si buscas una forma más fácil de usar Llama 2, no busques más allá de llama2-webui
. Esta potente herramienta te permite ejecutar Llama 2 con una interfaz web, lo que la hace accesible desde cualquier lugar y en cualquier sistema operativo, incluidos Linux, Windows y Mac. Desarrollado por el usuario de GitHub liltom-eth, llama2-webui
admite todos los modelos de Llama 2 y ofrece una variedad de funciones que la convierten en una elección versátil tanto para principiantes como para expertos.
Características de llama2-webui
- Soporte del modelo: llama2-webui admite todos los modelos de Llama 2, incluidos 7B, 13B, 70B, GPTQ, GGML, GGUF y CodeLlama.
- Soporte backend: Admite varios backends como transformers, bitsandbytes para inferencia de 8 bits, AutoGPTQ para inferencia de 4 bits y llama.cpp.
- Compatibilidad con la API de OpenAI: llama2-webui te permite ejecutar una API compatible con OpenAI en los modelos de Llama 2, lo que facilita la integración con sistemas existentes.
Cómo instalar llama2-webui
- Desde PyPI: Puedes instalar el paquete llama2-wrapper desde PyPI usando el siguiente comando:
pip install llama2-wrapper
- Desde el código fuente: Alternativamente, puedes clonar el repositorio de GitHub e instalar los requisitos:
git clone https://github.com/liltom-eth/llama2-webui.git cd llama2-webui pip install -r requirements.txt
Cómo usar llama2-webui
- Iniciar la interfaz de chat: Para ejecutar el chatbot con una interfaz web, ejecuta el siguiente comando:
python app.py
- Iniciar la interfaz de Code Llama: Si te interesa la finalización de código, puedes ejecutar la interfaz de Code Llama con el siguiente comando:
python code_completion.py --model_path ./models/codellama-7b.Q4_0.gguf
- Personalización: Puedes personalizar la ruta del modelo, el tipo de backend y otras configuraciones en el archivo
.env
.
llama2-wrapper para desarrolladores
Para aquellos que están desarrollando agentes generativos o aplicaciones, llama2-wrapper
se puede utilizar como un wrapper de backend. Aquí tienes un ejemplo en Python:
from llama2_wrapper import LLAMA2_WRAPPER, get_prompt
llama2_wrapper = LLAMA2_WRAPPER()
prompt = "¿Conoces PyTorch?"
answer = llama2_wrapper(get_prompt(prompt), temperature=0.9)
Ejecutar API compatible con OpenAI
También puedes ejecutar un servidor Fast API que actúa como un reemplazo a la API de OpenAI. Para iniciar Fast API, utiliza el siguiente comando:
python -m llama2_wrapper.server
Pruebas de rendimiento
La herramienta viene con un script de benchmarking para medir el rendimiento de tu configuración. Puedes ejecutarlo usando:
python benchmark.py
Otras formas de ejecutar Llama 2 de forma local
Ya tienes claro cómo ejecutar Llama 2 en tu dispositivo, pero estás deseando más. Tal vez estás buscando formas de ejecutarlo sin consumir todos los recursos del sistema, o quizás estás curioso acerca de cómo ejecutarlo en un dispositivo que no está oficialmente soportado. Sea cual sea el caso, esta sección es para ti. Vamos a explorar métodos alternativos para ejecutar Llama 2 de forma local, cada uno con sus propias ventajas y desafíos.
Ejecutar Llama 2 en una Raspberry Pi
Sí, leíste bien. Es totalmente posible ejecutar Llama 2 en una Raspberry Pi, y el rendimiento es sorprendentemente bueno. Esta es una opción fantástica para aquellos que desean tener un dispositivo dedicado para ejecutar Llama 2 sin gastar mucho dinero.
- Instalar dependencias: Abre tu terminal y ejecuta los siguientes comandos para instalar los paquetes necesarios:
sudo apt-get update sudo apt-get install git cmake build-essential
- Clonar el repositorio de Llama.cpp: Usa git para clonar el repositorio de Llama.cpp.
git clone https://github.com/ggerganov/llama.cpp.git
- Compilar y construir: Navega hasta el directorio clonado y compila el proyecto.
cd llama.cpp make
- Ejecutar Llama 2: Por último, ejecuta el siguiente comando para ejecutar Llama 2.
./main -m ./models/llama-2-13b-chat.ggmlv3.q4_0.bin
Ejecutar Llama 2 en un contenedor Docker
Para aquellos que prefieren la contenerización, ejecutar Llama 2 en un contenedor Docker es una opción viable. Este método asegura que el entorno de Llama 2 esté aislado de tu sistema local, proporcionando una capa adicional de seguridad.
- Instalar Docker: Si aún no lo has hecho, instala Docker en tu máquina.
- Obtener la imagen Docker de Llama 2: Abre tu terminal y obtén la imagen Docker de Llama 2.
docker pull llama2/local
- Ejecutar el contenedor: Ejecuta el siguiente comando para ejecutar Llama 2 en un contenedor Docker.
docker run -it --rm llama2/local
Ejecutar Llama 2 en un dispositivo Android mediante Termux
- Instalar Termux: Descarga e instala la aplicación Termux desde Google Play Store.
- Actualizar paquetes: Abre Termux y actualiza la lista de paquetes.
pkg update
- Instalar los paquetes necesarios: Instala los paquetes necesarios.
pkg install git clang make
- Clonar y compilar Llama.cpp: Sigue los mismos pasos que en la sección de Raspberry Pi para clonar y compilar Llama.cpp.
- Ejecutar Llama 2: Utiliza el siguiente comando para ejecutar Llama 2.
./main -m ./models/llama-2-13b-chat.ggmlv3.q4_0.bin
Al explorar estos métodos alternativos, no solo estás ejecutando Llama 2; lo estás ejecutando a tu manera. Ya sea en un Raspberry Pi económico, en un contenedor Docker seguro o incluso en tu teléfono Android, las posibilidades son tan ilimitadas como tu imaginación.
Cómo ejecutar Llama 2 en varios dispositivos
Si eres alguien que utiliza varios dispositivos y desea tener Llama 2 funcionando en todos ellos, esta sección es para ti. Este método utiliza la sincronización de dispositivos para asegurar que tu sesión de Llama 2 sea consistente en todos tus dispositivos.
- Configurar un servidor central: Elige un dispositivo para actuar como servidor central. Esto podría ser tu PC principal o un servidor en la nube.
- Instalar Llama 2 en todos los dispositivos: Asegúrate de tener instalado Llama 2 en todos los dispositivos que deseas utilizar.
- Sincronizar los dispositivos: Utiliza una herramienta como
rsync
o almacenamiento en la nube para sincronizar los directorios de Llama 2 en todos los dispositivos.rsync -avz ~/llama2/ user@remote:/path/to/llama2/
- Ejecutar Llama 2: Inicia Llama 2 en cada dispositivo. Todos accederán a los mismos datos, asegurando una experiencia sin problemas.
Conclusión
En esta guía completa, hemos explorado varios métodos para ejecutar Llama 2 localmente, hemos profundizado en los aspectos técnicos de usar Docker e incluso hemos mencionado los beneficios de las soluciones basadas en la nube. También hemos destacado el poder de llama2-webui, una herramienta versátil que no solo admite una amplia gama de modelos de Llama 2, sino que también ofrece compatibilidad con la API de OpenAI, convirtiéndola en una solución integral tanto para principiantes como para expertos.
Ya sea que seas un desarrollador que busca integrar Llama 2 en tu aplicación o un científico de datos que busca realizar análisis avanzados, las técnicas y herramientas discutidas aquí ofrecen algo para todos. Al aprovechar estos métodos avanzados, puedes optimizar tu experiencia con Llama 2, asegurando un entrenamiento eficiente del modelo, una implementación sin problemas y una utilización efectiva de los recursos.
Así que no te conformes con lo básico. Experimenta con estas técnicas avanzadas para desbloquear todo el potencial de Llama 2 y llevar tus proyectos al siguiente nivel.
¿Quieres conocer las últimas noticias de LLM? ¡Consulta la última clasificación de LLM!