分享一个AI开发者的强力助手:openMind Library

在人工智能的浪潮中,深度学习开发套件 openMind Library,以其强大的功能和易用性,逐步成为AI开发者们的强力助手。本文将通过魔乐社区近期关注挺高的大模型平台魔乐社区,深入了解openMind Library。

openMind Library是什么?

openMind Library 是一个深度学习开发套件,它通过简单易用的API接口,支持模型预训练、微调、推理、部署等流程。同时,它兼容PyTorch和MindSpore等主流框架,原生支持昇腾NPU处理器,为AI开发提供强大的支持。

功能亮点

  • 多框架兼容 为满足开发者对于技术选择的多样性需求,openMind Library原生支持PyTorch和MindSpore主流框架,开发者都可以根据自己的项目需求,灵活选择最合适的框架进行开发。

  • 大模型训练支持 为了应对大模型分布式训练的挑战,openMind Library提供了预训练接口,支持MindSpeed、Accelerate等加速库,帮助开发者顺畅快速地训练大模型。具体可参考模型预训练

  • 丰富的接口封装 openMind Library提供了对Transformers和MindFormers AutoClass、Pipeline、Trainer等接口的封装,并进行了功能增强,提供从魔乐社区自动下载和加载模型的能力,同时扩展新增了昇腾NPU亲和的特性,有效提升在昇腾NPU上进行模型训练推理的性能,具体可参考模型微调模型推理

  • 简单的命令行接口 针对本地快速运行大模型的场景,openMind Library提供了简明易用的命令行接口,低代码迅速执行模型上传下载、推理、对话、部署等操作。具体可参考命令行接口

  • 丰富的模型案例 openMind Library提供了丰富的模型开发案例,从预训练到微调,再到推理,每一步都有详细的指导和脚本支持。无论是新手还是资深开发者,都能在这里找到适合自己的资源,快速实现模型的开发和部署。具体可参考openMind Library内置模型案例表格

教程_快速入门openMind Library

1 快速安装

开始之前,请确认已经按照指引安装openMind Library。若未安装,可参考以下安装指引快速安装。

# 基于PyTorch的openMind Library快速安装

conda create -n your_venv_name python=3.8
conda activate your_venv_name

# 基于PyTorch和NPU安装openMind Library
pip install openmind[pt]
# 基于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]

2 选择框架

根据您的项目需求,选择Python 或 MindSpore作为您的开发框架。openMind Library提供了对这两个框架的原生支持。

# MindSpore框架

## 方法一:直接在设备环境中指定使用MindSpore框架。
### Linux环境
export OPENMIND_FRAMEWORK="ms"

## 方法二:在代码中指定使用MindSpore框架。
import os
os.environ["OPENMIND_FRAMEWORK"] = "ms"
# 使用PyTorch框架 ​ 

## 方法一:直接在设备环境中指定使用PyTorch框架。

# Linux环境
export OPENMIND_FRAMEWORK="pt"

## 方法二:在代码中指定使用PyTorch框架。

import os
os.environ["OPENMIND_FRAMEWORK"] = "pt"

3 模型推理

在openMind Library中,开发者可以使用Pipeline进行推理。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对输入文本进行情感分析。

classifier("Welcome to the openMind library!")

'''
输出:
[{'label': 'POSITIVE', 'score': 0.999705970287323}]
'''

当输入文本不止一条时,可以把所有输入放入到列表中,一次性传给pipeline()classifier也将所有结果存储在一个字典列表内并返回:

results = classifier(["Welcome to the openMind library!", "Have a great experience using it!"])
for result in results:
    print(f"label: {result['label']}, with score: {round(result['score'], 4)}")

'''
输出:
label: POSITIVE, with score: 0.9997
label: POSITIVE, with score: 0.9998
'''

4 模型训练

openMind Library提供了一个Trainer类来实现训练模型所需功能。开发者可根据特定任务需求,将模型、框架、数据集等作为参数对象传递给Trainer进行训练,流程如下图所示:

openMindLibrary_使用Trainer快速训练模型

结语

魔乐社区致力于打造一个开放、共享的人工智能生态社区,鼓励每一位开发者分享自己的经验和成果。随着AI技术的不断进步,openMind Library也在不断地更新和完善,以适应不断变化的技术需求。我们期待与全球的AI开发者一起,共同探索AI的无限可能,共创美好的智能未来。

相关链接: https://modelers.cn/docs/zh/openmind-library/overview.html

社群交流 社群交流

微软开源基于 Rust 的 OpenHCL 字节跳动商业化团队模型训练被“投毒”,内部人士称未影响豆包大模型 华为正式发布原生鸿蒙系统 OpenJDK 新提案:将 JDK 大小减少约 25% Node.js 23 正式发布,不再支持 32 位 Windows 系统 Linux 大规模移除疑似俄开发者,开源药丸? QUIC 在高速网络下不够快 RustDesk 远程桌面 Web 客户端 V2 预览 前端开发框架 Svelte 5 发布,历史上最重要的版本 开源日报 | 北大实习生攻击字节AI训练集群;Bitwarden进一步脱离开源;新一代MoE架构;给手机装Linux;英伟达真正的护城河是什么?
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/8066678/blog/15776104