OpenPPL 开源——新的起点,面向未来

Aceyclee

上篇文章分享了《高性能深度学习推理平台 OpenPPL 正式开源

今天继续和大家唠一唠 OpenPPL 的由来,这还得从 SensePPL 说起:

SensePPL 是什么?

SensePPL 是商汤 HPC 团队从 2015 年开始精心打造的多后端深度学习推理部署引擎。训练平台训练好的模型,可以通过转换成 onnx 等标准格式,使用 SensePPL 进行快速推理部署。

SensePPL 会对模型进行加载转换,生成有向图和执行计划,进行图级别的优化,运行时调用深度调教过的算子库进行推理计算。所有核心框架和算子库的代码,完全是团队自研,几乎不依赖第三方。

OpenPPL 开源——新的起点,面向未来

OpenPPL 的缘起

SensePPL 在商汤内部使用和打磨多年,积累了在 CV 领域深度学习推理的很多技术和业务实践。当然,也由此产生了许多与公司业务强相关的私有定制功能,这与业界众多闭源技术是相似的。

当我们决定反哺技术社区,选择开源之时,为了能让更多开发者顺畅使用我们的推理引擎,我们决定为开源的 SensePPL 版本选择一个业界通行的标准 —— onnx 模型格式,并为此重构了 SensePPL 的核心框架。

新的 PPL 因开源而生,我们称之为「OpenPPL」,预示着我们将拥抱开源,拥抱业界的标准化建设。

OpenPPL 开源——新的起点,面向未来

官网丨https://openppl.ai

OpenPPL 特性

OpenPPL 是一个新的开始,第一个版本将从 v0.1 开始。包含了对x86 架构 fp32 数据类型,以及 NVIDIA GPU 的 Turing 架构 fp16 数据类型的基本支持。

OpenPPL GitHub 主页

同时我们会为 OpenMMLab 的核心重点网络开发针对这两种架构的推理方案。这两个架构基本能覆盖云和服务器领域相当一部分部署的需求,但仍然远远不够。

未来半年到一年的时间,我们将大幅迭代完善 OpenPPL,达到商业化可用的 v1.0 版本。v1.0 版本将包括但不限于如下一些特性:

1. x86 CPU: x86 处理器仍然是云和服务器场景的基石,是部署最广泛的云端计算架构。OpenPPL 将进一步完善,根据市场反馈,可能会支持更多的 x86 新指令集;同时会支持 AMD 的 Zen 系列架构以及国产的多款 x86 处理器

2. NVIDIA GPU: 继续大幅优化 GPU 上的算子性能和框架支持;同时支持 Turing 架构的 int8/int4 等更低精度的数据格式推理,并开放出相关量化工具链的代码;我们也会支持 NVIDIA 最新的安培架构。

这些内容将大幅提高 CUDA 架构上 OpenPPL 的可用性

3. ARM server: SensePPL 对 ARM 架构的支持和优化最为悠久,但一直是作为移动和 IoT 场景的拳头产品。

ARM 架构有着优秀的能耗比和强大的生态系统。随着 ARM 处理器性能的飞速提升,在云计算领域 ARM server 终于迈过了大规模应用的门槛,代表了未来云数据中心的方向。

OpenPPL 将会把在移动领域 ARM 处理器的支持,转化到云和服务器领域,在 v1.0 版本时候初步支持 ARMv8/v9 等架构。

更长期的规划

OpenPPL 会吸收业界的需求,长期维护并完善算子的种类,模型支持的类型,并将长期优化模型推理全链条。除了模型本身的推理以外,模型前后处理,Serving 等技术也会陆续引入。

目前 OpenPPL 还是传统的有向图表示+算子库的方式,可以做的模型融合,图优化能力有限。HPC 团队已经在代码自动生成等领域进行了很多实践,未来会陆续将相关技术引入 OpenPPL,使模型优化的能力更彻底。

我们也将始终关注业界的进展,引进更多的技术和支持,例如最近异常火爆的 Transformer 等模型技术。AI 后端架构的发展也更加的多元化,很多 AI 处理器已经占有相当的市场份额,我们也会根据需求,扩大和业界更多 AI 芯片和处理器的合作,将我们在 NVIDIA GPU 和 CPU 上的技术积累转移转化去支持更多的场景和芯片。

同时 SensePPL 在端侧的技术积累,也将在 1.0 之后的版本里陆续开放出来。我们希望和业界更多的上下游组织和厂商建立深入的合作。

  • GitHub 地址:ppl.nn
  • 文:高洋
阅读 940

世间那些不可思议的事情都是默默地进行的,喧哗者不真诚。

16 声望
12 粉丝
0 条评论

世间那些不可思议的事情都是默默地进行的,喧哗者不真诚。

16 声望
12 粉丝
文章目录
宣传栏