澎峰科技高性能大模型推理引擎PerfXLM解析

描述

自ChatGPT问世以来,大模型遍地开花,承载大模型应用的高性能推理框架也不断推出,大有百家争鸣之势。在这种情况下,澎峰科技作为全球领先的智能计算服务提供商,在2023年11月25日发布了针对大语言模型的高性能推理框架,并受到广泛关注。在历经数月的迭代开发后,澎峰科技重磅发布升级版本,推出全新的高性能大模型推理引擎:PerfXLM。

PerfXLM采用了云端一体架构,支持云端推理和本地推理两种模式。在硬件支持上,PerfXLM适配了包含多种国产处理器在内的不同硬件,并针对硬件体系结构特征进行了深入性能优化,大幅提升了大模型推理性能。

一、PerfXLM整体架构

澎峰科技

图1. PerfXLM整体架构

如图1所示,PerfXLM整体架构分为三层:

1.模型转换层。将Torch或者Huggingface格式的大模型转化为统一的内部模型结构,并最终统一表达为ONNX图。

2.推理引擎层。实现了ONNX图解析、算子调度、统一内存管理等功能,大幅提升硬件资源利用率;同时,也提供了针对云端推理的专用Serving模块,以获得更高的硬件利用率和QPS响应。

3.性能层。提供了针对大模型推理的高性能算子库,并针对各种主流硬件进行了适配和优化。

PerfXLM具有的三大特点:

1.云端一体,同时支持云侧和端侧大模型推理,能够让大模型适用于各种应用场景之中。

2.支持多异构平台,支持了包括NVIDIA GPU、海光DCU、高通Adreno GPU、Intel iGPU、某国产GPU在内的多种硬件设备

3.高性能定制优化算子,实现了结合体系结构特征和大模型推理应用特征的定制优化。

二、大模型推理中的MxN问题

PerfXLM向上对接各种模型网络,向下适配各种硬件架构。这就存在着一个组合问题:假设需要支持M个模型和N种硬件,那么一共有MxN种组合方式。PerfXLM需要实现对主流模型的支持,目前主流模型大概有几十种,国内甚至一度“千模大战”。同时,PerfXLM也需要实现对主流硬件的支持,包括NVIDIA GPU、AMD GPU、海光DCU、沐曦GPU等通用GPU架构; X86、ARM、RISC-V等通用CPU架构;高通Adreno GPU、ARM MALI GPU等移动GPU架构;华为昇腾、寒武纪MLU、燧原等专用处理器架构等。考虑到模型和硬件的迅猛发展,这个组合数大概有上千种,这就对大模型推理框架提出了很高的兼容性要求。

面对这样的一个复杂问题,PerfXLM提出了一套解决方案:通过统一的模型表达,实现了对不同大模型的快速支持;通过统一算子API的定义,实现了对大模型图的快速算子构建;通过融合体系结构特征和应用特征的算子库的构建,实现了对不同硬件的快速适配。

同时,为了便于用户使用,PerfXLM上层采用了与vllm一致的顶层API接口。用户只需要在导入python模块时,简单地将vllm修改成perfxlm就能够将原有的代码运行起来并且获得更高的性能表现。具体的使用示例如下图。

澎峰科技

图2. PerfXLM API接口

通过这样的一套架构体系,PerfXLM可以快速地支持新的模型和新的硬件。以近日Meta开源的LLaMA3为例,假设算子完备的情况下,只需几个小时的时间,就能够将该最新模型运行在各种主流硬件设备上。

三、PerfXLM性能

云侧和端侧的应用场景不同:云上侧重于多用户服务,关注的是整体吞吐;端侧侧重于单用户的使用体验,关注的是在低算力硬件上的响应速度和延迟。下面讲描述PerfXLM在单Batch和多Batch下的性能。

1) PerXLM在NVIDIA GPU上的性能

澎峰科技

图3. PerfXLM与vllm在A40上FP16的llama2性能对比

澎峰科技

图4. PerfXLM与vllm在4090上FP16的llama2性能对比

澎峰科技

图5.PerfXLM与vllm在A40上FP16的llama3性能对比

澎峰科技

图6.PerfXLM与vllm在4090上FP16的llama3性能对比

2)PerfXLM在海光DCU上的性能

澎峰科技

图7 PerfXLM与vllm在DCU Z100SM上的llama2性能对比

澎峰科技

图8 PerfXLM与vllm在DCU Z100SM上的llama3性能对比

3)PerfXLM在国产某GPU上的性能

澎峰科技

图9 PerfXLM在某国产GPU上的性能

4)PerfXLM在高通Adreno GPU上的性能

澎峰科技

图10 PerfXLM在高通Adreno的性能(单batch)

5) PerfXLM在Intel iGPU上的性能

澎峰科技

图11 PerfXLM在Intel iGPU上的性能(单batch)

未来,PerfXLM将继续支持"更多的硬件 x 更多的模型"。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分