管理运行时版本

AI Platform Prediction 使用映像来配置虚拟机,以便在云中处理训练和预测请求。这些映像包含基本操作系统、核心技术软件包、pip 软件包(Python 库)和操作系统软件包。映像会定期升级,以引入新的改进和功能。AI Platform Prediction 版本控制功能可让您选择正确的配置来使用模型。

有关版本控制的重要说明

  • 切换到新的运行时版本时,无论是进行重大更新还是次要更新,您都应该全面测试自己的训练作业和模型。
  • AI Platform Prediction 会在每个运行时版本发布后提供 12 个月的支持。12 个月的期限过后,您将无法再创建使用此运行时版本的训练作业、批量预测作业或模型版本。

    AI Platform Prediction 会在运行时版本发布二十四个月后,删除所有使用该运行时版本的模型版本。

    详细了解运行时版本的适用时间

了解版本号

AI Platform Prediction 使用的映像与 AI Platform Prediction 运行时版本相对应。运行时版本使用以下格式:

major_version.minor_version

主要版本和次要版本

我们会定期创建新的主要版本和次要版本,以包含以下一项或多项内容:

  • 以下各项的版本:
    • 操作系统
    • 受支持的机器学习框架
  • 对 AI Platform Prediction 功能的更改或更新。

新的主要版本可能包含一些重大更改,需要更新针对先前版本编写的代码。新的次要版本不应包含重大更改,并且应该与相同主要版本的所有变体向后兼容。

选择运行时版本

选择的运行时版本必须支持您的机器学习框架的最新版本以及您所使用的其他软件包。

支持 scikit-learn 和 XGBoost 的最早的 AI Platform Prediction 运行时版本是 1.4 版。

您可以在 AI Platform Prediction 版本列表中查看各版本的详细信息。

用于在线预测的运行时版本

创建模型版本时,请确保指定用于在线预测请求的运行时版本。如果模型版本的默认运行时版本错误,请使用正确的运行时版本创建新的模型版本。

在线预测请求始终使用模型版本的默认运行时版本。在线预测请求中,您无法指定一个运行时版本来覆盖默认运行时版本。

设置运行时版本

根据已经过训练的模型创建已部署的模型版本时,请务必指定运行时版本。这样将为在线和批量预测请求设置默认运行时版本。

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.6 \
    --python-version 3.7

Python

定义版本资源时,请设置 runtimeVersion

versionDef = {'name' = 'v1',
    'description' = 'The first iteration of the completely_made_up model',
    'deploymentUri' = 'gs://my/model/output/directory',
    'runtimeVersion' = '2.6',
    '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

PredictionInput 中设置 runtimeVersion

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'}}

后续步骤