随着 ChatGPT 的现象级走红,引领了AI大模型时代的变革,从而导致 AI 算力日益紧缺。与此同时,中美贸易战以及美国对华进行AI芯片相关的制裁导致 AI 算力的国产化适配势在必行。之前也分享过一些国产 AI 芯片 和 AI 框架。
- 大模型国产化适配1-华为昇腾AI全栈软硬件平台总结
- 大模型国产化适配2-基于昇腾910使用ChatGLM-6B进行模型推理
- 大模型国产化适配3-基于昇腾910使用ChatGLM-6B进行模型训练
- 大模型国产化适配4-基于昇腾910使用LLaMA-13B进行多机多卡训练
- 大模型国产化适配5-百度飞浆PaddleNLP大语言模型工具链总结
- 大模型国产化适配6-基于昇腾910B快速验证ChatGLM3-6B/BaiChuan2-7B模型推理
- AI芯片技术原理剖析(一):国内外AI芯片概述
- 大模型国产化适配7-华为昇腾LLM落地可选解决方案(MindFormers、ModelLink、MindIE)
另外,我撰写的大模型相关的博客及配套代码 均整理放置在Github:llm-action,有需要的朋友自取。
在华为昇腾LLM落地可选解决方案中,我们提到 MindIE 说是 4 月底正式发布,果然官网有相关文档了。MindIE 1.0.RC1 发布,昇腾终于结束了小米加步枪部署LLM的时代了。
MindIE 简介
MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对AI全场景业务的推理加速套件。通过分层开放AI能力,支撑用户多样化的AI业务需求,使能百模千态,释放昇腾硬件设备算力。向上支持多种主流AI框架,向下对接不同类型昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。
MindIE 架构图
MindIE提供了基于多种AI场景下的推理解决方案,具有强大的性能、健全的生态,帮助用户快速开展业务迁移、业务定制。MindIE主要分为以下四部分,架构图如下所示。
服务化层
MindIE-Service,服务化框架,提供高性能推理服务部署与运维能力。MindIE-Server作为推理服务端,提供模型服务化能力;MindIE-Client提供服务客户端标准API,简化用户服务调用;MindIE-MS提供服务策略管理、运维能力,即将推出。
模型应用层
MindIE-SD: 面向视图生成场景的高性能推理框架。
MindIE-LLM:大语言模型推理框架。
框架插件层
框架插件: PyTorch推理加速插件框架,支持模型迁移推理。
推理运行时
MindIE-RT: 推理运行时。提供推理应用接口,集成图编译、图运行能力;提供高性能算子加速库MindIE-ATB,集成Transformer 融合大算子API及实现,供用户手动搭建模型,实现高性能推理。
MindIE 核心组件
编号 | 描述 | 目的 |
---|---|---|
1 | MindIE-Service | MindIE-Service针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型等多类型模型的高性能推理需求。MindIE-Server作为推理服务端,提供模型服务化能力;MindIE-Client提供服务客户端标准API,简化用户服务调用。 |
2 | MindIE-Torch | MindIE-Torch是针对Pytorch框架模型的推理加速插件。Pytorch框架上训练的模型利用MindIE-Torch提供的简易C++/Python接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch向下调用了MindIE-RT组件能力。 |
3 | MindIE-RT | MindIE-RT是针对昇腾AI处理器的推理加速引擎,提供AI模型推理场景下的部署能力,能够将不同的深度学习框架(PyTorch、ONNX等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。支持大模型高性能算子,提供面向Transformer模型的加速库(Ascend Transformer Boost),提高Transformer模型性能。ATB提供了基础的高性能的算子,和一种高效的算子组合技术(Graph),方便模型加速。各类模型推理框架可以使用。 |
关键功能特性
- 服务化部署:提供用户侧接口、调度优化、多模型业务串流等能力。提供模型管理,自动扩缩容,DevOps等服务化调度能力。
- 大模型推理:提供大模型推理能力,支持大模型业务全流程,逐级能力开放,使能大模型客户需求定制化。
- Pytorch模型迁移:对接主流Pytorch框架,实现训练到推理的平滑迁移,提供通用的图优化并行推理能力,提供用户深度定制优化能力。
支持的模型
目前 1.0.RC1 版本支持的模型有 baichuan、bloom、deepseek、internlm、mixtral、qwen2、starcoder、aquila、chatglm、gpt_neox、llama、qwen、telechat。
可以看到,对主流大模型的支持还是挺全的。同时,目前接口层面提供了对于流式的支持,但是目前还不支持多轮对话,需要通过一些折衷方法进行处理。
结语
本文简要介绍了 MindIE 基本特性,后续我也会推出一些MindIE相关的实战教程,如果大家感兴趣,请持续关注。