AI大模型得到了前所未有的关注度与蓬勃发展,并在各类应用场景中产生了深远的影响。与之相应的是,对于高效、高可用的AI大模型推理系统的需求逐渐增长,成为许多企业的业务效率和成本挑战。
潞晨科技公司为此打造了高效易用的Colossal-Inference推理引擎,可显著提高AI大模型吞吐速度,以应对推理场景中的性能瓶颈和成本挑战。该推理引擎集成了分块显存管理与分页注意力算法,预设与自定义模型优化策略,连续批处理调度。预设中提供高性能手写算子, 第三方的算子加速库;而在预设之外,用户可以通过使用基础算子与模型层,自行搭建自定义模型优化策略,对指定模型进行优化。
GitHub开源地址:https://github.com/hpcaitech/ColossalAI/tree/main/colossalai/inference
性能对比
在NV H100 80GB SXM单卡上,对于LLaMA3 8B模型,与vLLM的离线推理性能相比,推理吞吐可至多提升近40%。
对于多卡并行推理,以NV H100 80GB SXM两卡张量并行为例,对于LLaMA3 8B模型,与vLLM的离线推理性能相比,部分情况下推理吞吐可接近翻倍提升。
Colossal-Inference推理流程
推理引擎初始化
用户输入模型 (模型地址或HuggingFace Model Card) 与初始化配置,包括通用类型、推理引擎设置、多卡并行配置、功能配置和生成预设等。在推理引擎初始化过程中,输入模型会经由ColossalAI.ShardFormer进行切分和优化;针对多卡配置,模型将按照张量并行的方式分布到指定的卡上。而自定义优化算子可以通过ColossalAI.Extension模块引入。完成切分优化后,推理引擎保留优化后的模型。同时,系统在设备上预先分配激活缓存,初始化请求调度器、KV缓存管理器、及其他功能组件。
https://n4fyd3ptax.feishu.cn/sync/MB3Fd0Sm3sVMdkb1yogc3b8rnxc
模型优化完成、等待接受请求状态
初始化完成后,系统进入等待接受用户请求的状态。当用户输入提示词,例如“夏季旅行去哪里”,推理引擎调度器会进行调度,使用优化后的模型进行推理。在此过程中,根