ランタイム バージョンの管理

AI Platform Prediction では、イメージを使用して、クラウド内でトレーニング リクエストと予測リクエストを処理する VM を構成します。これらのイメージには、基本オペレーティング システム、コア テクノロジー パッケージ、pip パッケージ(Python ライブラリ)、オペレーティング システム パッケージが含まれます。イメージは、新しい改善点と機能を含めるために定期的にアップグレードされます。AI Platform Prediction ではバージョニングが採用されているため、モデルに対して最適な構成を選択できます。

バージョニングに関する重要な注意事項

  • 新しいランタイム バージョンに切り替える場合は、メジャー更新かマイナー更新かにかかわらず、必ずトレーニング ジョブとモデルを入念にテストする必要があります。
  • AI Platform Prediction は、各ランタイム バージョンをリリース後 12 か月間サポートします。12 か月が過ぎると、そのランタイム バージョンを使用してトレーニング ジョブ、バッチ予測ジョブ、モデル バージョンを作成できなくなります。

    ランタイム バージョンのリリースから 24 か月後に、AI Platform Prediction はランタイム バージョンを使用するすべてのモデル バージョンを削除します。

    詳しくは、ランタイム バージョンの可用性のタイムラインをご覧ください。

バージョン番号について

AI Platform Prediction が使用するイメージは、AI Platform Prediction ランタイム バージョンに対応しています。ランタイム バージョンは、次の形式を使用します。

major_version.minor_version

メジャー バージョンとマイナー バージョン

新しいメジャー バージョンとマイナー バージョンが定期的に作成され、以下の 1 つ以上が組み込まれます。

  • 以下のリリース:
    • オペレーティング システム
    • サポートされている機械学習フレームワーク
  • AI Platform Prediction の機能に対する変更や更新。

新しいメジャー バージョンには、以前のバージョンに対して書かれたコードの更新を必要とする非互換の変更が含まれる場合があります。新しいマイナー バージョンには非互換の変更は含まれず、同じメジャー バージョンのすべてのバリエーションとの下位互換性があります。

ランタイム バージョンの選択

必ず、使用している機械学習フレームワークや他のパッケージの最新バージョンをサポートしているランタイム バージョンを選択してください。

scikit-learn と XGBoost をサポートする最も古い AI Platform Prediction ランタイム バージョンは 1.4 です。

各バージョンの詳細については、AI Platform Prediction のバージョン リストをご覧ください。

オンライン予測のランタイム バージョン

モデル バージョンを作成するときは、必ず、オンライン予測リクエストに使用するランタイム バージョンを指定してください。モデル バージョンのデフォルトのランタイム バージョンが正しくない場合は、正しいランタイム バージョンを使用して新しいモデル バージョンを作成してください。

オンライン予測リクエストでは、常にモデル バージョンのデフォルトのランタイム バージョンが使用されます。オンライン予測リクエストでランタイム バージョンを指定してこれをオーバーライドすることはできません。

ランタイム バージョン 2.1 は現在、オンライン予測で scikit-learn や XGBoost をサポートしていません。

ランタイム バージョンの設定

トレーニングされたモデルからデプロイされたモデルのバージョンを作成するときは、必ずランタイムのバージョンを指定してください。これにより、オンラインおよびバッチ予測のリクエストの、デフォルトのランタイムのバージョンが設定されます。

gcloud

gcloud ai-platform versions create コマンドを実行するときは、--runtime-version フラグを使用します。

gcloud ai-platform versions create version_name \
    --model model_name \
    --origin gs://my/trained/model/path \
    --runtime-version 2.1 \
    --python-version 3.7

Python

Version リソースを定義するときに、runtimeVersion を設定します。

versionDef = {'name' = 'v1',
    'description' = 'The first iteration of the completely_made_up model',
    'deploymentUri' = 'gs://my/model/output/directory',
    'runtimeVersion' = '2.1',
    'pythonVersion': '3.7'}
 

バッチ予測のランタイム バージョンの設定

使用するランタイム バージョンは、バッチ予測ジョブの作成時に指定できます。指定しない場合、AI Platform Prediction ではモデル バージョンに設定されているデフォルトのランタイム バージョンが使用されます。

gcloud

gcloud ai-platform jobs submit prediction コマンドを実行するときは、--runtime-version フラグを使用します。

gcloud ai-platform jobs submit prediction my_batch_job_333 \
    --model my_model \
    --input-paths gs://my/cloud/storage/data/path/* \
    --output-path gs://my/cloud/storage/data/output/path \
    --region us-central1 \
    --data-format text \
    --runtime-version 2.1

Python

PredictionInputruntimeVersion を設定します。

body = {
    'jobId': 'my_batch_job_333',
    'predictionInput': {
        'dataFormat': 'JSON',
        'inputPaths': ['gs://my/cloud/storage/data/path/*'],
        'outputPath': 'gs://my/cloud/storage/data/output/path',
        'region': 'us-central1',
        'modelName': 'projects/my_project/models/my_model',
        'runtimeVersion': '2.1'}}

次のステップ