
Una guía de configuración rápida y sencilla para implementar Llama 3.1 8B en Hivenet Compute. Ya sea que necesites hacer inferencias de alto rendimiento o ampliar la longitud del contexto, esta guía te explica cómo instalar las dependencias, ofrecer el modelo y exponer los puntos finales compatibles con OpenAI.
🚀 ¡Empieza ahora y descubre todo el potencial de Llama 3.1 en Hivenet Compute!
Asegúrese de que estén instaladas las siguientes dependencias:
Para evitar la pérdida de los paquetes instalados, todas las dependencias deben instalarse dentro del /home/ubuntu/espacio de trabajo directorio.
Primero, establece una conexión SSH con tu instancia de Compute:
ssh -i ~/.ssh/id_rsa -o «proxyCommand=SSH bastion@ssh.hivecompute.ai %h» ubuntu@d348351b-a04c-4b98-9d1a-2e474623395b.ssh.hivecompute.ai
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O install_miniconda.sh
bash install_miniconda.sh -b -p /home/ubuntu/espacio de trabajo/opt/conda
export path=/home/ubuntu/workspace/opt/conda/bin: $PATH
inicio conda
Desconecte y vuelva a conectar (CTRL+D) para que los cambios surtan efecto.
comando pip install vllm
Los modelos Llama 3.1 tienen una longitud de contexto máxima de 128 000 fichas. En un RTX 4090 (24 GB DE VRAM):
export HF_TOKEN= <YOUR_HUGGING_FACE_TOKEN>nohup vllm serve Meta-llama/llama-3.1-8B-instruct --download-dir /home/ubuntu/workspace --gpu-memory-utilization 1 --max-model-len 59000 &
Supervise los registros para confirmar que los puntos finales están disponibles:
tail -f nohup.out
Busque un resultado similar al siguiente:
INFORMACIÓN 12-06 11:19:23 launcher.py:19] Las rutas disponibles son:
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /openapi.json, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /docs, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /docs/oauth2-redirect, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /redoc, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /health, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /tokenize, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /detokenize, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/models, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /version, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/chat/completions, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/completions, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/embeddings, métodos: POST
INFORMACIÓN: Se inició el proceso del servidor [93203]
INFORMACIÓN: Esperando el inicio de la aplicación.
INFORMACIÓN: Se ha completado el inicio de la aplicación.
INFORMACIÓN: Uvicorn se ejecuta en un socket ('0.0.0.0', 8000) (presiona CTRL+C para salir)
curl -X POST "http://localhost:8000/v1/chat/completions" -H «Tipo de contenido: application/json» --data '{"model»: «Meta-llama/llama-3.1-8b-Instruct», "messages»: [{"role»: «user», «content»: «¿qué es la IA?"}] , "max_tokens»: 50} '
{"id» :"chat-c31b1784c32646d2ba146e72352b6fae», "object» :"chat.completion», «creado» :1733491175, "model» :"Meta-llama/llama-3.1-8b-instruct», "choices»: [{"index» :0, "message»: {"role» :"assistant», "content» :"La inteligencia artificial (IA) se refiere a la simulación de la inteligencia humana en máquinas que están programadas para pensar y aprender como los humanos. El término también se puede aplicar a cualquier máquina que muestre rasgos asociados con la mente humana, como el aprendizaje y la resolución de problemas. \n\nAI», "tool_calls»: []}, "logprobs» :null, "finish_reason» :"length», "stop_reason» :null}], "usage»: {"prompt_tokens» :39, "total_tokens» :89, "completion_tokens» :50}, "prompt_logprobs» :null}
Para usar el longitud total de contexto de 128 K, ejecuta:
exportar HF_TOKEN= <YOUR_HUGGING_FACE_TOKEN>
nohup vllm serve Meta-llama/llama-3.1-8b-instruct --download-dir /home/ubuntu/workspace --gpu-memory-utilization 1 --max-model-len 12800 --dtype half --quantization fp8 --kv-cache-dtype fp8 &Supervise los registros y espere hasta que los puntos finales de openai estén expuestos:
tail -f nohup.out
INFORMACIÓN 12-06 11:19:23 launcher.py:19] Las rutas disponibles son:
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /openapi.json, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /docs, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /docs/oauth2-redirect, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /redoc, Métodos: GET, HEAD
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /health, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /tokenize, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /detokenize, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/models, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /version, Métodos: GET
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/chat/completions, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/completions, Métodos: POST
INFORMACIÓN 12-06 11:19:23 launcher.py:27] Ruta: /v1/embeddings, métodos: POST
INFORMACIÓN: Se inició el proceso del servidor [93203]
INFORMACIÓN: Esperando el inicio de la aplicación.
INFORMACIÓN: Se ha completado el inicio de la aplicación.
INFORMACIÓN: Uvicorn se ejecuta en un socket ('0.0.0.0', 8000) (presiona CTRL+C para salir)
Enviar una solicitud de prueba:
curl -X POST "http://localhost:8000/v1/chat/completions" -H «Tipo de contenido: application/json» --data '{"model»: «Meta-llama/llama-3.1-8b-Instruct», "messages»: [{"role»: «user», «content»: «¿qué es la IA?"}] , "max_tokens»: 50} '
Respuesta esperada:
{"id» :"chat-67dfc8a8c6904642a27fe8c889a6455d», "object» :"chat.completion», «creado» :1733491601, "model» :"Meta-llama/llama-3.1-8B-instruct», "choices»: [{"index» :0, "message»: {"role» :"assistant», "content» :"La inteligencia artificial (IA) es un campo amplio de la informática que se centra en la creación de máquinas inteligentes que puedan realizar tareas que normalmente requieren inteligencia humana. La IA implica el desarrollo de algoritmos, modelos estadísticos y técnicas de aprendizaje automático que permitan a los ordenadores pensar, aprender», "tool_calls»: []}, "logprobs» :null, "finish_reason» :"length», "stop_reason» :null}], "usage»: {"prompt_tokens» :39, "total_tokens» :89, "completion_tokens» :50}, "prompt_logprobs» :nulo}
Para permitir el acceso externo, tiene dos opciones:
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
sudo tar -xvzf ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
Añade tu token
add-authtoken de configuración de ngrok <YOUR_NGROCK_TOKEN>
<YOUR_NGROK_STATIC_DOMAIN>nohup ngrok http -url= 800 &
<YOUR_NGROK_STATIC_DOMAIN>curl https:///v1/models
{"object» :"list», "data»: [{"id» :"Meta-llama/llama-3.1-8b-instruct», "object» :"model», "created» :1733495850, "owned_by» :"vllm», "root» :"Meta-llama/llama-3.1-8b-instruct», "parent» :null, "max_model_instruct» len» :128000, «permission»: [{"id» :"modelperm-ecfa0d0e5dd04d4c973e9fc134d00d98", "object» :"model_permission», "created» :1733495850, "allow_create_engine» :false, "allow_sampling» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :true, "allow_logprobs» :_search_indices» :false, "allow_view» :true, "allow_fine_tuning» :false, "organization» :"*», "group» :null, "is_blocking» :false}]}}
curl -X POST «https://<YOUR_NGROK_STATIC_DOMAIN>/v1/chat/completions» -H «Tipo de contenido: application/json» --data '{"model»: «Meta-llama/llama-3.1-8b-Instruct», "messages»: [{"role»: «user», «content»: «¿qué es la IA?"}] , "max_tokens»: 50} '
{"id» :"chat-8f35de4b78ca4710b7d6badd26fc6439", "object» :"chat.completion», «creado» :1733495952, "model» :"Meta-llama/llama-3.1-8B-instruct», "choices»: [{"index» :0, "message»: {"role» :"assistant», "content» :"La IA, o Inteligencia Artificial, se refiere a la simulación de la inteligencia humana en máquinas que están programadas para pensar y aprender como los humanos. El término puede referirse a cualquier máquina que muestre rasgos asociados con la mente humana, como el aprendizaje, la resolución de problemas, la toma de decisiones,», "tool_calls»: []}, "logprobs» :null, "finish_reason» :"length», "stop_reason» :null}], "usage»: {"prompt_tokens» :39, "total_tokens» :89, "completion_tokens» :39, "total_tokens» :89, "completion_tokens» ::50}, "prompt_logprobs» :nulo}
¡Eso es! Ahora tienes Llama 3.1 8B ejecutándose en Compute con terminales compatibles con OpenAI. Si necesitas más longitud del contexto, modifica la configuración de precisión o actualiza tu instancia.
🚀 ¿Necesitas ayuda o quieres explorar más? ¡Inicie una instancia hoy mismo y lleve su implementación de IA al siguiente nivel!