Ai 模型并行运行实践方案

本文最后更新于:2021年11月1日 中午

本文记录并行Ai的一种实践路线。

背景

  • 当遇到一个任务需要多个Ai模型分别完成时,串行执行Ai可能不是最好的方法,总无法发挥GPU的最大利用率

  • 现有平台少有并行推断的相关信息

  • 尝试搭建一个服务式的并行Ai执行框架

思路流程

  • 构建网络服务,在网络服务中初始化模型
  • 留出infer接口作为服务器备用
  • 客户端多线程向服务器提供请求,实现Ai并行执行

技术方案

  • python平台
  • 使用flask搭建微服务框架
  • 将训练好的模型在服务器中初始化,留出infer接口,注册在路由中
  • 服务端建好服务后 while True 在那呆着
  • 客户端将测试数据作为 post 请求向指定ip 端口 路由发送请求
  • 服务器收到数据进行Ai推断得到结果
  • pytorch并行在Linux下可以多进程,但Win下会报内存或重复加载的错误
  • 使用多线程向服务器提供请求的方式实现并行