gpt4 book ai didi

xgboost - 如何使用 AWS SageMaker Batch Transform 运行更大的批处理

转载 作者:行者123 更新时间:2023-12-02 14:56:30 24 4
gpt4 key购买 nike

我使用 AWS SageMaker 创建了一个 XGBoost 模型。现在,我正尝试通过批量转换作业使用它,对于小批量来说,一切进展顺利。

但是,大约 16MB 的文件中有 600.000 行的批处理稍大一些,我无法一次性运行它。我尝试了两件事:

1.

将转换作业的“最大负载大小”设置为其最大值 (100 MB):

transformer = sagemaker.transformer.Transformer(
model_name = config.model_name,
instance_count = config.inference_instance_count,
instance_type = config.inference_instance_type,
output_path = "s3://{}/{}".format(config.bucket, config.s3_inference_output_folder),
sagemaker_session = sagemaker_session,
base_transform_job_name = config.inference_job_prefix,
max_payload = 100
)

但是,我仍然收到错误(通过控制台 CloudWatch 日志):

413 Request Entity Too Large
The data value transmitted exceeds the capacity limit.

2.

将 max_payload 设置为 0,根据规范,Amazon SageMaker 应将其解释为对有效负载大小没有限制。

在这种情况下,作业成功完成,但输出文件为空(0 字节)。

有什么想法是我做错了什么,或者如何运行更大的批处理?

最佳答案

大多数 SageMaker 算法在 MaxPayloadInMB 中将其自己的默认执行参数设置为 6 MB,因此如果您从 SageMaker 算法中获得 413,则可能超出了它们可以支持的最大负载。假设文件中的每一行小于 6 MB,您可以通过保留 MaxPayloadInMB 未设置以回退到算法的默认大小并将 SplitType 设置为“Line”来解决此问题,这样它就可以将数据分成更小的批处理(https://docs.aws.amazon.com/sagemaker/latest/dg/API_TransformInput.html#SageMaker-Type-TransformInput-SplitType) .

关于xgboost - 如何使用 AWS SageMaker Batch Transform 运行更大的批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52649085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com