Open sakamomo554101 opened 3 years ago
https://cloud.google.com/vertex-ai/docs/start/introduction-unified-platform?hl=ja
とりあえず上記ドキュメントからざっと読む
SageMakerでいうところのDebuggerみたいなのはない? ※Monitorはありそう
Feature Storeはどんなデータレイクになっているかが気になるな。 ラベリング(教師データ)作成はアノテーションツールだが、どの程度自由度(例えば、画像のセグメンテーションは対応しているとか)があるのかが気になる。
Cloud Logging や Cloud Monitoring などの便利なツールに接続されています。
なるほど、Loggingとつなげて、Debbugingできそう。
https://cloud.google.com/tensorflow-enterprise/docs?hl=ja
え、Tensorflowって、Enterprizeできたの?
VertexAIって、GCPのAutoMLとAI Platformを統合した感じなのかな?(今更だけど)
https://cloud.google.com/vertex-ai/pricing VertexAIの料金体系
そういえば、GCPのインスタンスタイプ が良くわからんから、調べておく必要があるな。
なるほど、下記のように、JSONフォーマットで学習データを作れば良いみたい。 (下記はドキュメントの単一分類タスク) https://cloud.google.com/vertex-ai/docs/datasets/prepare-text?hl=ja
{
"classificationAnnotations": {
"displayName": "label"
},
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
},
{
"classificationAnnotations": {
"displayName": "label2"
},
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
https://cloud.google.com/vertex-ai/docs/start/automl-model-types?hl=ja VertexAIで対応しているモデルタイプ。
割と幅広い。(画像、動画、テキスト、テーブル) ただ、画像・動画・テキストはシンプルな分類やオブジェクト検出、感情分析(肯定的・否定的な文章の抜き出し)を行うタスクとなっており、タスク難易度としては易しい。
テーブルデータはBigQuery経由でも取得可能な感じだね。
https://cloud.google.com/vertex-ai/docs/explainable-ai/overview?hl=ja へえー、プレビュー版だけど、特徴量選択・評価みたいなことも出来るのか。 (どう評価をしているかは分からんが)
https://cloud.google.com/vertex-ai/docs/model-monitoring/overview?hl=ja#skew-and-drift
上記がモニタリング時のドリフト検知として使える。
https://cloud.google.com/vertex-ai/docs/model-monitoring/overview?hl=ja#calculating-skew-and-drift
基本的にスキューも予測ドリフトも、ベースラインとなる分布との比較を行っている感じか。 ※このベースラインが、スキューと予測ドリフトで異なる分布となるイメージ。
https://cloud.google.com/vertex-ai/docs/model-monitoring/overview?hl=ja
分布の距離判定は下記を利用
モニタリングでは、スキュー検出とドリフト検出を明示的に分けて使ってる
ただ、一般的にというかほぼ入力データについては、多変量データ(複数の特徴量)となるはずだから、距離検出は2変量とはならんはず。
次元圧縮なりをしている?それとも多次元分布での距離検出をする? ここらへんが分からん
https://github.com/sakamomo554101/study/issues/13#issuecomment-913146412 上記に書いたように列単位でドリフトを見るやり方もあるかも。
この記事はとても重要。 (Feature Storeを利用したデータドリフト検知の話も含まれる)
Point-in-time検索はなんとなく分かるような・・
★モニタリングのスキュー・ドリフト検知する際の詳細をちょっと調べたいところ。 ※どのように特徴量を保存する必要があるのか、が気になっていて、さらにはどのような入力データでも対応できるのか(-> 中間の特徴量データに変換してしまえば良いと思っている)が知りたい。
D_JSは、D_KLの計算結果を用いているのか(D_KL -> カルバックライブラー ダイバージェンス)
https://twitter.com/googlecloudtech/status/1435347026905030659 見る(パイプラインを作る際に参考になる)
https://cloud.google.com/architecture/ml-on-gcp-best-practices ベストプラクティスは読んでおきたい。
https://cloud.google.com/vertex-ai/docs/training/code-requirements?hl=ja そういえば、カスタムトレーニング周り読んでないな。 読んどこ。
pipeline構築のイメージ https://cloud.google.com/vertex-ai/docs/pipelines/build-pipeline?hl=ja
GCのプロジェクト作って、その中でパイプラインを構築する。 ※コードみると、イメージしやすい。
kubeflow使うのが楽なのかなぁー
上記のようなコード例(線形回帰での分類例。テーブルデータを利用)をみておいた方がよさそう。 データソースはGSやBigQueryが選べる。 (構造化データはBQだし、非構造化はGSみたいな棲み分けですね)
https://cloud.google.com/bigquery-ml/docs/ BigQueryMLなんてあるんかい。
https://cloud.google.com/vertex-ai/docs/general/notebooks VertexAIでNotebooksを利用する場合
https://cloud.google.com/vertex-ai/docs/datasets/label-using-console VertexAIでのラベル付について。
ラベラーと呼ばれる人にラベル付を依頼することも可能。 https://cloud.google.com/vertex-ai/docs/datasets/data-labeling-job
ただ、自前でやる場合にラベル付がどの程度高機能かは不明(要調査)
https://cloud.google.com/vertex-ai/docs/featurestore/overview featurestore / Feature Storeについて
https://googleapis.dev/python/aiplatform/latest/aiplatform.html?highlight=model
AIP_STORAGE_URIとAIP_MODEL_DIRは何が違う?
GCPのVertexAIについて調べる