【发布时间】:2020-04-07 09:18:33
【问题描述】:
我正在尝试找出为 AWS Sagemaker 的推理终端节点预处理输入数据的最佳方法。我正在使用 BlazingText 算法。
我不确定最好的前进方式,我会感谢任何指点。
我目前在 Sagemaker 中使用 Jupyter notebook 训练我的模型,效果非常好,但问题是我使用 NLTK 来清理我的数据(瑞典停用词和词干提取等):
import nltk
nltk.download('punkt')
nltk.download('stopwords')
所以问题是真的,我如何获得推理端点相同的预处理逻辑?
我对如何进行有一些想法:
构建一个安装了 python 库和数据的 docker 容器,其唯一目的是预处理数据。然后在推理管道中使用这个容器。
将 Python 库和脚本提供给现有容器,方法与为笔记本的外部库提供相同的方式
使用我需要的库构建一个自定义 fastText 容器并在 Sagemaker 之外运行它。
可能会起作用,但感觉像“黑客”:构建一个安装了正确 Python 库和数据并调用 Sagemaker 端点的 Lambda 函数。我担心冷启动延迟,因为预测流量会很低。
我想选择第一个选项,但我有点难以理解是否有可以构建的 docker 映像,并添加我的依赖项,或者我是否需要从头开始构建某些东西向上。例如,图像 sagemaker-sparkml-serving:2.2 会是一个好的候选吗?
但也许还有更好的方法?
【问题讨论】:
标签: python amazon-web-services machine-learning amazon-sagemaker inference