Sagemaker 无服务器推理和自定义容器:模型归档器子进程失败
Sagemaker Serverless Inference & custom container: Model archiver subprocess fails
我想使用新 Serverless Inference.
在 Sagemaker 上托管一个模型
我按照几个指南编写了自己的推理容器和处理程序。这些是要求:
mxnet
multi-model-server
sagemaker-inference
retrying
nltk
transformers==4.12.4
torch==1.10.0
在非无服务器端点上,此容器运行良好。但是,对于无服务器版本,我在加载模型时收到以下错误消息:
ERROR - /.sagemaker/mms/models/model already exists.
以下子进程抛出错误
['model-archiver', '--model-name', 'model', '--handler', '/home/model-server/handler_service.py:handle', '--model-path', '/opt/ml/model', '--export-path', '/.sagemaker/mms/models', '--archive-format', 'no-archive']
那么与 model-archiver
有关的东西(我猜这是来自 MMS 包的进程?)。
一种可能是无服务器 sagemaker 版本正在尝试将模型写入您已经在推理容器中写入的相同位置。
也许检查您的自定义推理代码并且不要在那里加载模型。
所以问题确实与使用 sagemaker 推理工具包和 MMS 托管模型有关,后者始终使用无服务器推理不支持的多模型场景。
我最终编写了自己的 Flask API,它实际上几乎一样简单,而且更可定制。如果您有兴趣,请联系我了解详情。
我想使用新 Serverless Inference.
在 Sagemaker 上托管一个模型我按照几个指南编写了自己的推理容器和处理程序。这些是要求:
mxnet
multi-model-server
sagemaker-inference
retrying
nltk
transformers==4.12.4
torch==1.10.0
在非无服务器端点上,此容器运行良好。但是,对于无服务器版本,我在加载模型时收到以下错误消息:
ERROR - /.sagemaker/mms/models/model already exists.
以下子进程抛出错误
['model-archiver', '--model-name', 'model', '--handler', '/home/model-server/handler_service.py:handle', '--model-path', '/opt/ml/model', '--export-path', '/.sagemaker/mms/models', '--archive-format', 'no-archive']
那么与 model-archiver
有关的东西(我猜这是来自 MMS 包的进程?)。
一种可能是无服务器 sagemaker 版本正在尝试将模型写入您已经在推理容器中写入的相同位置。
也许检查您的自定义推理代码并且不要在那里加载模型。
所以问题确实与使用 sagemaker 推理工具包和 MMS 托管模型有关,后者始终使用无服务器推理不支持的多模型场景。
我最终编写了自己的 Flask API,它实际上几乎一样简单,而且更可定制。如果您有兴趣,请联系我了解详情。