Este tutorial orienta você a implantar o modelo Meta-Llama-3.1-8B na Vertex AI. Você vai aprender a implantar endpoints e otimizar para suas necessidades específicas. Se você tiver cargas de trabalho tolerantes a falhas, use as VMs do Spot para otimizar os custos. Se você quiser garantir a disponibilidade, use as reservas do Compute Engine. Você vai aprender a implantar endpoints que usam:
- VMs spot:use instâncias provisionadas por spot para economizar custos.
- Reservas:garanta a disponibilidade de recursos para um desempenho previsível, especialmente para cargas de trabalho de produção. Este tutorial demonstra como usar reservas automáticas (
ANY_RESERVATION
) e específicas (SPECIFIC_RESERVATION
).
Saiba mais em VMs do Spot ou Reservas de recursos do Compute Engine.
Pré-requisitos
Antes de começar, conclua os seguintes pré-requisitos:
- Um Google Cloud projeto com faturamento ativado.
- As APIs Vertex AI e Compute Engine ativadas.
- Cota suficiente para o tipo de máquina e o acelerador que você pretende usar, como GPUs NVIDIA L4. Para verificar suas cotas, consulte Cotas e limites do sistema no Google Cloud console.
- Uma conta do Hugging Face e um token de acesso do usuário com acesso de leitura.
- Se você estiver usando reservas compartilhadas, conceda permissões do IAM entre projetos. Essas permissões são abordadas no notebook.
Implantar em VMs do Spot
As seções a seguir orientam você no processo de configuração do projeto Google Cloud , na configuração da autenticação Hugging Face, na implantação do modelo Llama-3.1 usando VMs do Spot ou reservas e no teste da implantação.
1. Configurar o Google Cloud projeto e a reserva compartilhada
Abra o bloco do Colab Enterprise.
Na primeira seção, defina as variáveis PROJECT_ID
, SHARED_PROJECT_ID
(se aplicável), BUCKET_URI
e REGION
no notebook do Colab.
O notebook concede o papel compute.viewer à conta de serviço de ambos os projetos.
Se você pretende usar uma reserva criada em um projeto diferente na mesma organização, conceda o papel compute.viewer
à conta de serviço principal (P4SA) de ambos os projetos. O código do notebook vai automatizar isso, mas verifique se SHARED_PROJECT_ID
está definido corretamente. Essa permissão entre projetos permite que o endpoint da Vertex AI no seu projeto principal consulte e use a capacidade de reserva no projeto compartilhado.
2. Configurar a autenticação do Hugging Face
Para fazer o download do modelo Llama-3.1, você precisa fornecer seu token de acesso do usuário do Hugging Face na variável HF_TOKEN
no notebook do Colab. Se você não fornecer um, vai receber o seguinte erro: Cannot access gated repository for URL
.

3. Implantar com a VM do Spot
Para implantar o modelo Llama em uma VM do Spot, navegue até a seção "Implantação de endpoint da Vertex AI da VM do Spot" no notebook do Colab e defina is_spot=True
.
base_model_name = "Meta-Llama-3.1-8B"
hf_model_id = "meta-llama/" + base_model_name
if "8b" in base_model_name.lower():
accelerator_type = "NVIDIA_L4"
machine_type = "g2-standard-12"
accelerator_count = 1
max_loras = 5
else:
raise ValueError(
f"Recommended GPU setting not found for: {accelerator_type} and {base_model_name}."
)
common_util.check_quota(
project_id=PROJECT_ID,
region=REGION,
accelerator_type=accelerator_type,
accelerator_count=accelerator_count,
is_for_training=False,
)
gpu_memory_utilization = 0.95
max_model_len = 8192
models["vllm_gpu_spotvm"], endpoints["vllm_gpu_spotvm"] = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(prefix="llama3_1-serve-spotvm"),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=machine_type,
accelerator_type=accelerator_type,
accelerator_count=accelerator_count,
gpu_memory_utilization=gpu_memory_utilization,
max_model_len=max_model_len,
max_loras=max_loras,
enforce_eager=True,
enable_lora=True,
use_dedicated_endpoint=False,
model_type="llama3.1",
is_spot=True,
)
Implantar em instâncias de reserva compartilhada
As seções a seguir orientam você no processo de criação de uma reserva compartilhada, configuração das configurações de reserva, implantação do modelo Llama-3.1 usando ANY_RESERVATION
ou SPECIFIC_RESERVATION
e teste da implantação.
1. Criar uma reserva compartilhada
Para configurar suas reservas, acesse a seção "Configurar reservas para previsões da Vertex AI" do notebook. Defina as variáveis necessárias para a reserva, como RES_ZONE
, RESERVATION_NAME
, RES_MACHINE_TYPE
, RES_ACCELERATOR_TYPE
e RES_ACCELERATOR_COUNT
.
É necessário definir RES_ZONE
como {REGION}-{availability_zone}
.
RES_ZONE = "a"
RES_ZONE = f"{REGION}-{RES_ZONE}"
RESERVATION_NAME = "shared-reservation-1"
RESERVATION_NAME = f"{PROJECT_ID}-{RESERVATION_NAME}"
RES_MACHINE_TYPE = "g2-standard-12"
RES_ACCELERATOR_TYPE = "nvidia-l4"
RES_ACCELERATOR_COUNT = 1
rev_names.append(RESERVATION_NAME)
create_reservation(
res_project_id=PROJECT_ID,
res_zone=RES_ZONE,
res_name=RESERVATION_NAME,
res_machine_type=RES_MACHINE_TYPE,
res_accelerator_type=RES_ACCELERATOR_TYPE,
res_accelerator_count=RES_ACCELERATOR_COUNT,
shared_project_id=SHARED_PROJECT_ID,
)
2. Compartilhar suas reservas
Há dois tipos de reservas: de projeto único (padrão) e compartilhadas. As reservas de projeto único só podem ser usadas por VMs no mesmo projeto da reserva. As reservas compartilhadas, por outro lado, podem ser usadas pelas VMs no projeto em que a reserva está localizada, bem como em qualquer outro projeto com que a reserva foi compartilhada. O uso de reservas compartilhadas pode melhorar a utilização dos recursos reservados e reduzir o número total de reservas que você precisa criar e gerenciar. Este tutorial se concentra em reservas compartilhadas. Saiba mais em Como funcionam as reservas compartilhadas.
Antes de continuar, selecione "Compartilhar com outros Serviços do Google" no console Google Cloud , conforme mostrado na figura:

3. Implantar com ANY_RESERVATION
Para implantar o endpoint usando ANY_RESERVATION
, acesse a seção "Deploy Llama-3.1 Endpoint with ANY_RESERVATION
" do notebook. Defina as configurações de implantação e reservation_affinity_type="ANY_RESERVATION"
. Em seguida, execute a célula para implantar o endpoint.
hf_model_id = "meta-llama/Meta-Llama-3.1-8B"
models["vllm_gpu_any_reserve"], endpoints["vllm_gpu_any_reserve"] = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(
prefix=f"llama3_1-serve-any-{RESERVATION_NAME}"
),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=MACHINE_TYPE,
accelerator_type=ACCELERATOR_TYPE,
accelerator_count=ACCELERATOR_COUNT,
model_type="llama3.1",
reservation_affinity_type="ANY_RESERVATION",
)
4. Testar o endpoint ANY_RESERVATION
Com o endpoint implantado, teste alguns comandos para garantir que ele foi implantado corretamente.
5. Implantar com SPECIFIC_RESERVATION
Para implantar o endpoint usando SPECIFIC_RESERVATION
, acesse a seção "Deploy Llama-3.1 Endpoint with SPECIFIC_RESERVATION
" do notebook. Especifique os seguintes parâmetros: reservation_name
, reservation_affinity_type="SPECIFIC_RESERVATION"
, reservation_project
e reservation_zone
. Em seguida, execute a célula para implantar o endpoint.
hf_model_id = "meta-llama/Meta-Llama-3.1-8B"
MACHINE_TYPE = "g2-standard-12"
ACCELERATOR_TYPE = "NVIDIA_L4"
ACCELERATOR_COUNT = 1
(
models["vllm_gpu_specific_reserve"],
endpoints["vllm_gpu_specific_reserve"],
) = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(
prefix=f"llama3_1-serve-specific-{RESERVATION_NAME}"
),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=MACHINE_TYPE,
accelerator_type=ACCELERATOR_TYPE,
accelerator_count=ACCELERATOR_COUNT,
model_type="llama3.1",
reservation_name=RESERVATION_NAME,
reservation_affinity_type="SPECIFIC_RESERVATION",
reservation_project=PROJECT_ID,
reservation_zone=RES_ZONE,
)
6. Testar o endpoint SPECIFIC_RESERVATION
Com o endpoint implantado, verifique se a reserva é usada pela previsão on-line da Vertex AI e teste alguns comandos para garantir que ela seja implantada corretamente.

7. Limpar
Para evitar cobranças contínuas, exclua os modelos, endpoints e reservas criados durante este tutorial. O notebook do Colab fornece código na seção "Limpeza" para automatizar esse processo.
Solução de problemas
- Erros no token do Hugging Face:verifique se o token do Hugging Face tem permissões
read
e se ele está definido corretamente no notebook. - Erros de cota:verifique se você tem cota de GPU suficiente na região em que está fazendo a implantação. Solicite um aumento de cota, se necessário.
- Conflitos de reserva:verifique se o tipo de máquina e a configuração do acelerador da implantação do endpoint correspondem às configurações da reserva. Verifique se as reservas podem ser compartilhadas com os Serviços do Google
Próximas etapas
- Confira as diferentes variantes do modelo Llama 3.
- Saiba mais sobre as reservas nesta Visão geral das reservas do Compute Engine.
- Saiba mais sobre as VMs spot nesta Visão geral das VMs spot.