【AI系统】昇腾推理引擎 MindIE

简介: 本文详细介绍华为昇腾推理引擎 MindIE,涵盖其基本介绍、关键功能特性及三大组件:MindIE-Service、MindIE-Torch 和 MindIE-RT。文章深入探讨了各组件在服务化部署、大模型推理和推理运行时方面的功能和应用场景,旨在帮助读者全面了解 MindIE 如何支持 AI 业务的高效运行和模型的快速部署。

本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。

本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应用场景。通过本文的介绍,读者将对 MindIE 有一个全面的了解,包括其如何支持 AI 业务的高效运行和模型的快速部署。

MindIE 基本介绍

MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对 AI 全场景业务的推理加速套件。通过分层开放 AI 能力,支撑用户多样化的 AI 业务需求,使能百模千态,释放昇腾硬件设备算力。支持多种主流 AI 框架,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。

业界标准 RPC 接口高效对接业务层,支持 Triton 和 TGI 等主流推理服务框架,实现小时级应用部署。提供针对 LLM(transformer)和文生图(SD 模型)的加速参考代码和预置模型,开箱性能业界领先。少量代码实现训练向推理平滑迁移,昇腾训推同构小时级模型迁移,以及 GPU 模型向昇腾 2 人周高效迁移。

昇腾推理引擎支持请求并发调度和模型多实例并发调度,支持多种异步下发,多流水执行,实现高效的推理加速。支持从 PyTorch 和昇思对接从训练模型转换推理模型的过程,支持多种推理服务框架和兼容接口。提供基于昇腾架构亲和加速技术,覆盖推理全流程的图转换、组网、编译、推理执行、调试调优接口。

已发布 MindIE Service、MindIE Torch、MindIE RT 三个组件。

MindIE-Service

MindIE-Service 针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。

MindIE-Server 作为推理服务端,提供模型服务化能力;MindIE-Client 提供服务客户端标准 API,简化用户服务调用。MindIE-Service 向下调用了 MindIE-LLM 组件能力。

MindIE-Torch

MindIE-Torch 是针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch 向下调用了 MindIE-RT 组件能力。

MindIE-RT

MindIE-RT 是面向昇腾 AI 处理器的推理加速引擎,提供模型推理迁移相关开发接口及工具,能够将不同的 AI 框架(PyTorch、ONNX 等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。集成 Transfomer 高性能算子加速库 ATB,提供基础高性能算子,和高效的算子组合技术(Graph)便于模型加速。

关键功能特性

服务化部署

MindIE-Service 是面向通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。它的组件包括 MindIE-Server、MindIE-Client、Benchmark 评测工具等,一方面通过对接昇腾的推理加速引擎带来大模型在昇腾环境中的性能提升,另一方面,通过接入现有的主流推理框架生态,逐渐以性能和易用性牵引存量生态的用户向全自研推理服务化平台迁移。

支持的特性:

  • 支持大模型服务化快速部署。

  • 提供了标准的昇腾服务化接口,兼容 Triton/OpenAI/TGI/vLLM 等第三方框架接口。

  • 支持 Continuous Batching,PagedAttention。

  • 支持基于 Transformer 推理加速库(Ascend Transformer Boost)的模型接入,继承其加速能力,包括融合加速算子、量化等特性。

大模型推理

提供大模型推理能力,支持大模型业务全流程,逐级能力开放,使能大模型客户需求定制化。

  1. Pytorch 模型迁移

    对接主流 Pytorch 框架,实现训练到推理的平滑迁移,提供通用的图优化并行推理能力,提供用户深度定制优化能力。MindIE-Torch 是推理引擎组件中针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。

  2. MindIE-Torch TorchScript 支持以下功能特性

    • 支持 TorchScript 模型的编译优化,生成可直接在昇腾 NPU 设备加速推理的 TorchScript 模型。

    • 支持静态输入和动态输入,动态输入分为动态 Dims 和 ShapeRange 两种模式。

    • 编译优化时支持混合精度、FP32 以及 FP16 精度策略。

    • 支持用户自定义 converter 和自定义 pass。

    • 支持异步推理和异步数据拷贝。

    • 支持与 torch_npu 配套使用,算子可 fallback 到 torch_npu 执行。

    • 支持多语言 API(C++、Python)。

  3. MindIE-Torch ExportedProgram 支持以下功能特性:

    • 支持 ExportedProgram 的编译优化,生成可直接在昇腾 NPU 设备加速推理的 nn.Module 模型。

    • 支持静态输入和动态 ShapeRange 输入。

    • 编译优化时支持混合精度、FP32、FP16 精度策略。

    • 支持异步推理和异步数据拷贝。

    • 支持 Python API。

推理运行时

集成推理应用接口及 Transformer 加速库,提供推理迁移相关开发接口及工具,提供通用优化及并行推理能力》。MindIE-RT(Mind Inference Engine RT,昇腾推理引擎运行时)是针对昇腾 AI 处理器的推理加速引擎,提供 AI 模型推理场景下的商业化部署能力,能够将不同的 AI 框架上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。

MindIE-RT 集成昇腾高性能算子加速库 ATB,为实现基于 Transformer 的神经网络推理加速引擎库,库中包含了各类 Transformer 类模型的高度优化模块,如 Encoder 和 Decoder 部分。

MindIE-RT 专注于为用户提供快速迁移、稳定精度以及极致性能的推理服务,让用户能够脱离底层硬件细节和不同平台框架的差异,专注于推理业务本身,实现高效的模型部署开发。并且专门针对大模型下的 Transformer 架构,提高 Transformer 模型性能,提供了基础的高性能的算子,高效的算子组合技术(Graph),方便模型加速。目前 MindIE-RT 已实现动态输入推理,解析框架模型等功能特性。

  1. MindIE-RT 支持以下功能特性

    • 支持多语言 API(C++, Python):详情参见 C++编程模型和 Python 编程模型。

    • 提供 parser,支持直接导入 AI 框架 ONNX 模型,详情参见解析框架模型。

    • 支持 Transformer 算子加速库,集成基础高性能算子,详情可见 ATB 高性能加速库使用。

    • 支持丰富的编译时优化方法和运行时优化方法,用户可以在昇腾 AI 处理器上占用较少的内存,部署更高性能的推理业务,提供的优化方法如:精度优化和常量折叠。

  2. 应用场景

    MindIE-RT 是基于昇腾 AI 处理器的部署推理引擎,适用于通过 NPU、GPU、CPU 等设备训练的算法模型,为其提供极简易用且灵活的接口,实现算法从训练到推理的快速迁移。目前 MindIE-RT 的快速迁移能力已支持以下业务场景:

    • 计算机视觉。

    • 自然语言处理。

    • 推荐、检索。

    • 大模型对话。

如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/ 或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~

目录
相关文章
|
7月前
|
人工智能 弹性计算 自然语言处理
【Hello AI】AIACC-ACSpeed性能数据
本文展示了AIACC-ACSpeed的部分性能数据,相比较通过原生DDP训练模型后的性能数据,使用AIACC-ACSpeed训练多个模型时,性能具有明显提升。
|
3天前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 框架基础介绍
本文介绍了AI算法、神经网络及AI框架的基础概念,探讨了神经网络的作用、训练目的以及AI框架如何简化模型设计、训练与验证过程。文章还概述了AI框架的发展历程和技术演进,强调了国内外主要AI框架的特点及其对AI技术发展的推动作用。
21 2
【AI系统】AI 框架基础介绍
|
6天前
|
存储 人工智能 监控
【AI系统】推理系统架构
本文深入探讨了AI推理系统架构,特别是以NVIDIA Triton Inference Server为核心,涵盖推理、部署、服务化三大环节。Triton通过高性能、可扩展、多框架支持等特点,提供了一站式的模型服务解决方案。文章还介绍了模型预编排、推理引擎、返回与监控等功能,以及自定义Backend开发和模型生命周期管理的最佳实践,如金丝雀发布和回滚策略,旨在帮助构建高效、可靠的AI应用。
43 15
|
6天前
|
机器学习/深度学习 人工智能 算法
【AI系统】推理系统介绍
推理系统是一种专门用于部署和执行神经网络模型预测任务的AI系统,类似于Web服务或移动端应用,但专注于AI模型的部署与运行。它支持将模型部署到云端或边缘端,处理用户请求。本文介绍了训练与推理的基本流程、两者差异、推理系统的优化目标及挑战,并对比了推理系统与推理引擎的流程结构,强调了设计推理系统时需考虑的优化目标,如灵活性、延迟、吞吐量、高效率、扩展性和可靠性。同时,文章还讨论了推理系统与推理引擎的区别,帮助读者深入了解推理引擎的核心技术。
30 5
|
12天前
|
存储 机器学习/深度学习 人工智能
【AI系统】昇腾 AI 核心单元
本文深入解析了华为昇腾AI处理器的核心——AI Core及其达芬奇架构。AI Core采用特定域架构(DSA),专为深度学习算法优化,通过矩阵、向量和标量计算单元的高效协作,实现了对深度学习算法的加速。文章详细介绍了AI Core的计算单元、存储系统及控制单元的设计,展示了其如何通过优化数据通路和控制流程,显著提升计算性能。
39 3
|
12天前
|
人工智能 atlas 开发工具
【AI系统】昇腾 AI 架构介绍
昇腾计算产业基于华为昇腾系列处理器,涵盖硬件、基础软件、应用使能等,构建全栈AI计算基础设施。华为通过开放硬件、开源软件,支持多框架,推动AI技术在端、边、云的广泛应用,促进AI产业生态繁荣。
31 1
|
12天前
|
存储 机器学习/深度学习 人工智能
【AI系统】昇腾 AI 处理器
本文介绍华为昇腾AI处理器的架构与卷积加速原理,基于达芬奇架构设计,支持云边端一体化解决方案,具备高能效比和强大的3D Cube矩阵计算单元。文章详细解析了昇腾AI处理器的核心组件及其高效的数据处理机制,旨在通过软硬件优化实现高效的卷积计算加速。
47 2
|
13天前
|
机器学习/深度学习 存储 人工智能
【AI系统】为什么 GPU 适用于 AI
本文探讨了GPU在AI计算中的应用,从卷积计算的基本原理入手,解析了GPU线程分级与AI计算模式的关系,以及矩阵乘法如何通过GPU编程提升算力利用率。文章还介绍了计算强度的概念,分析了不同数据结构对计算强度的影响,以及GPU中Tensor Core的作用,强调了在不同存储位置下,找到计算强度与矩阵大小的最佳平衡点对AI计算系统优化的重要性。
43 2
|
14天前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】AI轻量化与并行策略
本文探讨了AI计算模式对芯片设计的重要性,重点介绍了轻量化网络模型和大模型分布式并行两大主题。轻量化模型旨在减少参数量和计算量,适合资源受限的设备;大模型分布式并行则针对高性能计算需求,通过数据并行、模型并行等技术提高训练效率。文中详细解析了轻量化设计的方法及分布式并行的实现机制,为AI芯片设计提供了理论依据和技术指导。
28 2
|
5天前
|
机器学习/深度学习 人工智能 调度
【AI系统】推理引擎架构
本文详细介绍了推理引擎的基本概念、特点、技术挑战及架构设计。推理引擎作为 AI 系统中的关键组件,负责将训练好的模型部署到实际应用中,实现智能决策和自动化处理。文章首先概述了推理引擎的四大特点:轻量、通用、易用和高效,接着探讨了其面临的三大技术挑战:需求复杂性与程序大小的权衡、算力需求与资源碎片化的矛盾、执行效率与模型精度的双重要求。随后,文章深入分析了推理引擎的整体架构,包括优化阶段的模型转换工具、模型压缩、端侧学习等关键技术,以及运行阶段的调度层、执行层等核心组件。最后,通过具体的开发流程示例,展示了如何使用推理引擎进行模型的加载、配置、数据预处理、推理执行及结果后处理。
20 0