README

简介

MindIE Turbo 是基于 NPU 芯片的大语言模型推理引擎加速插件库,旨在承载自研的大语言模型优化算法及推理引擎相关优化。MindIE Turbo 提供一系列模块化和插件化接口,支持外部推理引擎的接入和加速。

以下是两个 MindIE-Turbo 代码仓库智能体,只需点击 "Ask AI" 徽章,即可进入其专属页面,有效缓解源码阅读的困难,开启智能代码学习与问答体验!它们将帮助您更深入地理解 MindIE-Turbo 的运行原理,并协助解决使用过程中遇到的问题与错误。

Zread     DeepWiki

目前,MindIE Turbo 已支持 vLLM 的适配。通过与 vLLM 和 vLLM Ascend 的对接,能够提供更强的性能和更多的推理优化算法。在实际使用中,用户只需在对应的 Python 环境中安装 MindIE Turbo,系统会自动检测 vLLM 并启用优化,无需修改代码即可完成性能提升。

会议日历

  • 11/30/2025:MindIE Turbo 正式宣布开源并面向公众开放!
  • 11/30/2025: We are excited to announce that MindIE Turbo is now open source and available to the public!

支持框架

vLLM:vLLM 是伯克利大学 LMSYS 组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐率与内存使用率,提供易用、快速、便宜的 LLM 服务。

架构说明

MindIE-Turbo 主要包含以下模块(部分为预留模块):

  • adaptor: 适配不同推理框架的优化实现
    • vllm: vLLM 框架适配
  • utils: 通用工具

环境准备

硬件环境及操作系统准备

  • 目前 MindIE Turbo 支持的硬件环境:A800I A2 推理产品(32GB/64GB)
  • 支持的操作系统请参见《MindIE 安装指南》中 "环境准备 > 支持的操作系统" 章节

开发环境准备

在安装 MindIE Turbo 之前请检查以下组件的配套关系和安装情况:

组件 配套版本 获取链接
驱动与固件(HDK) >=24.0 获取链接
CANN >=8.0.0 获取链接
PyTorch 2.5.1 获取链接
Python 3.10.x、3.11.x -
  1. 安装配套版本的驱动与固件(HDK)、CANN 软件(Toolkit、Kernels 和 NNAL)请参考《CANN 软件安装指南》,在 "选择安装场景" 页面,按下列指引选择:
  • 安装方式: 在物理机上安装
  • 操作系统: 根据实际情况选择
  • 业务场景: 选择训练 & 推理 & 开发调试
  1. 安装 PyTorch,请参考组件安装 PyTorch 框架安装 torch_npu 插件安装

使用说明

1. 安装指南

  1. 联系相关人员获取 MindIE Turbo 软件包。

  2. 将 MindIE Turbo 软件包上传到安装环境的任意路径(例如:/home/package)。

  3. 进入软件包所在路径:

    cd /home/package
    
  4. 执行以下命令安装 MindIE Turbo:

    python setup.py install
    
  5. 返回上级目录,执行以下命令验证是否安装成功:

    cd ../
    pip show mindie_turbo
    

    如果出现如下示例结果,表示安装成功:

    Version: 1.0rc1
    Summary: MindIE Turbo: An LLM inference acceleration framework featuring extensive plugin collections optimized for NPU devices.
    Home-page:
    Author-email:
    License: Apache 2.0
    Location: /usr/local/lib/python3.11/site-packages
    Requires:
    Required-by:
    

2. 快速使用

MindIE Turbo 不会修改任何使用行为,与原有框架保持一致,使得用户可以很轻松地应用并迁移项目。以 vLLM 框架为例:

  1. 安装 vLLM 与 vLLM Ascend。

    请参考 vLLM Ascend 安装文档进行安装。

  2. 根据需要,进行离线批量推理或在线服务推理。

  • 离线批量推理 请参考 vLLM 离线推理示例文档进行推理。以下为最简单的示例(来自 vllm/examples/offline_inference/basic/basic.py),请根据需要修改:
    from vllm import LLM, SamplingParams
    
    # Sample prompts.
    prompts = [
       "Hello, my name is",
       "The president of the United States is",
       "The capital of France is",
       "The future of AI is",
    ]
    # Create a sampling params object.
    sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
    
    # Create an LLM.
    llm = LLM(model="facebook/opt-125m")
    # Generate texts from the prompts. The output is a list of RequestOutput objects
    # that contain the prompt, generated text, and other information.
    outputs = llm.generate(prompts, sampling_params)
    # Print the outputs.
    for output in outputs:
       prompt = output.prompt
       generated_text = output.outputs[0].text
       print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
    
  • 启动在线推理服务 请根据 vLLM 在线服务示例文档启动服务。以下以 Qwen2.5-1.5B-Instruct 简单示例,请根据需要修改:
    vllm serve Qwen/Qwen2.5-1.5B-Instruct
    

性能调优

1. 服务器性能调优

使用服务器进行大模型推理时,建议开启 CPU 高性能模式以及透明大页,开启后可提升性能与稳定性。

步骤一:安装开启 CPU 高性能模式所需的相关库。

apt-get install cpufrequtils
apt install linux-tools-common linux-tools-$(uname -r)

步骤二:使用 cpupower 指令设置高性能模式。

cpupower frequency-set -g performance

步骤三:开启透明大页,提升性能稳定性。

echo always > /sys/kernel/mm/transparent_hugepage/enabled

2. 性能调优相关环境变量

  • VLLM_OPTIMIZATION_LEVEL
    • 设置 vLLM 推理引擎的优化级别,用于控制 vLLM 的性能优化程度,数值越高优化越激进。
    • 取值范围为 0-3,默认为 2:
      • 0: 禁用大部分优化,用于调试
      • 1: 基础优化级别
      • 2: 中等优化级别(推荐)
      • 3: 最高优化级别,可能包含实验性功能

支持特性

参与贡献

  1. Fork 本仓库
  2. 新建分支
  3. 验证修改
  4. 提交代码
  5. 新建 Pull Request