Vertex AI SDK には、トレーニングして予測に使用するモデルで機能する Model クラスが含まれています。この SDK には、トレーニング済みの AutoML モデルの指標を評価するための ModelEvaluation クラスも含まれています。モデルの詳細については、独自のモデルをトレーニングして使用するをご覧ください。
Model
Model クラスは、Gemini Enterprise Agent Platform Model Registry に登録されているトレーニング済みモデルを表します。予測を生成するには、トレーニング済みモデルを使用します。
aiplatform.Model() メソッドを使用して、モデルへの参照を見つけて返します。名前または ID を使用してモデルを指定できます。1 つのプロジェクト内で複数のモデルが同じ名前を使用する可能性があるため、モデル ID のあるモデルを指定することをおすすめします。次のコードサンプルは、モデル ID を使用して既存のモデルへの参照を見つけて返す方法を示しています。
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
トレーニング済みモデルへの参照を取得したら、Model のプロパティとメソッドを使用して予測を取得できます。
登録済みのモデルを作成する
Gemini Enterprise Agent Platform Model Registry に登録されたモデルリソースを作成するには、トレーニング ジョブ クラスの run メソッドを呼び出します。次のメソッドでは、モデルを作成してトレーニングし、Gemini Enterprise Agent Platform Model Registry に登録してからモデルへの参照を返します。
AutoMLForecastingTrainingJob.runAutoMLImageTrainingJob.runAutoMLTabularTrainingJob.runAutoMLTextTrainingJob.runAutoMLVideoTrainingJob.runCustomContainerTrainingJob.runCustomPythonPackageTrainingJob.runCustomTrainingJob.run
次のサンプルコードでは、CustomTrainingJob リソースを作成し、その run メソッドを使用してモデルを作成します。さらにモデルをトレーニングして、Gemini Enterprise エージェント プラットフォーム Model Registry に登録し、そのモデルへの参照を返します。
# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
display_name="my-training-job",
script_path="task.py",
container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)
# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
dataset=dataset,
model_display_name="my-model-name",
bigquery_destination=f"bq://{project_id}",
args=CMDARGS,
)
未登録のモデルを作成する
Gemini Enterprise Agent Platform Model Registry に登録されていないモデルを作成するには、CustomJob クラスとその run メソッドを使用します。CustomJob.run メソッドはモデルをトレーニングしますが、Gemini Enterprise Agent Platform Model Registry にはモデルを登録しません。また、モデルへの参照も返しません。
CustomJob クラスを使用する場合は、スクリプトを使用して Cloud Storage バケットなどの場所にモデルを書き込む必要があります。詳細については、トレーニング済み ML モデルをエクスポートするをご覧ください。
モデルを登録する
Gemini Enterprise Agent Platform Model Registry にモデルを登録していない場合は、モデルを登録してモデルのライフサイクルを管理する必要があります。Gemini Enterprise Agent Platform Model Registry は、モデルの概要を提供する一元的なリポジトリで、モデルの管理に使用できます。詳細については、Gemini Enterprise Agent Platform Model Registry の概要をご覧ください。
Vertex AI SDK には、Gemini Enterprise Agent Platform Model Registry にモデルをインポートする次のメソッドが含まれています。Vertex AI SDK リファレンス ガイドでいずれかのメソッドをクリックして、詳細をご確認ください。
Model.uploadModel.upload_scikit_learn_model_fileModel.upload_tensorflow_saved_modelModel.upload_xgboost_model_file
モデルをデプロイする
モデルを登録したら、モデルを予測に使用する前にエンドポイントにデプロイする必要があります。Model.deploy メソッドを使用して、モデルを Endpoint にデプロイします。詳細については、エンドポイントにモデルをデプロイするをご覧ください。
ModelEvaluation
ModelEvaluation クラスを使用して、適合率や再現率などの AutoML モデルの評価指標を取得し、モデルのパフォーマンスを判定します。詳細については、Gemini Enterprise Agent Platform でのモデル評価をご覧ください。
次のコードサンプルは、プロジェクト ID が my-project のプロジェクトに属し、us-central1 リージョンにあるモデル ID model-id のモデルのすべての評価を一覧表示する方法を示しています。
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
次のコードサンプルは、プロジェクト ID が my-project のプロジェクトに属し、us-central1 リージョンにあるモデル ID model-id のモデル評価を取得する方法を示しています。
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()
eval_metrics = evaluation.metrics
モデル評価への参照を作成するには、リソース名またはモデル ID と評価 ID を使用します。次のコードサンプルは、リソース名を使用してモデル評価への参照を作成する方法を示しています。
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
次のコードサンプルは、モデル ID と評価 ID を使用してモデル評価への参照を作成する方法を示しています。
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics
次のステップ
- Vertex AI SDK について学習する。