【问题标题】:How to deploy multiple TensorFlow models using AWS?如何使用 AWS 部署多个 TensorFlow 模型?
【发布时间】:2019-06-11 05:12:24
【问题描述】:

我已经训练了 10 种不同的 TensorFlow 模型进行风格迁移,基本上,每个模型都负责根据风格图像对图像应用过滤器。因此,每个模型都是独立运行的,我想将其集成到应用程序中。有什么方法可以使用 AWS 部署这些模型?

我尝试使用 AWS SageMaker 部署这些模型,然后将端点与 AWS Lambda 一起使用,最后使用 API Gateway 创建 API。但这里的问题是我们只能在 SageMaker 上部署一个模型,但就我而言,我想部署 10 个不同的模型。

我希望在我的应用程序中提供指向每个模型的链接,因此所选过滤器将触发 AWS 上的模型并应用过滤器。

【问题讨论】:

  • 您还可以查看 Amazon Elastic Inference。关于您拥有的 10 个模型。我推测,您可以使用 lambda 将输入复制到 10 个不同的队列中(每个模型 1 个),每个模型将从自己的队列中读取。
  • @y.selivonchyk 感谢您的回复,您能详细说明一下流程吗?我相信它将是 Amazon Elastic Inference -> AWS Lambda -> API Gateway。我必须有一个端点,因为它将集成到应用程序中。另外,我想知道单个 Lambda 函数是否会处理多个模型?
  • 我上次在 lambda 表达式出现之前就使用了这些东西,只能用非常笼统的术语提出一些建议。希望更有资格的人来这里。在那之前,我相信您可以写入与 lambda 不同的队列。在这种情况下,您将有 11 个队列和 11 个消费者:1 个用于输入,这会将消息复制到 10 个消费者队列中,每个模型一个。

标签: python amazon-web-services tensorflow deployment


【解决方案1】:

我为类似的事情所做的是,我创建了自己的 docker 容器,其中包含能够加载和预测多个模型的 api 代码。该 api 在启动时会从 S3 存储桶中复制一个 model.tar.gz,其中 tar.gz 是我所有模型的权重,然后我的代码会扫描内容并加载所有模型。如果您的模型太大(RAM 消耗),您可能需要以不同的方式处理这个问题,正如 here 所说,它仅在您调用 predict 时才加载模型。我在开始时加载所有模型以获得更快的预测。这实际上并不是代码的大变化。

我现在尝试的另一种方法是让 API 网关调用多个 Sagemaker 端点,尽管我没有找到很好的文档。

【讨论】:

    【解决方案2】:

    有多种选择,最终选择取决于您在成本、延迟、可靠性和简单性方面的优先级。

    1. 每个模型有不同的 SageMaker 端点 - 这样做的一个好处是它可以带来更好的稳健性,因为模型彼此隔离。如果一个模型被多次调用,它不会让整个舰队失望。它们各自过着自己的生活,也可以托管在不同类型的机器上,以实现更好的经济效益。请注意,为了实现高可用性,甚至建议将硬件后端加倍(每个 SageMaker 端点 2 个以上的服务器),以便端点是多区域的,因为如果端点有两个,SageMaker 会尽力在不同的可用区托管端点后端或更多实例。
    2. 一个 SageMaker TFServing 多模型端点 - 如果您的所有模型都是 TensorFlow 模型并且它们的工件与 TFServing 兼容,那么您可以将它们全部托管在一个 SageMaker TFServing 端点中。请参阅文档的这一部分:Deploying more than one model to your endpoint
    3. 一个SageMaker Multi-Model Endpoint,该功能于 2019 年底发布,允许在同一个容器中托管多个模型。
    4. AWS Lambda 中的无服务器部署 - 这可能具有成本效益:模型仅在调用时才会产生费用。这仅限于成对的 {DL model ;符合 Lambda 内存和存储限制且不需要 GPU 的 DL 框架}。它在过去被记录了几次,特别是 TensorflowMXNet

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2019-04-02
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 2020-12-24
      相关资源
      最近更新 更多