【AI】推理系统和推理引擎的整体架构

本文主要是对 B 站 Up 主 ZOMI酱 推理系统系列视频 的理解,可以认为是重点笔记。

一、深度学习模型的全生命周期

相信很多人和我一样,刚看到深度学习模型中的推理系统或推理引擎时是一头雾水,因为学习 DL 时通常关注于模型的设计和训练。下图是深度学习模型的全生命周期图,主要分为两大类任务,训练任务和推理任务。

  • 训练任务:通常需要执行数小时、数天,一般配置较大的 batch size 以实现较大的吞吐量,训练模型直到指定的准确度或错误率。
  • 推理任务:执行 7 x 24 小时服务,此时模型已稳定无需训练,服务于真实数据进行推理预测,一般 batch size 较小。

训练过程通过设计合适的 AI 模型以及损失函数、优化算法等,前向传播并计算损失函数,反向计算梯度,利用优化函数来更新模型,最终目标是使损失函数最小 。推理过程是在训练好的模型上,进行一次前向传播得到输出,最终目标是将模型部署在生产环境中

推理任务相比训练任务的挑战有如下几点:

  1. 模型被部署为长期运行的服务(需要稳定可靠);
  2. 推理时有更苛刻的资源约束(需要在有限算力下服务);
  3. 部署的设备型号更加多样,意味着设备架构多样(需要具有通用性)。

二、推理系统架构

推理系统的作用可以理解为提供一个服务,服务的形式可以是 C/S 架构,也可以是微服务架构;服务的内容可以是推荐感兴趣的文章,也可以是精准投放广告。因此,推荐系统的输入应通过 HTTP 或 gRPC 等请求发送,输出则根据业务需要进行定义。下图是推荐系统的架构图,请求响应与处理、监控和调度队列应该是高性能系统的常见组成部分,而推理系统的关键在于模型管理推理引擎。模型管理可以选择合适的 AI 模型执行推理任务,推理引擎则将各个任务合理分配给各种处理单元(xPU)进行处理。

推理系统的设计通常需要从以下几点考虑:低延迟、高吞吐、准确性、高效率和扩展性。

三、推理引擎架构

下图是推理引擎架构图,推理引擎本身也可以认为是一个基础软件,它提供了一组 API 用于在特定平台(如 CPU、GPU 和 VPU)上进行推理任务。英特尔的 OpenVINO 这样定义推理引擎:
(OpenVINO)推理引擎是一组 C++ 库,提供通用 API,可在您选择的平台(CPU、GPU 或 VPU)上提供推理解决方案。使用推理引擎 API 读取中间表示(IR)、设置输入和输出格式并在设备上执行模型。 虽然 C++ 库是主要实现,但 C 库和 Python bindings(通过 Python 调用 C/C++ 库)也可用。

隐藏在推理引擎的 API 下有许多功能可以实现,如同 Linux 提供的 API 一样,通过暴露的编程接口可以配置网络、管理文件、实现算法等。推理引擎首先要实现的是模型格式转换 ,深度学习框架多种多样,包括流行的 PyTorch、TensorFlow,以及 Keras、mxnet 等,因此需要转换它们的数据格式以便后续处理。模型压缩 的目的是将一个大模型压缩为精简的小模型,由于端侧设备(移动端、桌面端、嵌入式等)的算力有限,参数很多的深度神经网络必须经过压缩才能部署,常用的方法在架构图中也有体现,包括知识蒸馏、剪枝、二值化等。架构中的 Runtime 部分就是实际的推理执行,而 Kernel 则是在具体的设备上进行运算。

推理引擎架构的每一层都有各自的问题,从上到下可以总结出如下问题:

  1. 如何对不同深度学习框架进行模型转换?(模型转换部分)
  2. 如何加快调度和执行?(Runtime 部分)
  3. 如何提高算子的性能?(Kernel 部分)
  4. 如何利用边缘设备/端侧设备算力?(设备部分)
相关推荐
测试员周周4 分钟前
【Appium 系列】第18节-重试与容错 — 移动端测试的稳定性保障
人工智能·python·功能测试·ui·单元测试·appium·测试用例
2601_9545267517 分钟前
异常处理与性能调优:熬夜、加班与医美术后的“内服架构”实战指南
架构
l1t26 分钟前
Hy-MT2-1.8B总结的pgvector 0.8.2解决了并行HNSW索引构建漏洞
数据库·人工智能·postgresql
太华26 分钟前
学习AI Agent编程-第二天-LangGraph ReAct模式实现
人工智能
dayuOK630729 分钟前
从“爆款复刻”到“个性化创作”:AI辅助写作的技术挑战与演进方向
人工智能·职场和发展·自动化·新媒体运营·媒体
Raink老师38 分钟前
【AI面试临阵磨枪-58】AI 生成内容合规、版权、审核机制设计
人工智能·面试·职场和发展
lizhihai_9939 分钟前
股市学习心得-与英伟达核心 PCB 相关的八家关联企业
大数据·人工智能·学习
嗝o゚1 小时前
昇腾CANN ops-nn 仓的 Activation 算子:不只是 ReLU
人工智能·cann·ops-nn
她的男孩1 小时前
后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解
java·后端·架构
thubier(段新建)1 小时前
从需求到上线:需求→业务→架构→功能→实现 全链路落地方法论
人工智能·架构