下载
中文
注册

快速介绍

概述

MindIE LLM(Mind Inference Engine Large Language Model,大语言模型)是MindIE下的大语言模型推理组件,基于昇腾硬件提供业界通用大模型推理能力,同时提供多并发请求的调度功能,支持Continuous Batching、PageAttention、FlashDecoding等加速特性,使能用户高性能推理需求。

MindIE LLM主要提供大模型推理Python API和大模型调度C++ API。

本手册有助于用户快速了解MindIE LLM,完成大模型推理的部署测试。

MindIE LLM架构

图1 MindIE LLM架构图

MindIE LLM总体架构分为三层:LLM Manager、Text Generator和Modeling。

  1. LLM Manager:负责状态管理及任务调度,基于调度策略实现用户请求组batch,统一内存池管理kv缓存,返回推理结果,提供状态监控接口。本层具体介绍及功能后续上线。

  2. Text Generator:负责模型配置、初始化、加载、自回归推理流程、后处理等,向LLM Manager提供统一的自回归推理接口,支持并行解码插件化运行。

  3. Modeling:提供深度定制优化的模块和内置模型,支持ATB Models(Ascend Transformer Boost Models)和MindFormers两种框架。

    • 内置模块包括Attention、Embedding、ColumnLinear、RowLinear、MLP(multilayer perceptron),支持Weight在线Tensor切分加载。

    • 内置模型使用内置模块进行组网拼接,支持Tensor切分,支持多种量化方式,用户亦可参照样例通过内置模块组网自定义模型。

    • 组网后的模型经过编译优化后,会生成能在昇腾NPU设备上加速推理的可执行图。

功能特性

MindIE LLM功能特性主要分为基础能力、模型能力和服务化能力三个维度。

  • 基础能力

    基础能力包括浮点、量化、并行。

    表1 浮点特性

    浮点特性

    浮点能力

    float16

    bfloat16

    MindIE LLM主打高性能推理,考虑到内存开销,当前仅支持float16、bfloat16浮点格式。可通过配置模型config.json中'torch_dtype'字段进行类型修改。

    表2 量化特性

    量化特性

    per channel

    per token

    per group

    w8a8

    ×

    ×

    w8a16

    ×

    ×

    w4a16

    ×

    w8a8稀疏量化

    ×

    ×

    MindIE LLM提供多种量化选择进行推理加速,用户可根据自己的需要进行选择,具体量化权重获取、量化推理运行请参考量化特性介绍章节进行配置。

    表3 并行特性

    并行特性

    并行能力

    TP(Tensor Parallelism)

    DP(Data Parallelism)

    ×

    PP(Pipeline Parallelism)

    ×

    EP(Expert Parallelism)

    ×

    MindIE LLM提供TP并行策略。

  • 模型能力

    MindIE LLM提供如下所示模型预置能力,用户可根据需要进行使用,也可以对模型进行自定义开发迁移。

    • LLaMa
    • CodeLLaMa
    • Baichuan
    • Mixtral
    • Qwen
    • Bloom
    • DeepSeek
    • Glm
    • CodeGeex
    • Starcoder
    • Gemma
  • 服务化能力
    表4 服务化特性

    服务化特性

    服务化能力

    MindIE Service

    TGI(Text Generation Inference)

    vLLM

    Triton

    MindIE LLM支持自研MindIE Service服务化框架,MindIE Service运行指导请参考MindIE Service开发指南中“MindIE Server”章节。

    MindIE LLM支持对接第三方的服务化框架,如TGI、vLLM,提供model backend接口,支持包括模型加载、推理以及后处理能力。