このページでは、Cloud Logging を使用して AutoML Tables モデルの詳細を表示する方法を説明します。Logging を使用すると、最終モデルのハイパーパラメータ、モデルのトレーニングと調整で使用されるハイパーパラメータとオブジェクト値を確認できます。
プロジェクトの AutoML Tables の一般ログを表示することもできます。
ログデータ
AutoML Tables によって生成されるロギング メッセージには、次のものがあります。
- Key-Value ペアとしての最終モデルのハイパーパラメータ。
- 調整トライアル中に使用されるハイパーパラメータ、および目標値。
デフォルトでは、ログは 30 日後に削除されます。
始める前に
- Cloud Logging について十分に理解してください。
このタスクに必要な権限
このタスクを実行するには、次の権限が必要です。
- プロジェクトに対する
logging.logServiceIndexes.list
- プロジェクトに対する
logging.logServices.list
トレーニング ログを表示する
Google Cloud Console からモデルのログにアクセスする
最終的なハイパーパラメータ ログと調整トライアルのハイパーパラメータ ログには、AutoML Tables から直接アクセスできます。
Google Cloud Console で [AutoML テーブル] ページに移動します。
左側のナビゲーション パネルで [モデル] タブをクリックし、モデル名をクリックしてモデルを開きます。
[モデル] タブを選択します。
最終的なハイパーパラメータ ログを表示するには、[モデル] をクリックします。
調整トライアルのハイパーパラメータを表示するには、[トライアル] をクリックします。
次のようにペイロードを展開します。
モデルのアーキテクチャ ログを読み取る
アクティビティ ログの構造は、LogEntry 型のドキュメントに説明があります。
AutoML Tables のモデルのログには主に次のフィールドがあります。
automl_tables
。log_type
フィールドの値。jsonPayload
。ログエントリの特定の詳細が含まれます。timestamp
。モデルが作成された日時を示します。
ペイロードの内容
ログエントリの内容は JSON オブジェクト形式で jsonPayload
フィールドに格納されます。jsonPayload
フィールドには次の情報が含まれます。
フィールド | タイプ | 説明 |
---|---|---|
modelStructure |
JSON |
AutoML Tables モデルの構造の説明。このフィールドには、使用される各モデルのハイパーパラメータを含む 詳細については、ハイパーパラメータ リストをご覧ください。 |
trainingObjectivePoint |
JSON | モデルのトレーニングに使用する最適化の目標。 このエントリには、ログエントリが記録された時点のタイムスタンプと目標値が含まれます。 |
ハイパーパラメータのリスト
ログで提供されるハイパーパラメータ データは、モデルタイプごとに異なります。以降のセクションでは、各モデルタイプのハイパーパラメータについて説明します。
AdaNet モデル
- モデルタイプ:
AdaNet
- AdaNet lambda
- 複雑さのタイプ
- 初期レイヤ数
- 最後のレイヤタイプ(
logits
またはprelogits
) - レイヤサイズの拡大
- 混合学習の重み付け(
True
またはFalse
) - 残差の学習(
True
またはFalse
) - 反復のブースティング
オプティマイザー(
adagrad
またはadam
)
AdaNet AutoEnsemble モデル
- モデルタイプ:
AdaNet AutoEnsembler
- 非表示レイヤの数
- 非表示レイヤのサイズ
- ドロップアウト
- L1 正則化の強度
- L2 正則化の強度
- L2 縮小正則化の強度
- ツリーの複雑さ
- 最大ツリー深度
- センター バイアス(
True
またはFalse
) - 成長モード(
layer
またはtree
) - 反復のブースティング
DNN オプティマイザー(
adagrad
またはadam
)
DNN 線形モデル
- モデルタイプ:
DNNLinear
- 非表示レイヤの数
- 非表示レイヤのサイズ
- ドロップアウト
- L1 正則化の強度
- L2 正則化の強度
L2 縮小正則化の強度
勾配ブースト ディシジョン ツリー モデル
- モデルタイプ:
GBDT
- 最大ツリー深度
- ツリー L1 正則化
- ツリー L2 正則化
- ツリーの複雑さ
- ツリー数
センター バイアス(
True
またはFalse
)
フィードフォワード ニューラル ネットワーク モデル
- モデルタイプ:
nn
- 非表示レイヤのサイズ
- ドロップアウト率
- 数値の埋め込みを有効にする(
True
またはFalse
) - L1 を有効にする(
True
またはFalse
) - L2 を有効にする(
True
またはFalse
) - L1 の埋め込みを有効にする(
True
またはFalse
) - L2 の埋め込みを有効にする(
True
またはFalse
) - layerNorm を有効にする(
True
またはFalse
) - batchNorm を有効にする(
True
またはFalse
) - 非表示レイヤの数
- クロスレイヤの数
- 接続タイプをスキップ(
dense
、disable
、concat
、slice_or_padding
) - 数値列を正規化する(
True
またはFalse
)
サンプル ログエントリ
model_type
パラメータによって示された nn
モデルの最終的なモデル アーキテクチャのログエントリの例を次に示します。最終モデルの作成に複数のモデルが使用されている場合、各モデルのハイパーパラメータは位置(0、1、2 など)によってインデックス付けされ、modelParameters
配列のエントリとして返されます。
{ insertId: "qx7z0ifhtjpkv" jsonPayload: { @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial" modelStructure: { modelParameters: [ 0: { Dropout rate: 0.75 Embedding numerical embedding: "True" Enable L1: "False" Enable L2: "False" Enable batchNorm: "True" Enable embedding L1: "False" Enable embedding L2: "False" Enable layerNorm: "False" Hidden layer size: 16 Normalize numerical column: "True" Number of cross layers: "1" Number of hidden layers: "2" Skip connections type: "dense" Model type: "nn" } ] } trainingObjectivePoint: { createTime: "2019-10-15T04:52:00Z" value: 0.002069325 } } labels: { log_type: "automl_tables" } logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning" receiveTimestamp: "2019-10-15T10:46:06.916277805Z" resource: { labels: { job_id: "109476078648557568" project_id: "project-id" region: "us-central1" } type: "cloudml_job" } severity: "INFO" timestamp: "2019-10-15T10:46:06.916277805Z" }
次の例は、調整中のモデル アーキテクチャのログエントリを示しています。
{ insertId: "nl7815f7p0cjb" jsonPayload: { @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial" modelStructure: { modelParameters: [ 0: { hyperparameters: { Boosting iterations: "2" Grow layer size: "30" Initial number of layers: "1" Last layer type: "prelogits" Learn residuals: "False" Model type: "AdaNet" Optimizer: "adam" } } ] } trainingObjectivePoint: { createTime: "2019-10-13T20:42:25Z" value: 0.0000011595778 } } labels: { log_type: "automl_tables" } logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning" receiveTimestamp: "2019-10-13T21:20:08.189302731Z" resource: { labels: { job_id: "2804289077287845888" project_id: "project-id" region: "us-central1" } type: "cloudml_job" } severity: "INFO" timestamp: "2019-10-13T21:20:08.189302731Z" }
一般的な AutoML Tables ログを表示する
プロジェクトのアクティビティ ログを表示するには、Google Cloud Console のログ エクスプローラを使用します。
- Google Cloud Console の [Logging] ページに移動します。
- ログ エクスプローラで、最初のプルダウン メニューからリソースタイプを選択してフィルタします。
- [すべてのログ] プルダウン メニューから [automl.googleapis.com/tuning] を選択すると、AutoML Tables ログが表示されます。
ログのエクスポート
ログは、BigQuery、Cloud Storage、Pub/Sub にエクスポートできます。
アクティビティ ログのエクスポート方法については、Logging のドキュメントのログのエクスポートの構成をご覧ください。