Cloud AI サービスを介したリモートモデルのための CREATE MODEL ステートメント
このドキュメントでは、Cloud AI サービスを介して BigQuery でリモートモデルを作成するための CREATE MODEL
ステートメントについて説明します。たとえば、Cloud Natural Language API などです。
CREATE MODEL
の構文
{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL} `project_id.dataset.model_name` REMOTE WITH CONNECTION `project_id.region.connection_id` OPTIONS(REMOTE_SERVICE_TYPE = remote_service_type [, DOCUMENT_PROCESSOR = document_processor] [, SPEECH_RECOGNIZER = speech_recognizer] );
CREATE MODEL
指定したデータセットに新しいモデルを作成し、トレーニングします。モデル名が存在する場合、CREATE MODEL
はエラーを返します。
CREATE MODEL IF NOT EXISTS
指定したデータセットにモデルが存在しない場合にのみ、新しいモデルを作成してトレーニングします。
CREATE OR REPLACE MODEL
モデルを作成してトレーニングし、指定したデータセット内の同じ名前をもつ既存のモデルを置き換えます。
model_name
作成または置換するモデルの名前。モデル名は、データセット内で一意である必要があります。他のモデルやテーブルに同じ名前を付けることはできません。モデル名は、BigQuery テーブルと同じ命名規則に従う必要があります。モデル名の条件は次のとおりです。
- 1,024 文字以内
- 英字(大文字または小文字)、数字、アンダースコアだけが含まれている
model_name
では、大文字と小文字は区別されません。
デフォルト プロジェクトを構成していない場合は、次の形式でプロジェクト ID をモデル名の前に付加する必要があります(バッククォートを含みます)。
`[PROJECT_ID].[DATASET].[MODEL]`
たとえば `myproject.mydataset.mymodel` です。
REMOTE WITH CONNECTION
構文
`[PROJECT_ID].[LOCATION].[CONNECTION_ID]`
BigQuery は、クラウド リソース接続を使用して Cloud AI サービスとやり取りします。
接続の要素は次のとおりです。
PROJECT_ID
: 接続を含むプロジェクトのプロジェクト ID。LOCATION
: 接続で使用されるロケーション。接続は、モデルを含むデータセットと同じロケーションに存在する必要があります。CONNECTION_ID
: 接続 ID(例:myconnection
)。接続 ID を確認するには、Google Cloud コンソールで接続の詳細を表示します。接続 ID は、接続 ID に表示される完全修飾された接続 ID の最後のセクションの値です(例:
projects/myproject/locations/connection_location/connections/myconnection
)。
モデルを作成するプロジェクトの接続のサービス アカウントに Vertex AI ユーザーロールを付与する必要があります。
例
`myproject.us.my_connection`
REMOTE_SERVICE_TYPE
構文
REMOTE_SERVICE_TYPE = { 'CLOUD_AI_NATURAL_LANGUAGE_V1' | 'CLOUD_AI_TRANSLATE_V3' | 'CLOUD_AI_VISION_V1' | 'CLOUD_AI_DOCUMENT_V1' | 'CLOUD_AI_SPEECH_TO_TEXT_V2' }
説明
モデルの作成に使用するサービスを指定します。
- Cloud Natural Language API
- Cloud Translation API
- Cloud Vision API
- Document AI API(プレビュー)
- Speech-to-Text API(プレビュー)
Cloud AI サービスに基づいてリモートモデルを作成したら、次のいずれかの BigQuery ML 関数でモデルを使用して BigQuery データを分析できます。
- Cloud Natural Language API モデルの場合は、
ML.UNDERSTAND_TEXT
を使用します。 - Cloud Translation API モデルの場合は、
ML.TRANSLATE
を使用します。 - Cloud Vision API モデルの場合は、
ML.ANNOTATE_IMAGE
を使用します。 - Document AI API モデルの場合は、
ML.PROCESS_DOCUMENT
(プレビュー)を使用します。 - Speech-to-Text API モデルの場合は、
ML.TRANSCRIBE
(プレビュー)を使用します。
例
REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1'
DOCUMENT_PROCESSOR
このオプションでは、REMOTE_SERVICE_TYPE
値が CLOUD_AI_DOCUMENT_V1
の場合に使用するドキュメント プロセッサを指定します。Document AI API を介してリモートモデルを作成する場合は、このオプションを使用する必要があります。このオプションは、他のタイプのリモートモデルでは使用できません。
Document AI には、次のようなさまざまな種類のドキュメントから分析情報を抽出する事前構築済みのプロセッサが用意されています。
- 請求書
- 税務フォーム
- 財務諸表
すべてのタイプのプロセッサがサポートされているわけではありません。サポートされているプロセッサはドキュメントから分析情報を抽出し、プロセッサ ギャラリーに Extract
で始まる説明を表示します。たとえば、請求書、支払い明細、銀行明細書のパーサーなどです。サポートされていないプロセッサを指定すると、CREATE MODEL
ステートメントは失敗します。
DOCUMENT_PROCESSOR
値は次の形式の文字列にする必要があります。
projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION
次のように置き換えます。
PROJECT_NUMBER
: ドキュメント プロセッサを含むプロジェクトのプロジェクト番号。この値を確認するには、プロセッサの詳細を調べ、予測エンドポイントを確認し、プロジェクト要素に続く値を取得します(例:https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
)。LOCATION
: ドキュメント プロセッサで使用されるロケーション。この値を確認するには、プロセッサの詳細を調べ、予測エンドポイントを確認し、ロケーション要素に続く値を取得します(例:https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
)。PROCESSOR_ID
: ドキュメント プロセッサ ID。この値を確認するには、プロセッサの詳細を調べ、予測エンドポイントを確認し、プロセッサ要素に続く値を取得します(例:https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
)。PROCESSOR_VERSION
: ドキュメント プロセッサのバージョン。この値は、プロセッサの詳細で [バージョン管理] タブを選択し、使用するバージョンのバージョン ID の値をコピーします。
SPEECH_RECOGNIZER
このオプションは、REMOTE_SERVICE_TYPE
値が CLOUD_AI_SPEECH_TO_TEXT_V2
の場合にオプションで使用する音声認識ツールを指定します。このオプションを指定しない場合、リモートモデルを参照する場合は、ML.TRANSCRIBE
関数の recognition_config
引数に値を指定する必要があります。このオプションは、他のタイプのリモートモデルでは使用できません。
SPEECH_RECOGNIZER
値は次の形式の文字列にする必要があります。
projects/PROJECT_NUMBER/locations/LOCATION/recognizers/RECOGNIZER_ID
次のように置き換えます。
PROJECT_NUMBER
: 音声認識ツールを含むプロジェクトのプロジェクト番号。この値は、Google Cloud コンソールの [ダッシュボード] ページにある [プロジェクト情報] カードで確認できます。LOCATION
: 音声認識ツールで使用されるロケーション。この値は、Google Cloud コンソールの [リスト認識機能] ページの [ロケーション] フィールドで確認できます。RECOGNIZER_ID
: 音声認識機能 ID。この値は、Google Cloud コンソールの [リスト認識機能] ページの [ID] フィールドで確認できます。
例
次の例では、Cloud Vision API を使用する BigQuery ML リモートモデルを作成します。
CREATE MODEL `project_id.mydataset.mymodel` REMOTE WITH CONNECTION `myproject.us.test_connection` OPTIONS(REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1')
次のステップ
BigQuery ML で Cloud AI サービスを使用する方法について詳しくは、AI アプリケーションの概要をご覧ください。