Neste tutorial, mostramos como implantar e disponibilizar um modelo de linguagem DeepSeek-V3.1-Base usando o framework vLLM. Você implanta esse modelo em um cluster do Autopilot da edição Enterprise do Google Kubernetes Engine (GKE) e consome uma única máquina virtual A4 (VM) com 8 GPUs B200.
Este tutorial é destinado a engenheiros de machine learning (ML), administradores e operadores de plataforma e especialistas em dados e IA interessados em usar os recursos de orquestração de contêineres do Kubernetes para processar cargas de trabalho de inferência.
Objetivos
- Acesse o DeepSeek-V3.1-Base usando o Hugging Face.
- Prepare seu ambiente.
- Criar um cluster do GKE no modo Autopilot.
- Crie um secret do Kubernetes para as credenciais do Hugging Face.
- Criar um bucket do Cloud Storage.
- Baixe o modelo para o bucket do Cloud Storage.
- Implante um contêiner vLLM no cluster do GKE.
- Interaja com o DeepSeek-V3.1-Base usando curl.
- Fazer a limpeza.
Custos
Neste tutorial, usamos componentes faturáveis do Google Cloud, incluindo:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto Google Cloud que você está criando. -
Selecione o projeto Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API necessária:
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.gcloud services enable container.googleapis.com
-
Atribua papéis à sua conta de usuário. Execute uma vez o seguinte comando para cada um dos seguintes papéis do IAM:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Substitua:
PROJECT_ID: o ID do projeto.USER_IDENTIFIER: o identificador da sua conta de usuário conta. Para exemplos, consulte Representar usuários do pool de força de trabalho nas políticas do IAM.ROLE: o papel do IAM concedido à sua conta de usuário.
- Faça login ou crie uma conta do Hugging Face.
Acessar o DeepSeek usando o Hugging Face
Para usar o Hugging Face e acessar o DeepSeek, faça o seguinte:
- Faça login no Hugging Face e conheça o modelo DeepSeek-V3.1-Base.
- Crie um token de acesso
readdo Hugging Face. - Copie e salve o valor do token
read access. Você vai usar esse valor mais tarde neste tutorial.
Preparar o ambiente
Para preparar o ambiente, defina as variáveis de ambiente padrão:
Substitua:
YOUR_PROJECT_ID: o ID do Google Cloud projeto em que você quer criar o cluster do GKE.YOUR_RESERVATION_NAME: o URL da reserva que você quer usar para criar o cluster do GKE. Com base no projeto em que a reserva existe, especifique um dos seguintes valores:A reserva existe no seu projeto:
RESERVATION_NAMEA reserva existe em um projeto diferente, e seu projeto pode usar a reserva:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
YOUR_REGION: a região em que você quer criar o cluster do GKE. Só é possível criar o cluster na região em que a reserva está.YOUR_CLUSTER_NAME: o nome do cluster do GKE a ser criado.YOUR_GCS_BUCKET: o nome do bucket do Cloud Storage em que você baixa o modelo.YOUR_HF_TOKEN: o token de acesso do Hugging Face que você criou na seção anterior.YOUR_NETWORK_NAME: a rede que o cluster do GKE usa. Especifique um dos seguintes valores:Se você criou uma rede personalizada, especifique o nome dela.
Caso contrário, especifique
default.
YOUR_SUBNETWORK_NAME: a sub-rede usada pelo cluster do GKE. Especifique um dos seguintes valores:Se você criou uma sub-rede personalizada, especifique o nome dela. Só é possível especificar uma sub-rede que esteja na mesma região da reserva.
Caso contrário, especifique
default.
Criar um cluster do GKE no modo Autopilot
Para criar um cluster do GKE no modo Autopilot, execute o seguinte comando:
A criação do cluster do GKE pode levar algum tempo. Para verificar se o Google Cloud terminou de criar o cluster, acesse Clusters do Kubernetes no console Google Cloud .
Criar um secret do Kubernetes para as credenciais do Hugging Face
Para criar um secret do Kubernetes para as credenciais do Hugging Face, faça o seguinte:
Configure
kubectlpara se comunicar com o cluster do GKE:Crie um secret do Kubernetes para armazenar seu token do Hugging Face:
Criar um bucket do Cloud Storage
Se você quiser usar um novo bucket para armazenar o modelo, execute o seguinte:
Conceda permissões write no bucket do Cloud Storage à conta de serviço padrão:
Se você quiser usar um bucket do Cloud Storage, pule esta etapa. No entanto, verifique se o bucket está na mesma região que o cluster e se a conta de serviço tem as permissões write necessárias para ele.
Baixar o modelo para seu bucket do Cloud Storage
Crie um arquivo
deepseek-download-job.yaml:Aplique o manifesto
deepseek-download-job.yamlpara inicializar o job de download:Para conferir o status da conclusão, execute o comando a seguir:
A flag
--timeoutespecifica por quanto tempo o comando monitora o job antes de atingir o tempo limite.O recurso de job baixa os pesos do modelo
DeepSeek-V3.1-Basedo Hugging Face para seu bucket do Google Cloud Storage usando o volume SSD. O download leva cerca de 40 minutos para ser concluído. Quando o download terminar, vá para a próxima seção para iniciar a implantação do modelo.Para excluir o job, execute o seguinte comando:
Implantar um contêiner vLLM no cluster do GKE
Depois de baixar o modelo para o bucket do Cloud Storage, implante um contêiner vLLM no cluster do GKE seguindo estas etapas:
Crie um arquivo
vllm-deepseek3-1-base.yamlcom a implantação do vLLM escolhida:Aplique o arquivo
vllm-deepseek3-1-base.yamlao cluster do GKE:Para conferir o status da conclusão, execute o comando a seguir:
A flag
--timeoutpermite que o comando monitore a implantação durante o período especificado.
Interagir com o DeepSeek-V3.1-Base usando curl
Para verificar o modelo DeepSeek-V3.1-Base implantado, faça o seguinte:
Configure o encaminhamento de portas para o DeepSeek-V3.1-Base:
Abra uma nova janela do terminal. Em seguida, converse com o modelo usando
curl:A saída será semelhante a esta:
{ "id": "chatcmpl-1a47172070544a5d83199ed5548befca", "object": "chat.completion", "created": 1755891024, "model": "deepseek-ai/DeepSeek-V3.1-Base", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "\nGenerative AI uses patterns from existing data to create new, similar content, like text, images, or music.\n", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": null }, "logprobs": null, "finish_reason": "stop", "stop_reason": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 17, "total_tokens": 42, "completion_tokens": 25, "prompt_tokens_details": null }, "prompt_logprobs": null, "kv_transfer_params": null }
Observar a performance do modelo
Se quiser observar a performance do modelo, use a integração do painel do vLLM no Cloud Monitoring. Esse painel ajuda você a conferir métricas de desempenho importantes para seu modelo, como capacidade de processamento de tokens, latência de rede e taxas de erro. Para mais informações, consulte vLLM na documentação do Monitoring.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir os recursos
Depois de concluir o tutorial, exclua os recursos que não são mais necessários:
Para excluir a implantação e o serviço definidos no arquivo
vllm-deepseek3-1-base.yamle o secret do Kubernetes do cluster do GKE, execute o seguinte comando:Para excluir o bucket do Cloud Storage, execute o seguinte comando:
Para excluir o cluster do GKE, faça o seguinte:
Excluir o projeto
Excluir um projeto do Google Cloud :
gcloud projects delete PROJECT_ID