Python 如何规避AWS包和大型包+大型模型的短暂限制
我们有一个生产场景,用户调用昂贵的NLP函数,运行时间很短,比如30秒。由于高负载和间歇性使用,我们正在研究Lambda函数的部署。然而,我们的包裹很大 我试图在lambda函数中加入AllenNLP,而lambda函数又依赖于pytorch、scipy、spacy和numpy以及其他一些lib 我试过的 根据提出的建议和示例,将删除测试和其他文件。我还使用了一个非cuda版本的Pytorch,它可以缩小尺寸。我可以将AllenNLP部署打包到大约512mb。目前,这对于AWS Lambda来说仍然太大 可能的解决方案? 我想知道你们中是否有人有以下潜在途径之一的经验: 从AllenNLP中切断Pyrotch。如果没有Pytork,我们将达到250mb。我们只需要在生产中加载归档模型,但这似乎确实使用了一些PyTorch基础设施。也许还有其他选择 在AllenNLP的fork中调用PyTorch作为第二个lambda函数 使用S3传递一些依赖关系:简单链接一些较大的.so文件并从S3存储桶中提供它们可能会有所帮助。这确实带来了另一个问题:我们在AllenNLP中使用的符号角色标记还需要一些大约500mb的语言模型,可以使用临时存储—但是这些可能可以从S3直接流到RAM中Python 如何规避AWS包和大型包+大型模型的短暂限制,python,aws-lambda,pytorch,allennlp,Python,Aws Lambda,Pytorch,Allennlp,我们有一个生产场景,用户调用昂贵的NLP函数,运行时间很短,比如30秒。由于高负载和间歇性使用,我们正在研究Lambda函数的部署。然而,我们的包裹很大 我试图在lambda函数中加入AllenNLP,而lambda函数又依赖于pytorch、scipy、spacy和numpy以及其他一些lib 我试过的 根据提出的建议和示例,将删除测试和其他文件。我还使用了一个非cuda版本的Pytorch,它可以缩小尺寸。我可以将AllenNLP部署打包到大约512mb。目前,这对于AWS Lambda来说
也许我错过了一个简单的解决办法。任何方向或经验都将不胜感激 您可以将模型部署到AWS内部的SageMaker,并运行Lambda->SageMaker,以避免在Lambda内部加载非常大的函数
这里介绍的架构-以前从未尝试过sagemaker,一定会去看看!谢谢你指出这一点。