A implementação de modelos com ponderações personalizadas é uma oferta de pré-visualização. Pode otimizar os modelos com base num conjunto predefinido de modelos base e implementar os seus modelos personalizados no Model Garden do Vertex AI. Pode implementar os seus modelos personalizados usando a importação de ponderações personalizadas carregando os artefactos do modelo para um contentor do Cloud Storage no seu projeto, o que é uma experiência de um clique na Vertex AI.
Modelos suportados
A pré-visualização pública da funcionalidade Implemente modelos com ponderações personalizadas é suportada pelos seguintes modelos base:
Nome do modelo | Versão |
---|---|
Llama |
|
Gemma |
|
Qwen |
|
Deepseek |
|
Mistral e Mixtral |
|
Phi-4 |
|
OpenAI OSS |
|
Limitações
As ponderações personalizadas não suportam a importação de modelos quantizados.
Ficheiros do modelo
Tem de fornecer os ficheiros do modelo no formato de pesos do Hugging Face. Para mais informações sobre o formato de ponderações do Hugging Face, consulte o artigo Use modelos do Hugging Face.
Se não forem fornecidos os ficheiros necessários, a implementação do modelo pode falhar.
Esta tabela apresenta os tipos de ficheiros de modelos, que dependem da arquitetura do modelo:
Conteúdo do ficheiro de modelo | Tipo de ficheiro |
---|---|
Configuração do modelo |
|
Pesos do modelo |
|
Índice de pesos |
|
Ficheiros do tokenizador |
|
Localizações
Pode implementar modelos personalizados em todas as regiões a partir dos serviços do Model Garden.
Pré-requisitos
Esta secção demonstra como implementar o seu modelo personalizado.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- REGION: a sua região. Por exemplo,
uscentral1
. - MODEL_GCS: o seu modelo Google Cloud . Por exemplo,
gs://custom-weights-fishfooding/meta-llama/Llama-3.2-1B-Instruct
. - PROJECT_ID: o ID do seu projeto.
- MODEL_ID: o ID do seu modelo.
- MACHINE_TYPE: o tipo de máquina. Por exemplo,
g2-standard-12
. - ACCELERATOR_TYPE: o tipo de acelerador. Por exemplo,
NVIDIA_L4
. - ACCELERATOR_COUNT: a quantidade de aceleradores.
PROMPT: o seu comando de texto.
Na Google Cloud consola, aceda à página Model Garden.
Clique em Implementar modelo com ponderações personalizadas. É apresentado o painel Implemente um modelo com ponderações personalizadas no Vertex AI.
Na secção Origem do modelo, faça o seguinte:
Clique em Procurar, escolha o contentor onde o modelo está armazenado e clique em Selecionar.
Opcional: introduza o nome do modelo no campo Nome do modelo.
Na secção Definições de implementação, faça o seguinte:
No campo Região, selecione a sua região e clique em OK.
No campo Especificação da máquina, selecione a especificação da máquina que é usada para implementar o seu modelo.
Opcional: no campo Nome do ponto final, o ponto final do seu modelo é apresentado por predefinição. No entanto, pode introduzir um nome de ponto final diferente no campo.
Clique em Implementar modelo com ponderações personalizadas.
- Para mais informações sobre os modelos implementados autonomamente, consulte o artigo Vista geral dos modelos implementados autonomamente.
- Para mais informações sobre o Model Garden, consulte o artigo Vista geral do Model Garden.
- Para mais informações sobre a implementação de modelos, consulte o artigo Use modelos no Model Garden.
- Use modelos abertos Gemma
- Use modelos abertos do Llama
- Use modelos abertos da Hugging Face
Este tutorial pressupõe que está a usar a Cloud Shell para interagir com o Google Cloud. Se quiser usar uma shell diferente da Cloud Shell, faça a seguinte configuração adicional:
Implemente o modelo personalizado
Esta secção demonstra como implementar o seu modelo personalizado.
Se estiver a usar a interface de linhas de comando (CLI), o Python ou o JavaScript, substitua as seguintes variáveis por um valor para que os exemplos de código funcionem:
Consola
Os passos seguintes mostram como usar a Google Cloud consola para implementar o seu modelo com ponderações personalizadas.
CLI gcloud
Este comando demonstra como implementar o modelo numa região específica.
gcloud ai model-garden models deploy --model=${MODEL_GCS} --region ${REGION}
Este comando demonstra como implementar o modelo numa região específica com o respetivo tipo de máquina, tipo de acelerador e número de aceleradores. Se quiser selecionar uma configuração de máquina específica, tem de definir todos os três campos.
gcloud ai model-garden models deploy --model=${MODEL_GCS} --machine-type=${MACHINE_TYE} --accelerator-type=${ACCELERATOR_TYPE} --accelerator-count=${ACCELERATOR_COUNT} --region ${REGION}
Python
import vertexai
from google.cloud import aiplatform
from vertexai.preview import model_garden
vertexai.init(project=${PROJECT_ID}, location=${REGION})
custom_model = model_garden.CustomModel(
gcs_uri=GCS_URI,
)
endpoint = custom_model.deploy(
machine_type="${MACHINE_TYPE}",
accelerator_type="${ACCELERATOR_TYPE}",
accelerator_count="${ACCELERATOR_COUNT}",
model_display_name="custom-model",
endpoint_display_name="custom-model-endpoint")
endpoint.predict(instances=[{"prompt": "${PROMPT}"}], use_dedicated_endpoint=True)
Em alternativa, não tem de transmitir um parâmetro ao método custom_model.deploy()
.
import vertexai
from google.cloud import aiplatform
from vertexai.preview import model_garden
vertexai.init(project=${PROJECT_ID}, location=${REGION})
custom_model = model_garden.CustomModel(
gcs_uri=GCS_URI,
)
endpoint = custom_model.deploy()
endpoint.predict(instances=[{"prompt": "${PROMPT}"}], use_dedicated_endpoint=True)
curl
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:deploy" \
-d '{
"custom_model": {
"gcs_uri": "'"${MODEL_GCS}"'"
},
"destination": "projects/'"${PROJECT_ID}"'/locations/'"${REGION}"'",
"model_config": {
"model_user_id": "'"${MODEL_ID}"'",
},
}'
Em alternativa, pode usar a API para definir explicitamente o tipo de máquina.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:deploy" \
-d '{
"custom_model": {
"gcs_uri": "'"${MODEL_GCS}"'"
},
"destination": "projects/'"${PROJECT_ID}"'/locations/'"${REGION}"'",
"model_config": {
"model_user_id": "'"${MODEL_ID}"'",
},
"deploy_config": {
"dedicated_resources": {
"machine_spec": {
"machine_type": "'"${MACHINE_TYPE}"'",
"accelerator_type": "'"${ACCELERATOR_TYPE}"'",
"accelerator_count": '"${ACCELERATOR_COUNT}"'
},
"min_replica_count": 1
}
}
}'