La implementación de modelos con pesos personalizados es una oferta de versión preliminar. Puedes ajustar modelos en función de un conjunto predefinido de modelos básicos y, luego, implementar tus modelos personalizados en Model Garden de Vertex AI. Puedes implementar tus modelos personalizados con la importación de pesos personalizados. Para ello, sube los artefactos del modelo a un bucket de Cloud Storage en tu proyecto, lo que se realiza con un solo clic en Vertex AI.
Modelos compatibles
La versión preliminar pública de Deploy models with custom weights es compatible con los siguientes modelos básicos:
Nombre del modelo | Versión |
---|---|
Llama |
|
Gemma |
|
Qwen |
|
Deepseek |
|
Mistral y Mixtral |
|
Phi-4 |
|
OSS de OpenAI |
|
Limitaciones
Los pesos personalizados no admiten la importación de modelos cuantificados.
Archivos de modelos
Debes proporcionar los archivos del modelo en el formato de pesos de Hugging Face. Para obtener más información sobre el formato de pesos de Hugging Face, consulta Usa modelos de Hugging Face.
Si no se proporcionan los archivos requeridos, es posible que falle la implementación del modelo.
En esta tabla, se enumeran los tipos de archivos de modelos, que dependen de la arquitectura del modelo:
Contenido del archivo del modelo | Tipo de archivo |
---|---|
Configuración del modelo |
|
Pesos del modelo |
|
Índice de peso |
|
Archivos del tokenizador |
|
Ubicaciones
Puedes implementar modelos personalizados en todas las regiones desde los servicios de Model Garden.
Requisitos previos
En esta sección, se muestra cómo implementar tu modelo personalizado.
Antes de comenzar
- 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: Tu región. Por ejemplo,
uscentral1
. - MODEL_GCS: Tu modelo Google Cloud . Por ejemplo,
gs://custom-weights-fishfooding/meta-llama/Llama-3.2-1B-Instruct
. - PROJECT_ID: Es el ID de tu proyecto.
- MODEL_ID: Es el ID de tu modelo.
- MACHINE_TYPE: Es el tipo de máquina. Por ejemplo,
g2-standard-12
. - ACCELERATOR_TYPE: Es el tipo de acelerador. Por ejemplo,
NVIDIA_L4
. - ACCELERATOR_COUNT: Es la cantidad de aceleradores.
PROMPT: Es tu instrucción de texto.
En la consola de Google Cloud , ve a la página Model Garden.
Haz clic en Implementar modelo con pesos personalizados. Aparecerá el panel Implementa un modelo con pesos personalizados en Vertex AI.
En la sección Fuente del modelo, haz lo siguiente:
Haz clic en Explorar, elige el bucket en el que se almacena tu modelo y haz clic en Seleccionar.
Opcional: Ingresa el nombre del modelo en el campo Nombre del modelo.
En la sección Configuración de la implementación, haz lo siguiente:
En el campo Región, selecciona tu región y haz clic en Aceptar.
En el campo Especificación de la máquina, selecciona la especificación de la máquina que se usará para implementar tu modelo.
Opcional: En el campo Nombre del extremo, aparece el extremo de tu modelo de forma predeterminada. Sin embargo, puedes ingresar un nombre de extremo diferente en el campo.
Haz clic en Implementar modelo con pesos personalizados.
- Para obtener más información sobre los modelos de implementación propia, consulta Descripción general de los modelos de implementación propia.
- Para obtener más información sobre Model Garden, consulta la Descripción general de Model Garden.
- Para obtener más información sobre la implementación de modelos, consulta Usa modelos en Model Garden.
- Usa modelos abiertos de Gemma
- Usa modelos abiertos de Llama
- Usa modelos abiertos de Hugging Face
En este instructivo, se supone que usas Cloud Shell para interactuar con Google Cloud. Si quieres usar un shell diferente en lugar de Cloud Shell, realiza la siguiente configuración adicional:
Implementa el modelo personalizado
En esta sección, se muestra cómo implementar tu modelo personalizado.
Si usas la interfaz de línea de comandos (CLI), Python o JavaScript, reemplaza las siguientes variables por un valor para que funcionen tus muestras de código:
Console
En los siguientes pasos, se muestra cómo usar la consola de Google Cloud para implementar tu modelo con pesos personalizados.
gcloud CLI
Este comando muestra cómo implementar el modelo en una región específica.
gcloud ai model-garden models deploy --model=${MODEL_GCS} --region ${REGION}
En este comando, se muestra cómo implementar el modelo en una región específica con su tipo de máquina, tipo de acelerador y cantidad de aceleradores. Si deseas seleccionar una configuración de máquina específica, debes establecer los tres 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)
Como alternativa, no es necesario que pases un parámetro al 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}"'",
},
}'
Como alternativa, puedes usar la API para establecer el tipo de máquina de forma explícita.
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
}
}
}'