MindNLP是一个基于MindSpore深度学习框架开发的开源自然语言处理(NLP)库。它为解决各种NLP任务提供了一个强大的平台,包含了许多常用的NLP方法和模型。

MindNLP 官网:​​https://mindnlp.cqu.ai/​

Github仓库地址: ​​https://github.com/mindspore-lab/mindnlp.git​

官网上的Tutorials中的示例和代码的版本比较旧,存在部分因错误而不可运行的代码;这里提供中文文档的基础部分,包含各示例代码及其运行结果(基于mindnlp0.4.1的daily版本,版本为2024.11.26),部分内容在原官方英文教程基础上加入了一些额外的说明。

Tutorials:​​https://mindnlp.cqu.ai/tutorials/quick_start/​

注:通过git 下载mindnlp最新版:pip install git+https://github.com/mindspore-lab/mindnlp.git

基础教程的中文文档(含示例运行结果)的文件(.ipynb)已上传至N思大模型平台:​​https://xihe.mindspore.cn/projects/Helloyouth2024/MindNLP_documents/tree​

MindNLP_document 仓库文件说明:N思大模型平台偶尔由于平台问题无法对外显示.ipynb文件,但下载到本地之后是可见的;文件包含:dataset_train2val.py, README.md, 使用Trainer.ipynb, 使用镜像.ipynb, 参数高效微调(PEFT).ipynb,快速开始.ipynb, 数据预处理.ipynb.

可通过git clone下载文件到本地机器查看:

​https://source-xihe.mindspore.cn/Helloyouth2024/MindNLP_documents.git​

        也可通过下述各部分的链接(以​​https://pangu.huaweicloud.com/​​开头)直接在华为云的ModelArts平台查看。

快速开始

AI gallery链接:

​https://pangu.huaweicloud.com/gallery/asset-detail.html?id=0f3ac967-a2bf-4ad1-af76-3ff5f39c2cad​

使用“bert预训练模型 + imdb数据集 实现情感识别”的一个例子快速认识、了解MindNLP的核心基础功能:数据集加载与预处理,预训练模型的加载和训练,其中训练部分包含①使用MindNLP的Trainer接口实现快速搭建训练过程;②使用MindSpore 原生训练过程的封装定制化自己的训练过程(主要为了定制训练过程的信息打印、验证方法的处理等);通过该部分教程,期望对初学者能有一个对 MindNLP 的初步认识,为后续学习打下基础。

数据预处理

AI gallery链接:

​https://pangu.huaweicloud.com/gallery/asset-detail.html?id=5cc67f41-5bb9-4df8-8769-77a45afa5c50​

介绍为MindNLP模型准备数据集的两大常用方法:①使用MindSpore原生数据集处理过程,针对你所加载的数据集的属性和模型的任务要求对数据集进行预处理;

②使用MindNLP提供的BaseMapFunction类和Trainer接口的map_fn参数处理数据集,代码量更少、因为BaseMapFunction内部封装了一般处理步骤。

这部分教程包含的内容有:加载和分割数据集,加载分词器,使用原生MindSpore 进行预处理(投影操作、样本顺序打乱、取子集、分词、类型转换、批处理等),使用BaseMapFunction进行预处理。

使用Trainer

AI gallery链接:

​https://pangu.huaweicloud.com/gallery/asset-detail.html?id=6598032d-d1d7-4b17-8b51-b17573740d6a​

学习使用 MindNLP 中的 TrainingArguments 和 Trainer 类的基本使用,这两个类简化了机器学习模型的训练过程。

TrainingArguments 允许你轻松配置必要的训练(超)参数。Trainer 则利用这些配置高效地处理整个训练循环。这两个工具一起抽象化了训练任务的复杂性。

这部分的内容包括:配置训练参数(基本参数、优化器参数、批量大小参数、评估/保存/记录策略等),创建Trainer对象(如创建实例对象trainer,正确创建后可通过 trainer.train()执行整个训练过程)。

参数高效微调(PEFT)

AI gallery链接:

​https://pangu.huaweicloud.com/gallery/asset-detail.html?id=8c133d31-0a19-47db-9301-9b6fa64b2460​

(参数高效微调)是一种微调大型预训练模型的技术,它通过最小化参数更新来降低计算成本并保持泛化能力。

这里以“mT0模型 处理 序列到序列任务”为例,演示LoRA 微调模型,初步了解和学习MindNLP通过的PEFT功能。

这部分内容包括:加载模型并添加PEFT适配器,准备数据集(加载financial_phrasebank数据集并将其数字标签转换为文本标签以作为序列到序列任务的微调数据集),训练模型(优化器和学习率调度器、训练步骤、训练循环),训练后(计算准确率并检查预测结果、保存微调模型)、使用模型进行推理。

使用镜像

AI gallery链接:

​https://pangu.huaweicloud.com/gallery/asset-detail.html?id=f4a001a9-670e-4d58-a755-041415e3933c​

可加载huggingface的数据集和模型,但由于网络问题,这些数据集或模型可能并不总是能够被访问。

为了使访问更容易,MindNLP 允许你从各种 Hugging Face 镜像(如hf-mirror等)或<b>其他模型仓库</b>下载模型和数据集。

这部分内容包括:通过环境变量设置 Hugging Face 镜像,不同镜像网站/AI 模型社区介绍(huggingface官网及其镜像仓库、魔搭社区、始智AI、

Gitee AI Hugging Face 仓库、魔乐社区等,后续可能会更新,魔乐社区就是不久前才更新的)。

不同AI 学习社区推荐

- 'huggingface':

官网:https://huggingface.co

Hugging Face是一个开源的人工智能技术学习平台。Hugging Face提供了一个合作平台,允许用户托管和协作开发模型、数据集和应用程序。

其核心模块:Models(模型)提供了超过320,000个模型,包括处理CV和NLP等任务的模型;Datasets(数据集)提供了大量的数据集。

-huggingface镜像站HF-Mirror(链接:​​https://hf-mirror.com/​

hf-mirror 是由 padeo提供的一个Huggingface镜像站,帮助国内开发者稳定获取huggingface上的模型和数据集。HF-Mirror是由padeoe开源的,属于公益性质,旨在解决国内用户在访问Huggingface时可能遇到的下载速度慢或不稳定的问题。

-魔搭社区:​​https://www.modelscope.cn/​

魔搭社区(ModelScope)是一个基于达摩院机器智能、大模型、XR实验室等前沿技术诞生的模型和服务共享平台。该社区同样提供了许多开源数据集与模型,且免费开放给个人和企业用户使用。该社区同时支持模型管理检索、模型下载、模型调优和训练模型推理等服务。

-始智AI:​​https://www.wisemodel.cn/​

始智AI wisemodel是一个中立开放的AI开源社区平台,其目标是打造成为中国版的“HuggingFace”。wisemodel社区秉承“中立、开放、共建、共创、合作”五项原则,希望联合高校、科研院所、大型互联网公司、中小创新创业型公司、个人开发者以及政府部门等共同参与和建设中国的AI开源社区。该社区目前已经上线了包括清华/智谱ChatGLM2-6B、Stable Diffusion V1.5、alphafold2等模型,以及shareGPT、ultrachat、moss-sft等数据集。

- Gitee AI Hugging Face 仓库:​​https://ai.gitee.com/​

仓库是一个托管在 Gitee 平台上的仓库,它提供了 Hugging Face Hub 的 Python 客户端,允许用户与 Hugging Face Hub 进行交互。通过 huggingface_hub 库,用户可以针对不同任务找到适合的预训练模型和数据集,体验托管在平台上的机器学习应用,还可以创建或分享自己的模型和数据集并与社区共享。

- 魔乐社区:​​https://modelers.cn/​

魔乐社区(Modelers)是一个一体化开源平台,它集成了openMind Library和openMind Hub Client等工具套件,提供了模型库、数据集和体验空间等核心组件,覆盖了自然语言处理、视觉、音频等领域。魔乐社区致力于打造一个开放共享的人工智能生态社区,提供首发原生模型、易用开发工具、丰富生态资源,帮助开发者获取领先的人工智能技术,打造出更有竞争力和差异化的模型及应用。

关注微信公众号——分享之心,及时获取后续更多AI学习分享。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐