Pembuatan versi model dengan Model Registry

Pembuatan versi model memungkinkan Anda membuat beberapa versi dari model yang sama. Dengan pembuatan versi model, Anda dapat mengatur model dengan cara yang membantu menavigasi dan memahami perubahan mana yang berpengaruh pada model. Dengan Model Registry Anda dapat melihat model dan semua versinya dalam satu tampilan. Anda dapat melihat perincian versi model tertentu dan melihat performa persisnya.

Mengimpor versi model baru

Dari Model Registry, Anda dapat mengimpor model sebagai versi baru dari model yang ada.

Konsol

  1. Di Konsol Google Cloud, buka halaman Model Registry.
    Buka Model Registry
  2. Di bagian atas halaman, pilih Impor.
  3. Pilih Impor sebagai versi baru.
  4. Dari drop-down, pilih model yang merupakan versi barunya. Tambahkan deskripsi versi opsional.
  5. Jika perlu, tetapkan model ini sebagai versi default. Versi default telah dipilih sebelumnya setiap kali model digunakan untuk prediksi (meskipun Anda masih dapat memilih versi lainnya).
  6. Pilih Region Anda.
  7. Pilih Lanjutkan.
  8. Dari setelan Model, tentukan container yang ingin Anda gunakan. Anda dapat memilih untuk mengimpor artefak model ke container baru yang telah dibuat sebelumnya atau mengimpornya ke container kustom yang ada. Untuk mempelajari container lebih lanjut, lihat Mengimpor model ke Vertex AI.
  9. Pilih Lanjutkan.
  10. Opsional: Tambahkan dukungan penjelasan ke model Anda.
  11. Pilih Import.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • PROJECT_ID: Project ID.
  • LOCATION: Lokasinya.
  • MODEL_DISPLAY_NAME: Nama model.
  • ARTIFACT_URI: Jalur ke direktori yang berisi artefak model dan semua file pendukungnya.
  • IMAGE_URI: Image Docker yang akan digunakan sebagai container kustom untuk menyajikan prediksi.
  • PARENT_MODEL: Nama resource model tempat versi diupload.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload

Meminta isi JSON:

{

  "model": {
    "displayName": "MODEL_DISPLAY_NAME",
    "artifactUri": "ARTIFACT_URI",
    "containerSpec": {
       "imageUri": "IMAGE_URI"
    }
   },
 "parentModel": "PARENT_MODEL"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima kode status yang berhasil (2xx) dan respons kosong.

Python

Python


from typing import List

from google.cloud import aiplatform


def upload_new_model_version_using_custom_training_pipeline(
    display_name: str,
    script_path: str,
    container_uri,
    model_serving_container_image_uri: str,
    dataset_id: str,
    replica_count: int,
    machine_type: str,
    accelerator_type: str,
    accelerator_count: int,
    parent_model: str,
    args: List[str],
    model_version_aliases: List[str],
    model_version_description: str,
    is_default_version: bool,
    project: str,
    location: str,
):
    """
    Uploads a new model version using a custom training pipeline.
    Args:
        display_name: The display name of the model version.
        script_path: The path to the Python script that trains the model.
        container_uri: The URI of the container to use for training.
        model_serving_container_image_uri: The URI of the serving container image to use.
        dataset_id: The ID of the dataset to use for training.
        replica_count: The number of replicas to use for training.
        machine_type: The machine type to use for training.
        accelerator_type: The accelerator type to use for training.
        accelerator_count: The number of accelerators to use for training.
        parent_model: The parent resource name of an existing model.
        args: A list of arguments to pass to the training script.
        model_version_aliases: The aliases of the model version to create.
        model_version_description: The description of the model version.
        is_default_version: Whether the model version is the default version.
        project: The project ID.
        location: The region name.
    Returns:
        The new version of the model.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Create the training job.
    # This job will upload a new, non-default version of the my-training-job model
    job = aiplatform.CustomTrainingJob(
        display_name=display_name,
        script_path=script_path,
        container_uri=container_uri,
        model_serving_container_image_uri=model_serving_container_image_uri,
    )

    # Create dataset
    # This examples uses a TabularDataset, but you can use any dataset type.
    dataset = aiplatform.TabularDataset(dataset_id) if dataset_id else None

    # Run the training job.
    model = job.run(
        dataset=dataset,
        args=args,
        replica_count=replica_count,
        machine_type=machine_type,
        accelerator_type=accelerator_type,
        accelerator_count=accelerator_count,
        parent_model=parent_model,
        model_version_aliases=model_version_aliases,
        model_version_description=model_version_description,
        is_default_version=is_default_version,
    )

    return model

Melatih versi model baru

Dari Model Registry, Anda dapat melatih versi baru dari sebuah model.

Konsol

Dari Model Registry, Anda dapat membuat versi dari model yang sudah ada. Untuk mempelajari lebih lanjut cara menambahkan atau membuat versi model di pipeline pelatihan, lihat CustomJob dan upload model

  1. Di Konsol Google Cloud, buka halaman Model Registry.
    Buka Model Registry
  2. Di bagian atas halaman, pilih Buat. Masukkan detail metode pelatihan dan pilih metode pelatihan model.
  3. Klik Lanjutkan.
  4. Di bagian Detail model, pilih opsi Latih versi baru. Dari drop-down, pilih model yang akan ditambahi versi baru. Tambahkan deskripsi versi. Klik Lanjutkan.
  5. Dari bagian Komputasi dan harga, masukkan anggaran Anda, lalu pilih Mulai pelatihan jika Anda sudah siap. Saat pelatihan model selesai, versi baru dapat dilihat dari Model Registry.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • TRAINING_PIPELINE_NAME: Nama tampilan untuk trainingPipeline
  • TRAINING_TASK_INPUT: Parameter tugas pelatihan.
  • PARENT_MODEL: Nama resource model tempat versi diupload.

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/trainingPipelines

Meminta isi JSON:

{
  "displayName": "TRAINING_PIPELINE_NAME",
  "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/custom_task_1.0.0.yaml",
  "trainingTaskInputs":"TRAINING_TASK_INPUT"
  },
  "modelToUpload": {
    "displayName": "MODEL_DISPLAY_NAME",
    "containerSpec": {
       "imageUri": "IMAGE_URI"
    },
  },
  "parentModel": "PARENT_MODEL",

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima kode status yang berhasil (2xx) dan respons kosong.

Python

Python


from google.cloud import aiplatform


def create_default_model_sample(model_id: str, project: str, location: str):
    """
    Initialize a Model resource to represent an existing model version with alias 'default'.
    Args:
        model_id: The ID of the model to initialize. Parent resource name of the model is also accepted.
        project: The project ID.
        location: The region name.
    Returns:
        Model resource.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model resource with the ID 'model_id'. The parent_name of the Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    default_model = aiplatform.Model(model_name=model_id)

    return default_model

Cara melihat daftar semua versi model

Dari halaman detail versi model, Anda dapat memilih untuk men-deploy dan menguji model, menyiapkan prediksi batch, dan mengevaluasi berdasarkan jenis model. Anda juga dapat melihat set data yang digunakan untuk melatih versi model langsung dari halaman detail versi.

Konsol

Dari Model Registry, Anda dapat melihat daftar semua versi model. Hal ini dapat membantu Anda mendapatkan insight sekilas dan membantu pengaturan model.

  1. Di Konsol Google Cloud, buka halaman Model Registry.
    Buka Model Registry
  2. Di kolom Name, pilih nama model yang memiliki beberapa versi. Halaman versi akan terbuka.
  3. Daftar semua versi dan ID versi yang terkait akan ditampilkan.

REST

Sebelum menggunakan data permintaan mana pun, lakukan penggantian berikut:

  • PROJECT_ID: Project ID yang terkait dengan model ini
  • LOCATION: Region tempat Anda menggunakan Vertex AI.
  • MODEL_ID: ID yang terkait dengan model tertentu.

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima kode status yang berhasil (2xx) dan respons kosong.

Python

Python


from google.cloud import aiplatform


def list_model_versions_sample(model_id: str, project: str, location: str):
    """
    List all model versions of a model.
    Args:
        model_id: The ID of the model to list. Parent resource name of the model is also accepted.
        project: The project ID.
        location: The region name.
    Returns:
        versions: List of model versions.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model Registry resource with the ID 'model_id'.The parent_name of Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    model_registry = aiplatform.models.ModelRegistry(model=model_id)

    # List all model versions of the model.
    versions = model_registry.list_versions()

    return versions

Cara melihat detail versi model

Dari Model Registry, Anda dapat melihat model dan semua versi model Anda. Saat memilih model dari Model Registry, halaman detail menampilkan detail model dan detail versi model tertentu. Dari layar detail, Anda dapat mengevaluasi dan menguji versi model, menjalankan prediksi batch, atau men-deploy model ke endpoint untuk prediksi online.

Konsol

Gunakan petunjuk berikut untuk melihat halaman detail model Anda. Untuk melihat detail versi, klik nama versi.

  1. Di Konsol Google Cloud, buka halaman Model Registry.
    Buka Model Registry
  2. Dari Vertex AI Model Registry, klik nama model untuk membuka halaman detail model.
  3. Daftar semua versi dan ID versi yang terkait akan ditampilkan. Anda melihat versi model yang dipisahkan menurut baris. Detail versi model mencakup ID versi, alias model, status, deskripsi, dan label.
  4. Untuk melihat detail salah satu versi model, pilih ID versi. Halaman detail model akan terbuka
  5. Dari halaman detail, Anda dapat mengevaluasi, men-deploy, dan menguji, menggunakan prediksi batch, serta melihat detail versi lebih lanjut. Selain itu, dari halaman ini Anda dapat menggunakan Vertex AI Model Evaluation untuk membandingkan versi model Anda.

Python

Python


from google.cloud import aiplatform


def get_model_version_info_sample(
    model_id: str, version_id: str, project: str, location: str
):
    """
    Get model version info.
    Args:
        model_id: The ID of the model.
        version_id: The version ID of the model version.
        project: The project ID.
        location: The region name.
    Returns:
        VersionInfo resource.
    """

    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model Registry resource with the ID 'model_id'.The parent_name of Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    model_registry = aiplatform.models.ModelRegistry(model=model_id)

    # Get model version info with the version 'version_id'.
    model_version_info = model_registry.get_version_info(version=version_id)

    return model_version_info