GCPのVertex AIの生成AIの概要と機能
概要
GCPのVertex AI(バーテックス エーアイ)は、人工知能(AI)のモデルを簡単に作成、トレーニング、デプロイするためのクラウドベースのサービスです。Vertex AIは、Google Cloudの強力なコンピューティングパワーを利用して高品質なAIモデルを構築するためのツールとリソースを提供します。また、Java、Go、C#を含むさまざまなプログラミング言語に対応しており、開発者が利便性を重視しながらAIモデルの開発を行うことができます。
機能
-
データ前処理: Vertex AIは、トレーニングデータの前処理を簡素化するための機能を提供します。データのスケーリング、欠損値の処理、カテゴリカルデータのエンコーディングなど、さまざまな前処理タスクを自動化することができます。
-
モデルトレーニング: Vertex AIは、トレーニングデータを使用してAIモデルをトレーニングするための機能を提供します。トレーニングジョブの作成や管理、ハイパーパラメータのチューニングなど、モデルトレーニングに必要なタスクをサポートします。
-
モデルデプロイ: Vertex AIは、トレーニング済みのモデルをデプロイするための機能を提供します。デプロイメントを行うことで、作成したモデルを実際のアプリケーションやサービスで利用することができます。
-
自動スケーリング: Vertex AIは、トレーニングや推論において必要な計算リソースのスケーリングを自動で行います。多くのトレーニングジョブや推論リクエストがある場合でも、自動的にリソースを追加するため、パフォーマンスや応答性を維持することができます。
-
モデル監視: Vertex AIは、デプロイされたモデルのパフォーマンスや予測の品質を監視するためのツールを提供します。異常な挙動が検出された場合には、アラートを送信するなどのアクションを実行することができます。
サンプルコード
Java:
import com.google.cloud.aiplatform.v1.LocationName;
import com.google.cloud.aiplatform.v1.Model;
import com.google.cloud.aiplatform.v1.ModelServiceClient;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class VertexAIJavaSample {
public static void main(String[] args) throws IOException {
// GCPプロジェクトとLocationを指定
String projectId = "your-project-id";
String location = "us-central1";
try (ModelServiceClient modelServiceClient = ModelServiceClient.create()) {
// モデルの作成
LocationName parent = LocationName.of(projectId, location);
String modelDisplayName = "my_model";
String containerImageUri = "gcr.io/my_project/my_model_image:latest";
Map<String, Value> metadata = new HashMap<>();
metadata.put("key1", Value.newBuilder().setStringValue("value1").build());
Model model =
Model.newBuilder()
.setDisplayName(modelDisplayName)
.setContainerSpec(ContainerSpec.newBuilder().setImageUri(containerImageUri))
.putAllMetadata(metadata)
.build();
Model createdModel = modelServiceClient.createModel(parent, model);
System.out.println("Created Model: " + createdModel.getName());
}
}
}
Go:
package main
import (
"context"
"fmt"
"log"
aiplatform "cloud.google.com/go/aiplatform/apiv1"
aiplatformpb "google.golang.org/genproto/googleapis/cloud/aiplatform/v1"
)
func main() {
// GCPプロジェクトとLocationを指定
projectID := "your-project-id"
location := "us-central1"
ctx := context.Background()
client, err := aiplatform.NewModelClient(ctx)
if err != nil {
log.Fatal(err)
}
// モデルの作成
request := &aiplatformpb.CreateModelRequest{
Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
Model: &aiplatformpb.Model{
DisplayName: "my_model",
ContainerSpec: &aiplatformpb.Model_ContainerSpec{
ImageUri: "gcr.io/my_project/my_model_image:latest",
},
Metadata: map[string]*aiplatformpb.Value{
"key1": {
Kind: &aiplatformpb.Value_StringValue{
StringValue: "value1",
},
},
},
},
}
response, err := client.CreateModel(ctx, request)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Created Model: %s\n", response.Name)
}
C#:
using Google.Cloud.AIPlatform.V1;
using System;
using System.Collections.Generic;
class VertexAI
{
public void CreateModel()
{
// GCPプロジェクトとLocationを指定
string projectId = "your-project-id";
string location = "us-central1";
// モデルの作成
ModelServiceClient modelServiceClient = ModelServiceClient.Create();
LocationName parent = new LocationName(projectId, location);
string modelDisplayName = "my_model";
string containerImageUri = "gcr.io/my_project/my_model_image:latest";
Dictionary<string, Value> metadata = new Dictionary<string, Value>
{
{ "key1", Value.ForStringValue("value1") }
};
Model model = new Model
{
DisplayName = modelDisplayName,
ContainerSpec = new ContainerSpec
{
ImageUri = containerImageUri
},
Metadata = { metadata }
};
Model createdModel = modelServiceClient.CreateModel(parent, model);
Console.WriteLine("Created Model: " + createdModel.Name);
}
}
以上が、GCPのVertex AIの生成AIの概要と機能についての詳細な説明と、Java、Go、C#のサンプルコードです。