###### tags: `8月勉強会` # Google AI Platform ## Google AI Platformとは GCP(Google Cloud Platform)のマネージドなMLaaS(Machine Learning as a Service)。 2019年4月から****Cloud ML Engine****に機能が付いて改名されました。 --- ### 機能 機械学習モデルをクラウド上で分散学習、また、APIをバッチ、オンライン予測の両方でスケーリングしてくれる。 :::warning 現時点でTensorFlow 1.13.1までサポート [AI Platformのランタイムバージョン リスト](https://cloud.google.com/ml-engine/docs/tensorflow/runtime-version-list?hl=ja) 手動スケーリングの場合、予測に使われていない場合でも課金されます。 ::: --- ### 競合 - Amazon SageMaker - FloydHub etc... REST API推奨 推論を行う方法としてServingも存在するが、APIを提供するAI Platformを選ぶ理由として、 - マイクロアーキテクチャー化できる - アプリケーションで他の言語が使える --- ## 環境整備 [Google Cloud SDKのインストール](https://cloud.google.com/sdk/downloads?hl=JA) --- ## 変数定義 ```bash= REGION=us-central1 PROJECT_ID=your-project-id BUCKET_NAME=$PROJECT_ID USR_DIR="gs://$PROJECT_ID/usr" DATA_DIR="gs://$PROJECT_ID/data" OUTPUT_DIR="gs://$PROJECT_ID/train" PROBLEM=my_problem MODEL=transformer HPARAMS=transformer_base_single_gpu ``` :::warning 現時点で東京リージョン(`asia-northeast1`)は、オンライン予測しか使えません。 [ML Engineのリージョン](https://cloud.google.com/ml-engine/docs/tensorflow/regions?hl=ja) ::: --- # Running on Cloud ML Engine | Tensor2Tensor :::warning あくまでもクラウド上で学習するという用途です。 予測(デプロイ)は難しいかもしれません ::: --- ## データ生成 ```bash= t2t-datagen \ --t2t_usr_dir=$USR_DIR \ --data_dir=$DATA_DIR \ --tmp_dir=$TMP_DIR \ --problem=$PROBLEM \ --t2t_usr_dir=$USR_DIR ``` --- ## 学習 ```bash= t2t-trainer \ --problem=$PROBLEM \ --model=$MODEL \ --hparams_set=$HPARAMS \ --data_dir=$DATA_DIR \ --output_dir=$OUTPUT_DIR \ --t2t_usr_dir=$USR_DIR --cloud_mlengine ``` --- ハイパーパラメータ・チューニング ```bash= t2t-trainer \ --problem=$PROBLEM \ --model=$MODEL \ --hparams_set=$HPARAMS \ --data_dir=$DATA_DIR \ --output_dir=$OUTPUT_DIR \ --t2t_usr_dir=$USR_DIR \ --cloud_mlengine \ --hparams_range=transformer_base_range \ --autotune_objective='metrics-translate_ende_wmt32k/neg_log_perplexity' \ --autotune_maximize \ --autotune_max_trials=100 \ --autotune_parallel_trials=3 ``` チューニングはまだ試していませんが、載せておきます。 [Running on Cloud ML Engine](https://tensorflow.github.io/tensor2tensor/cloud_mlengine.html) 完了! --- ## モデルのデプロイ ```bash= MODEL_NAME=your_model_name JOB_NAME="'$MODEL_NAME+'`date '+%Y%m%d%H%M%S'`" #モデルのコンテナを用意 gcloud ai-platform models create $MODEL_NAME \ --regions $REGION #最初のバージョンを作成 gcloud ai-platform versions create v1 \ --model $MODEL_NAME \ --origin gs://$BUCKET_NAME/$MODEL_NAME/$JOB_NAME/model ``` :::warning SavedModelは、250MBまでの制限があります。 ::: --- ## 予測リクエストを送信 ```bash= INPUT_DATA_FILE="instances.json" gcloud ai-platform predict --model $MODEL_NAME --json-instances $INPUT_DATA_FILE ``` --- ローカルで学習したい場合、 [Python3でGoogle Cloud ML Engineをローカルで動作する方法](https://www.kabuku.co.jp/developers/python3_local_google-cloud-ml-engine) --- ## サーバーレスな機械学習基盤の構築入門 ### Google Cloud Platformによる機械学習システム構築 [](https://www.amazon.co.jp/Google-Cloud-Platform%E3%81%AB%E3%82%88%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89-%E5%90%89%E5%B7%9D%E9%9A%BC%E4%BA%BA/dp/4865941711) ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up