openMind Library是一个开源的深度学习开发套件,通过简单易用的API支持模型预训练、微调、推理、部署等流程。openMind Library通过一套接口兼容PyTorch和MindSpore等主流框架,同时原生支持昇腾NPU处理器。介绍见:概述 | 魔乐社区
openMind Library特性
-
为了应对大模型分布式训练的挑战,openMind Library提供了预训练接口,支持MindSpeed、Accelerate等加速库,帮助开发者顺畅快速地训练大模型,具体可参考模型预训练章节。
-
openMind Library提供了对Transformers和MindFormers AutoClass、Pipeline、Trainer等接口的封装,并进行了功能增强,提供从魔乐社区自动下载和加载模型的能力,同时扩展新增了昇腾NPU亲和的特性,有效提升在昇腾NPU上进行模型训练推理的性能,具体可参考模型微调和模型推理章节。
-
openMind Library针对本地快速运行大模型的场景,提供了简明易用的命令行接口,低代码迅速执行模型上传下载、推理、对话、部署等操作,具体可参考命令行接口章节。
快速安装
-
基于MindSpore的openMind Library快速安装
conda create -n your_venv_name python=3.8 conda activate your_venv_name # 基于MindSpore和NPU安装openMind Library pip install openmind[ms]
安装完成后,需要设置OpenMind使用哪种框架。
但是openMind只支持python3.8,这就没法搞了.....
使用MindSpore框架
-
方法一:直接在设备环境中指定使用MindSpore框架。
# Linux环境 export OPENMIND_FRAMEWORK="ms"
-
方法二:在代码中指定使用MindSpore框架。
import os os.environ["OPENMIND_FRAMEWORK"] = "ms"
使用Pipeline进行推理
pipeline()
提供了使用预训练模型进行推理的全流程,使用pipeline()
可以轻松实现对文本、图像、音频等多种模态数据的多种任务,如文本情感分析、图像分割、语音识别等。
本章以对文本的情感分析任务为例,展示如何使用pipeline()
执行一个指定的任务。
Pipeline指定任务(初级任务)
首先,实例化一个pipeline对象并指定任务类型,本示例中指定为sentiment-analysis
(所有支持的任务类型详见 pipeline当前支持的推理任务与默认模型)。此方法未指定模型,pipeline使用任务对应的预定义默认模型进行推理。
from openmind import pipeline
# 当环境中只有一种框架,若不指定framework参数,将默认基于当前框架进行推理
classifier = pipeline("sentiment-analysis")
# 当环境中有多种框架,若指定framework参数为"ms"时,将基于MindSpore框架进行推理
classifier = pipeline("sentiment-analysis", framework="ms")
在仅指定任务类型时,pipeline()
会自动下载预定义默认预训练模型及分词器,本示例中的预训练模型和分词器用于情感分析,随后使用classifier
对输入文本进行情感分析。