Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何规避AWS包和大型包+大型模型的短暂限制_Python_Aws Lambda_Pytorch_Allennlp - Fatal编程技术网

Python 如何规避AWS包和大型包+大型模型的短暂限制

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来说

我们有一个生产场景,用户调用昂贵的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中


也许我错过了一个简单的解决办法。任何方向或经验都将不胜感激

您可以将模型部署到AWS内部的SageMaker,并运行Lambda->SageMaker,以避免在Lambda内部加载非常大的函数


这里介绍的架构-

以前从未尝试过sagemaker,一定会去看看!谢谢你指出这一点。