【发布时间】:2020-03-17 17:34:39
【问题描述】:
我希望将我的机器学习模型部署到生产环境中。我正在使用 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
Cloudwatch 中的 Lambda 日志:
2020-03-18T09:56:51.520+05:30 开始请求 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
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 报告请求 ID: 59129756-d233-4bd5-8059-4087bd9f47e3 持续时间:30567.70 毫秒 持续时间:30600 毫秒内存大小:128 MB 使用的最大内存:100 MB
【问题讨论】:
-
您可以在 cloudwatch 中查找您的 lambda 并查看这些日志的内容吗?我感觉问题出在你的 lambda 上,而不是 ec2 代码
-
用 lambda 日志更新了帖子。那里没有问题。查询返回成功,但503错误已经返回给客户端。
标签: amazon-web-services aws-lambda aws-api-gateway