我们有一个生产场景,用户调用昂贵的NLP函数的时间很短(比如30分钟)。由于高负载和间歇性使用,我们正在研究Lambda函数的部署。但是-我们的包裹很大。
我试图将AllenNLP安装在lambda函数中,而这个函数又依赖于py手电筒、枕木、spacy和numpy以及其他几个lib。
我试过的
按照这里和示例这里的建议,将删除测试和其他文件。我还使用了一个非库达版本的Pytorch,它的大小可以降低。我可以将AllenNLP部署打包到512 to左右。目前,对于AWS Lambda来说,这仍然太大了。
可能的解决办法?
我想知道是否有任何人有以下可能的途径之一的经验:
.so文件并从S3桶中提供这些文件可能会有所帮助。这确实带来了一个额外的问题:我们从AllenNLP中使用的Semnatic角色标签还需要一些大约500 S3的语言模型,这些语言模型可以使用短暂的存储--但也许这些模型可以直接从S3流到内存中?也许我错过了一个简单的解决方案。任何方向或经验都将不胜感激!
发布于 2020-01-16 15:36:45
您可以将模型部署到AWS中的SageMaker,并运行Lambda -> Sagemaker,以避免在Lambda中加载非常大的函数。
https://stackoverflow.com/questions/59771715
复制相似问题