0
0

GCP Vertex AI の生成 AI機能と実装

Posted at

GCPのVertex AIの生成AIの概要と機能

概要

GCPのVertex AI(バーテックス エーアイ)は、人工知能(AI)のモデルを簡単に作成、トレーニング、デプロイするためのクラウドベースのサービスです。Vertex AIは、Google Cloudの強力なコンピューティングパワーを利用して高品質なAIモデルを構築するためのツールとリソースを提供します。また、Java、Go、C#を含むさまざまなプログラミング言語に対応しており、開発者が利便性を重視しながらAIモデルの開発を行うことができます。

機能

  1. データ前処理: Vertex AIは、トレーニングデータの前処理を簡素化するための機能を提供します。データのスケーリング、欠損値の処理、カテゴリカルデータのエンコーディングなど、さまざまな前処理タスクを自動化することができます。

  2. モデルトレーニング: Vertex AIは、トレーニングデータを使用してAIモデルをトレーニングするための機能を提供します。トレーニングジョブの作成や管理、ハイパーパラメータのチューニングなど、モデルトレーニングに必要なタスクをサポートします。

  3. モデルデプロイ: Vertex AIは、トレーニング済みのモデルをデプロイするための機能を提供します。デプロイメントを行うことで、作成したモデルを実際のアプリケーションやサービスで利用することができます。

  4. 自動スケーリング: Vertex AIは、トレーニングや推論において必要な計算リソースのスケーリングを自動で行います。多くのトレーニングジョブや推論リクエストがある場合でも、自動的にリソースを追加するため、パフォーマンスや応答性を維持することができます。

  5. モデル監視: 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#のサンプルコードです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0