はじめに
Google CloudのPCA(Professional Cloud Architect)認定資格取得に向けて学習した内容を自分なりに整理します。Google Cloudのサービスに限らず、それを扱う上での関連知識についても触れています。
本記事は AI / ML編ということで、下記の要素を扱います。
- Vertex AI
- モデル作成: AutoML
- 大規模言語モデル: Generative AI Studio
- 機械学習のトレーニング: 旧称 Google Cloud Machine Learning (Cloud ML Engine)
- Google Cloudが提供するAI関連のAPI群
- Cloud Vision API
- Speech-To-Text / Text-To-Speech API
- Cloud Natural Language API
- Cloud Translation API
この記事における「現在」や「最近」などの表現は、特に断らない限り2025年6月時点を指します
Vertex AI
- 機械学習モデルの構築からデプロイ、運用までを包括的にサポートするマネージドサービス
- トレーニング用データの管理、モデルのトレーニング、モデルのデプロイというパイプラインの管理を行う
- コードなしでモデルを構築するAutoMLと、ユーザー自信で定義したカスタムモデルの両方に対応
- 高度なカスタマイズを行えることが、後述のAPI群よりも有利な点
- 逆に簡単な組込みAIであれば、API群が向いている
モデル作成: AutoML
- コードなしでモデルを構築できる機能群
- 画像分類、自然言語処理など
- 内部ではTensorFlowベース
- データソースとしてCloud StorageやBigQueryを使用可能
- Cloud Storageは、主に画像・動画・音声・非構造データの保存用
- BigQueryは、構造化データの教師データを保持し、Vertex AIにわたす前の前処理を行うこともある
大規模言語モデル: Generative AI Studio
- PaLMやGeminiなどの大規模言語モデル(LLM)を使ったアプリ開発を支援するUIツール
- プロンプトのチューニングや評価などが可能
- デプロイしたモデルは、Cloud RunやCloud FunctionsなどにAPIとして組み込める
機械学習のトレーニング: 旧称 Google Cloud Machine Learning (Cloud ML Engine)
- 機械学習モデルのトレーニングに特化
- モデルの監視・バージョン管理・再学習まで一元化している
- TensorFLow や PyTorch などのフレームワークに対応
- TensorFlowはGoogleが開発したフレームワーク
Google Cloudが提供するAI関連のAPI群
Vertex AIほど高度にカスタマイズするのではなく、簡単な組込みAIが欲しい場合にはAPI群が利用できる
これらはプリビルト(事前学習済み)なサービス
Cloud Vision API
- 画像認識を行い、ラベル検出やOCR、顔検出などを行うためのAPI
- Cloud Storageの画像と連携し、Cloud Functionsでトリガー処理を自動化できる
- リアルタイムの処理が可能
- 動画(を分割した画像)に対してのOCRなどを行いたい場合、現状ではVision APIのみが対応している
- Cloud Video Intelligence APIはリアルタイム処理に対応していないため
- 動画(を分割した画像)に対してのOCRなどを行いたい場合、現状ではVision APIのみが対応している
Speech-To-Text / Text-To-Speech API
- 音声を認識してテキスト情報にしたり、テキストから音声合成を行ったりするAPI
- 音声データはCloud Storageから取得する
- ストリーミング処理ではPub/SubやCloud Functionsと組み合わせる
Cloud Natural Language API
- 自然言語処理(NLP)のためのAPI
- テキストの構文解析、感情分析、エンティティ抽出などを行う
- REST APIベースでどこからも呼び出し可能
- Cloud Functionsなどから利用しやすい
Cloud Translation API
- テキストの翻訳及び言語検出を行うAPI
- 数十の言語をサポート
- WebアプリやCloud Runのマイクロサービスとの連携に適している
- Cloud Video Intelligence API
- 動画ファイルを分析して、ラベル検出やショット分割、顔や人物の検出、文字起こし(Speech-To-Text との連携)などを提供する
- 動画内のコンテンツを構造化する目的で利用される
- あくまで動画ファイルに対するバッチ処理(事後処理)を提供するものなので、ストリーミング動画やリアルタイム処理には非対応
- Cloud Storage上の動画ファイルに対応
- 解析結果の構造化データはBigQueryに保存し、検索できる