AWS API Gateway + Lambda + EC2 在 5 秒内返回 503 Service Unavailable 错误

Nik*_*ane 9 amazon-web-services aws-lambda aws-api-gateway

我希望将我的机器学习模型部署到生产中。我正在使用 API Gateway + Lambda 来触发 EC2 实例上的推理。推理需要一段时间(约 30 秒)。Lambda 超时设置为 2 分钟。

当我使用 Postman 或浏览器调用 HTTP API 时,我在 5 秒内收到 503 Service Unavailable 错误。在后端,我看到请求成功,并且成功响应被发送回 Lambda(大约 30 秒后)。我读到最大 API 网关超时为 30 秒。我想知道为什么我会在 5 秒后超时?

我按照此处给出的说明部署我的模型:https://francescopochetti.com/deploying-a-pretrained-gpt-2-model-on-aws/#Deploying_with_Lambda_EC2_and_DynamoDB

lambda 代码类似于此处给出的: https: //github.com/gabrielelanaro/ml-prototypes/blob/master/prototypes/styletransfer/huggingface/hugging_lambda.py

如果有帮助,您可以使用以下 URL 调用 API:https://eekq9x0azg.execute-api.ap-south-1.amazonaws.com/gpt2 ?prompt=%20%22Nikhil%22&num_samples=3&length=60&Temperature=0.7&top_p =0.9&top_k=40

Lambda 登录 Cloudwatch:

2020-03-18T09:56:51.520+05:30 START 请求 ID:59129756-d233-4bd5-8059-4087bd9f47e3 版本:$LATEST

2020-03-18T09:56:51.524+05:30

事件

2020-03-18T09:56:51.704+05:30 ['cd /home/ubuntu', 'shutdown -h +15', 'sudo -i -u ubuntu bash <<-EOF', 'source ~/.bashrc ', '源 env/bin/activate', 'python3 gpt2-tweets.py --prompt=""Nikhil"" --dynamoid=189377 --num_samples=3 --length=60 --temporary=0.7 --top_p =0.9 --top_k=40']

2020-03-18T09:57:22.051+05:30 查询返回以下项目:

2020-03-18T09:57:22.051+05:30 [{'id': Decimal('189377'), 'text': '" Nikhil ji:\n\" 我不知道,你想做什么对国家说?我在英国。但我不知道你在说什么。抱歉,这不是重点。我不知道你想对全国说什么。我是”'}]

2020-03-18T09:57:22.091+05:30 结束请求 ID: 59129756-d233-4bd5-8059-4087bd9f47e3

2020-03-18T09:57:22.091+05:30 REPORT RequestId: 59129756-d233-4bd5-8059-4087bd9f47e3 持续时间: 30567.70 ms 计费持续时间: 30600 ms 内存大小: 128 MB 最大使用内存: 100 MB

Nik*_*ane 17

发现该API默认超时设置为5秒。请参阅附图进行更改。在此输入图像描述