使用说明
使用 CREATE MODEL 时,请注意以下事项:
CREATE MODEL 语句在异步模式下运行,并在将训练数据导出到 Amazon S3 时返回。Amazon SageMaker 中的其余训练步骤将在后台进行。当训练正在进行时,相应的推理函数可见,但无法运行。您可以查询 STV_ML_MODEL_INFO 以查看训练状态。
预设情况下,在 Auto 模型中,训练最多可以在后台运行 90 分钟,并且可以延长。要取消训练,只需运行 DROP MODEL 命令。
您用于创建模型的 Amazon Redshift 集群和用于暂存训练数据和模型构件的 Amazon S3 桶必须位于同一 AWS 区域。
在模型训练期间,Amazon Redshift 和 SageMaker 将中间构件存储在您提供的 Amazon S3 桶中。默认情况下,Amazon Redshift 会在 CREATE MODEL 操作结束时执行垃圾回收。Amazon Redshift 从 Amazon S3 中删除这些对象。要在 Amazon S3 上保留这些构件,请设置 S3_GARBAGE COLLECT OFF 选项。
您必须在 FROM 子句中提供的训练数据中至少使用 500 行。
使用 CREATE MODEL 语句时,最多只能在 FROM { table_name | ( select_query ) } 子句中指定 256 个功能(输入)列。
对于 AUTO ON,您可以用作训练集的列类型包括 SMALLINT、INTEGER、BIGINT、DECIMAL、REAL、DOUBLE、BOOLEAN、CHAR、VARCHAR、DATE、TIME、TIMETZ、TIMESTAMP 和 TIMESTAMPTZ。对于 AUTO OFF,您可以用作训练集的列类型包括 SMALLINT、INTEGER、BIGINT、DECIMAL、REAL、DOUBLE 和 BOOLEAN。
不可使用 DECIMAL、DATE、TIME、TIMETZ、TIMESTAMP、TIMESTAMPTZ、GEOMETRY、GEOGRAPHY、HLLSKETCH、SUPER 或 VARBYTE 作为目标列类型。
要提高模型精度,请执行以下操作之一:
在 FROM 子句中指定训练数据时,在 CREATE MODEL 命令中添加尽可能多的相关列。
对于 MAX_RUNTIME 和 MAX_CELLS,请使用较大的值。此参数的值越大,就会增加训练模型的成本。
一旦计算训练数据并导出到 Amazon S3 桶后,CREATE MODEL 语句执行就会立即返回。在此之后,您可以使用 SHOW MODEL 命令检查训练的状态。当在后台训练的模型失败时,可以使用 SHOW MODEL 检查错误。您无法重试失败的模型。使用 DROP MODEL 移除失败的模型并重新创建新模型。有关 SHOW MODEL 的更多信息,请参阅SHOW MODEL。
本地 BYOM 支持的模型类型与 Amazon Redshift ML 为非 BYOM 案例支持的模型类型相同。Amazon Redshift 支持普通的 XGBoost(使用 XGBoost 版本 1.0 或更高版本),没有预处理器的 KMEANS 模型,以及经过 Amazon SageMaker Autopilot 训练的 XGBOOST/MLP/线性学习器模型。它支持后者与 Autopilot 指定的预处理器,该预处理器也由 Amazon SageMaker Neo 提供支持。
如果您的 Amazon Redshift 集群增强了为 Virtual Private Cloud (VPC) 启用的路由,请确保为您的集群所在的 VPC 创建 Amazon S3 VPC 端点和 SageMaker VPC 端点。这样做使得流量可以在 CREATE MODEL 期间通过您的 VPC 在服务之间运行。有关更多信息,请参阅 SageMaker Clarify 作业 Amazon VPC 子网和安全组。