
Um guia de configuração rápido e prático para implantar o Llama 3.1 8B no Hivenet Compute. Se você precisa de inferência de alto desempenho ou extensão de contexto estendida, este guia explica como instalar dependências, servir o modelo e expor endpoints compatíveis com OpenAI.
🚀 Comece agora e desbloqueie todo o potencial do Llama 3.1 no Hivenet Compute!
Certifique-se de que as seguintes dependências estejam instaladas:
Para evitar a perda dos pacotes instalados, todas as dependências devem ser instaladas dentro do /home/ubuntu/espaço de trabalho diretório.
Primeiro, estabeleça uma conexão SSH com sua instância de computação:
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/workspace/opt/conda
caminho de exportação =/home/ubuntu/workspace/opt/conda/bin: $PATH
conda init
Desconecte e reconecte (CTRL+D) para que as alterações entrem em vigor.
pip install vllm
Os modelos Llama 3.1 têm um comprimento máximo de contexto de 128 mil tokens. Em um RTX 4090 (24 GB DE MEMÓRIA RAM):
export HF_TOKEN= <YOUR_HUGGING_FACE_TOKEN>nohup vllm server meta-lama/llama-3.1-8b-instruct --download-dir /home/ubuntu/workspace --gpu-memory-utilization 1 --max-model-len 59000 &
Monitore os registros para confirmar que os endpoints estão disponíveis:
cauda -f nohup.out
Procure uma saída semelhante a:
INFO 12-06 11:19:23 launcher.py:19] As rotas disponíveis são:
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /openapi.json, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /docs, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /docs/oauth2-redirect, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /redoc, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /health, Métodos: GET
INFO 12-06 11:19:23 launcher.py:27] Rota: /tokenize, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /detokenize, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /v1/models, Métodos: GET
INFO 12-06 11:19:23 launcher.py:27] Rota: /version, Métodos: GET
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /v1/chat/completions, Métodos: POST
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /v1/completions, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /v1/embeddings, Métodos: POST
INFORMAÇÃO: Processo de servidor iniciado [93203]
INFORMAÇÃO: Aguardando a inicialização do aplicativo.
INFORMAÇÃO: Inicialização do aplicativo concluída.
INFORMAÇÃO: Uvicorn em execução no soquete ('0.0.0.0', 8000) (pressione CTRL+C para sair)
curl -X POST "http://localhost:8000/v1/chat/completions" -H “Tipo de conteúdo: application/json” --data '{"model”: “meta-llama/llama-3.1-8b-instruct”, "messages”: [{"role”: “user”, “content”: “o que é IA?"}] , “max_tokens”: 50} '
{"id” :"chat-c31b1784c32646d2ba146e72352b6fae”, "object” :"chat.completion”, "created” :1733491175, "model” :"meta-llama/llama-3.1-8b-instruct”, "escolhas”: [{"index” :0, "mensagem”: {"role” :"assistant”, "content” :"Inteligência Artificial (IA) se refere à simulação da inteligência humana em máquinas programadas para pensar e aprender como humanos. O termo também pode ser aplicado a qualquer máquina que exiba características associadas à mente humana, como aprendizado e resolução 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 o tamanho total do contexto de 128K, execute:
exportar HF_TOKEN= <YOUR_HUGGING_FACE_TOKEN>
nohup vllm serve meta-lama/llama-3.1-8b-instruct --download-dir /home/ubuntu/workspace --gpu-memory-utilization 1 --max-model-len 128000 --dtype half --quantization fp8 --kv-cache-dtype fp8 &Monitore os registros e espere até que os endpoints openai sejam expostos:
cauda -f nohup.out
INFO 12-06 11:19:23 launcher.py:19] As rotas disponíveis são:
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /openapi.json, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /docs, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /docs/oauth2-redirect, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /redoc, Métodos: GET, HEAD
INFO 12-06 11:19:23 launcher.py:27] Rota: /health, Métodos: GET
INFO 12-06 11:19:23 launcher.py:27] Rota: /tokenize, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /detokenize, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /v1/models, Métodos: GET
INFO 12-06 11:19:23 launcher.py:27] Rota: /version, Métodos: GET
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /v1/chat/completions, Métodos: POST
INFORMAÇÕES 12-06 11:19:23 launcher.py:27] Rota: /v1/completions, Métodos: POST
INFO 12-06 11:19:23 launcher.py:27] Rota: /v1/embeddings, Métodos: POST
INFORMAÇÃO: Processo de servidor iniciado [93203]
INFORMAÇÃO: Aguardando a inicialização do aplicativo.
INFORMAÇÃO: Inicialização do aplicativo concluída.
INFORMAÇÃO: Uvicorn em execução no soquete ('0.0.0.0', 8000) (pressione CTRL+C para sair)
Envie uma solicitação de teste:
curl -X POST "http://localhost:8000/v1/chat/completions" -H “Tipo de conteúdo: application/json” --data '{"model”: “meta-llama/llama-3.1-8b-instruct”, "messages”: [{"role”: “user”, “content”: “o que é IA?"}] , “max_tokens”: 50} '
Resposta esperada:
{"id” :"chat-67dfc8a8c6904642a27fe8c889a6455d”, "object” :"chat.completion”, "created” :1733491601, "model” :"meta-llama/llama-3.1-8b-instruct”, "escolhas”: [{"index” :0, "mensagem”: {"role” :"assistant”, "content” :"Inteligência Artificial (IA) é um amplo campo da ciência da computação que se concentra na criação de máquinas inteligentes que podem realizar tarefas que normalmente requerem inteligência humana. A IA envolve o desenvolvimento de algoritmos, modelos estatísticos e técnicas de aprendizado de máquina para permitir que os computadores pensem, aprendam”, "tool_calls”: []}, "logprobs” :null, "finish_reason” :"length”, "stop_reason” :null}], "usage”: {"prompt_tokens” :39, “total_tokens” :89, “completion_tokens” :50}, “prompt_logprobs” :null}
Para permitir acesso externo, você tem duas opções:
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
Adicione seu token
ngrok config add-authtoken <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” :nnull, “max_model_len” :128000, "permission”: [{"id” :"modelperm-ecfa0d0e5dd04d4c973e9fc134d00d98", "object” :"model_permission”, "created” :1733495850, "allow_create_engine” :false, “allow_sampling” :true, “allow_sampling” :true, “allow_engine” :false _logprobs” :true, “allow_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 conteúdo: application/json” --data '{"model”: “meta-llama/llama-3.1-8b-instruct”, "messages”: [{"role”: “user”, “content”: “o que é IA?"}] , “max_tokens”: 50} '
{"id” :"chat-8f35de4b78ca4710b7d6badd26fc6439", "object” :"chat.completion”, "created” :1733495952, "model” :"meta-llama/llama-3.1-8b-instruct”, "choices”: [{"index” :0, "message”: {"role” :"assistant”, "content” :"AI, ou Inteligência Artificial, refere-se à simulação da inteligência humana em máquinas programadas para pensar e aprender como humanos. O termo pode se referir a qualquer máquina que exiba características associadas à mente humana, como aprendizado, resolução de problemas, tomada de decisões,”, "tool_calls”: []}, "logprobs” :null, "finish_reason” :"length”, "stop_reason” :null}], "usage”: {"prompt_tokens” :39, "total_tokens” :89, "completion_tokens” tokens” :50}, “prompt_logprobs” :null}
É isso aí! Agora você tem o Llama 3.1 8B em execução no Compute com endpoints compatíveis com OpenAI. Se você precisar de mais comprimento de contexto, ajuste as configurações de precisão ou atualize sua instância.
🚀 Precisa de ajuda ou quer explorar mais? Inicie uma instância hoje e leve sua implantação de IA para o próximo nível!