Modelle mit benutzerdefinierten Gewichtungen bereitstellen

Die Bereitstellung von Modellen mit benutzerdefinierten Gewichten ist ein Vorschauangebot. Sie können Modelle auf Grundlage einer vordefinierten Gruppe von Basismodellen abstimmen und Ihre angepassten Modelle in Vertex AI Model Garden bereitstellen. Sie können Ihre benutzerdefinierten Modelle mit dem Import benutzerdefinierter Gewichte bereitstellen, indem Sie Ihre Modellartefakte in einen Cloud Storage-Bucket in Ihrem Projekt hochladen. In Vertex AI ist das mit nur einem Klick möglich.

Unterstützte Modelle

Die öffentliche Vorabversion von Modelle mit benutzerdefinierten Gewichten bereitstellen wird von den folgenden Basismodellen unterstützt:

Modellname Version
Llama
  • Llama-2: 7B, 13B
  • Llama-3.1: 8B, 70B
  • Llama-3.2: 1B, 3B
  • Llama-4: Scout-17B, Maverick-17B
  • CodeLlama-13B
Gemma
  • Gemma-2: 27B
  • Gemma-3: 1B, 4B, 3-12B, 27B
  • Medgemma: 4B, 27B-text
Qwen
  • Qwen2: 1,5 Mrd.
  • Qwen2.5: 0,5 Mrd., 1,5 Mrd., 7 Mrd., 32 Mrd.
  • Qwen3: 0,6 Mrd., 1,7 Mrd., 8 Mrd., 32 Mrd., Qwen3-Coder-480B-A35B-Instruct, Qwen3-Next-80B-A3B-Instruct, Qwen3-Next-80B-A3B-Thinking
Deepseek
  • Deepseek-R1
  • Deepseek-V3
  • DeepSeek-V3.1
Mistral und Mixtral
  • Mistral-7B-v0.1
  • Mixtral-8x7B-v0.1
  • Mistral-Nemo-Base-2407
Phi-4
  • Phi-4-reasoning
OpenAI OSS
  • gpt-oss: 20B, 120B

Beschränkungen

Benutzerdefinierte Gewichte unterstützen den Import von quantisierten Modellen nicht.

Modelldateien

Sie müssen die Modelldateien im Hugging Face-Gewichtsformat angeben. Weitere Informationen zum Hugging Face-Gewichtsformat finden Sie unter Hugging Face-Modelle verwenden.

Wenn die erforderlichen Dateien nicht bereitgestellt werden, schlägt die Bereitstellung des Modells möglicherweise fehl.

In dieser Tabelle sind die Arten von Modelldateien aufgeführt, die von der Architektur des Modells abhängen:

Inhalte der Modelldatei Dateityp
Modellkonfiguration
  • config.json
Modellgewichtungen
  • *.safetensors
  • *.bin
Gewichtsindex
  • *.index.json
Tokenizer-Datei(en)
  • tokenizer.model
  • tokenizer.json
  • tokenizer_config.json

Standorte

Sie können benutzerdefinierte Modelle in allen Regionen über Model Garden-Dienste bereitstellen.

Vorbereitung

In diesem Abschnitt wird gezeigt, wie Sie Ihr benutzerdefiniertes Modell bereitstellen.

Hinweise

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. In the Google Cloud console, activate Cloud Shell.

    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.

  9. In dieser Anleitung wird davon ausgegangen, dass Sie Cloud Shell zur Interaktion mit Google Cloudverwenden. Wenn Sie anstelle von Cloud Shell eine andere Shell nutzen möchten, führen Sie die folgende zusätzliche Konfiguration aus:

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init

    Benutzerdefiniertes Modell bereitstellen

    In diesem Abschnitt wird gezeigt, wie Sie Ihr benutzerdefiniertes Modell bereitstellen.

    Wenn Sie die Befehlszeile, Python oder JavaScript verwenden, ersetzen Sie die folgenden Variablen durch einen Wert, damit Ihre Codebeispiele funktionieren:

    • REGION: Ihre Region. Beispiel: uscentral1
    • MODEL_GCS: Ihr Google Cloud -Modell. Beispiel: gs://custom-weights-fishfooding/meta-llama/Llama-3.2-1B-Instruct
    • PROJECT_ID: Ihre Projekt-ID.
    • MODEL_ID: Ihre Modell-ID.
    • MACHINE_TYPE: Ihr Maschinentyp. Beispiel: g2-standard-12.
    • ACCELERATOR_TYPE: Ihr Beschleunigertyp. Beispiel: NVIDIA_L4.
    • ACCELERATOR_COUNT: Die Anzahl der Beschleuniger.
    • PROMPT: Ihr Text-Prompt.

    Console

    In den folgenden Schritten wird beschrieben, wie Sie Ihr Modell mit benutzerdefinierten Gewichten über die Google Cloud -Konsole bereitstellen.

    1. Rufen Sie in der Google Cloud Console die Seite Model Garden auf.

      Zu Model Garden

    2. Klicken Sie auf Modell mit benutzerdefinierten Gewichten bereitstellen. Der Bereich Modell mit benutzerdefinierten Gewichten in Vertex AI bereitstellen wird angezeigt.

    3. Führen Sie im Abschnitt Modellquelle folgende Schritte aus:

      1. Klicken Sie auf Durchsuchen, wählen Sie den Bucket aus, in dem Ihr Modell gespeichert ist, und klicken Sie auf Auswählen.

      2. Optional: Geben Sie den Namen Ihres Modells in das Feld Modellname ein.

    4. Führen Sie im Abschnitt Bereitstellungseinstellungen die folgenden Schritte aus:

      1. Wählen Sie im Feld Region Ihre Region aus und klicken Sie auf OK.

      2. Wählen Sie im Feld Maschinenspezifikation die Maschinenspezifikation aus, die zum Bereitstellen Ihres Modells verwendet wird.

      3. Optional: Im Feld Endpunktname wird standardmäßig der Endpunkt Ihres Modells angezeigt. Sie können jedoch einen anderen Endpunktnamen in das Feld eingeben.

    5. Klicken Sie auf Modell mit benutzerdefinierten Gewichten bereitstellen.

    gcloud-CLI

    Dieser Befehl zeigt, wie das Modell in einer bestimmten Region bereitgestellt wird.

    gcloud ai model-garden models deploy --model=${MODEL_GCS} --region ${REGION}
    

    Dieser Befehl zeigt, wie Sie das Modell mit seinem Maschinentyp, Beschleunigertyp und der Anzahl der Beschleuniger in einer bestimmten Region bereitstellen. Wenn Sie eine bestimmte Maschinenkonfiguration auswählen möchten, müssen Sie alle drei Felder festlegen.

    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)
    

    Alternativ müssen Sie keinen Parameter an die Methode custom_model.deploy() übergeben.

    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}"'",
      },
    }'
    

    Alternativ können Sie den Maschinentyp explizit über die API festlegen.

    
    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
        }
      }
    }'
    

    Abfrage erstellen

    Nachdem Ihr Modell bereitgestellt wurde, werden benutzerdefinierte Gewichte für den öffentlichen dedizierten Endpunkt unterstützt. Sie können Abfragen über die API oder das SDK senden.

    Bevor Sie Anfragen senden können, müssen Sie die Endpunkt-URL, die Endpunkt-ID und die Modell-ID abrufen. Diese sind in der Google Cloud Console verfügbar.

    So rufen Sie die Informationen ab:

    1. Rufen Sie in der Google Cloud Console die Seite Model Garden auf.

      Model Garden

    2. Klicken Sie auf Meine Endpunkte und Modelle ansehen.

    3. Wählen Sie in der Liste Region Ihre Region aus.

    4. Wenn Sie die Endpunkt-ID und die Endpunkt-URL abrufen möchten, klicken Sie im Bereich Meine Endpunkte auf den gewünschten Endpunkt.

      Ihre Endpunkt-ID wird im Feld Endpunkt-ID angezeigt.

      Die URL Ihres öffentlichen Endpunkts wird im Feld Dedizierter Endpunkt angezeigt.

    5. So rufen Sie die Modell-ID ab: Suchen Sie in der Liste Bereitgestellte Modelle nach Ihrem Modell und gehen Sie so vor:

      1. Klicken Sie im Feld Modell auf den Namen des bereitgestellten Modells.
      2. Klicken Sie auf Versionsdetails. Ihre Modell-ID wird im Feld Modell-ID angezeigt.

    Nachdem Sie die Informationen zu Ihrem Endpunkt und bereitgestellten Modell erhalten haben, finden Sie in den folgenden Codebeispielen Informationen zum Senden einer Inferenzanfrage. Alternativ können Sie auch Online-Inferenzanfrage an einen dedizierten öffentlichen Endpunkt senden lesen.

    API

    Die folgenden Codebeispiele zeigen verschiedene Möglichkeiten, die API basierend auf Ihrem Anwendungsfall zu verwenden.

    Chat-Vervollständigung (unär)

    Bei dieser Beispielanfrage wird eine vollständige Chatnachricht an das Modell gesendet und eine Antwort in einem einzigen Chunk empfangen, nachdem die gesamte Antwort generiert wurde. Das ist ähnlich wie beim Senden einer SMS und dem Erhalten einer einzelnen vollständigen Antwort.

      curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://${ENDPOINT_URL}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT_ID}/chat/completions" \
        -d '{
        "model": "'"${MODEL_ID}"'",
        "temperature": 0,
        "top_p": 1,
        "max_tokens": 154,
        "ignore_eos": true,
        "messages": [
          {
            "role": "user",
            "content": "How to tell the time by looking at the sky?"
          }
        ]
      }'
    

    Chat-Vervollständigung (Streaming)

    Diese Anfrage ist die Streaming-Version der unären Chat-Vervollständigungsanfrage. Wenn Sie der Anfrage "stream": true hinzufügen, sendet das Modell seine Antwort nach und nach, während sie generiert wird. Dies ist nützlich, um in einer Chatanwendung einen Echtzeit-Effekt zu erzeugen, der an eine Schreibmaschine erinnert.

      curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \  "https://${ENDPOINT_URL}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT_ID}/chat/completions" \
        -d '{
        "model": "'"${MODEL_ID}"'",
        "stream": true,
        "temperature": 0,
        "top_p": 1,
        "max_tokens": 154,
        "ignore_eos": true,
        "messages": [
          {
            "role": "user",
            "content": "How to tell the time by looking at the sky?"
          }
        ]
      }'
    

    Vorhersagen

    Bei dieser Anfrage wird ein direkter Prompt gesendet, um eine Inferenz von einem Modell zu erhalten. Dies wird häufig für Aufgaben verwendet, die nicht unbedingt dialogorientiert sind, z. B. Textzusammenfassung oder ‑klassifizierung.

      curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
      "https://${ENDPOINT_URL}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT_ID}:predict" \
        -d '{
        "instances": [
          {
            "prompt": "How to tell the time by looking at the sky?",
            "temperature": 0,
            "top_p": 1,
            "max_tokens": 154,
            "ignore_eos": true
          }
        ]
      }'
    

    Raw Predict

    Diese Anfrage ist eine Streaming-Version der Predict-Anfrage. Wenn Sie den :streamRawPredict-Endpunkt verwenden und "stream": true einfügen, wird mit dieser Anfrage ein direkter Prompt gesendet und die Ausgabe des Modells als kontinuierlicher Datenstrom empfangen, während sie generiert wird. Das ähnelt der Streaming-Chat-Completion-Anfrage.

      curl -X POST \
        -N \
        --output - \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://${ENDPOINT_URL}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT_ID}:streamRawPredict" \
        -d '{
        "instances": [
          {
            "prompt": "How to tell the time by looking at the sky?",
            "temperature": 0,
            "top_p": 1,
            "max_tokens": 154,
            "ignore_eos": true,
            "stream": true
          }
        ]
      }'
    

    SDK

    In diesem Codebeispiel wird das SDK verwendet, um eine Anfrage an ein Modell zu senden und eine Antwort von diesem Modell zu erhalten.

      from google.cloud import aiplatform
    
      project_id = ""
      location = ""
      endpoint_id = "" # Use the short ID here
    
      aiplatform.init(project=project_id, location=location)
    
      endpoint = aiplatform.Endpoint(endpoint_id)
    
      prompt = "How to tell the time by looking at the sky?"
      instances=[{"text": prompt}]
      response = endpoint.predict(instances=instances, use_dedicated_endpoint=True)
      print(response.predictions)
    

    Ein weiteres Beispiel für die Verwendung der API finden Sie im Notebook zum Importieren benutzerdefinierter Gewichte.

    Weitere Informationen zu selbst bereitgestellten Modellen in Vertex AI