中文nlp应用(数据、模型、训练、推理),开箱即用,从0到NLP

名称: yuanzhoulvpi2017/zero_nlp

地址: https://github.com/yuanzhoulvpi2017/zero_nlp

fork: 73        star: 413        开发语言: Jupyter Notebook

简介: 中文 nlp 应用(数据、模型、训练、理)

最近网上很多的 nlp 项目都是基于英文的,无论是 chatGpt 还是 stable diffusion 图片生成,对中文的支持都不太友好,zero_nlp 注重中文 nlp 的建设,开源了多个中文 nlp 应用,包括中文文本分类,图片生成等,并且提供了训练数据,保证了从 0 训练出相应的模型。

  特点

  1. 注重中文的 nlp 建设
  2. 基于 transformers 库
  3. 每一个项目,都具有数据、模型训练、部署等模块
  4. 提供公开的数据
  5. 开箱即用,保证代码都是可跑通,替换数据即可训练出自己的模型
  6. transformers 库的源码级介绍
  7. 基于 pytorch,不用 tensorflow
  8. 模型方面,只介绍大模型,不再介绍传统文本模型
  9. 每一个项目,都会给出相关的坑和注意事项

  包含的项目

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

  流程图解

数据流程通过图解的形式表达出来是最清楚的,因此作者尽可能地把每一个任务都图解出来。

文本分类数据图解

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

中文 clip

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP图像生成中文文本

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

vit 源码

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

接下来我们进入其中一个项目看下其中的具体的内容,以chinese_gpt2为例。

  项目介绍

  1. 如何使用中文语料,训练一个 gpt2
  2. 可以使用你自己的数据训练,用来:写新闻、写古诗、写对联等
  3. 这里作者也训练了一个中文 gpt2 模型,使用了612 万个样本,每个样本有 512 个 tokens,总共相当于大约31 亿个 tokens

  安装项目依赖

pip install -r requirements.txt

由于requirements.txt中没有添加pytorch,所以还需要单独安装。

  数据

数据来源

  1. 获得数据:数据链接,关注公众号【统计学人】,然后回复【gpt2】即可获得。
  2. 获得作者训练好的模型(使用了 15GB 的数据(31 亿个 tokens),在一张 3090 上,训练了 60 多小时)

数据格式

  1. 数据其实就是一系列文件夹?,然后每一个文件夹里面有大量的文件,每一个文件都是.csv格式的文件。其中有一列数据content每一行的content就代表一句话,截图如下

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

  代码

⚙️训练代码

  1. 现在训练一个 gpt2 代码,其实很简单的。抛开处理数据问题,技术上就三点:tokenizergpt2_modelTrainer
  2. tokenizer使用的是bert-base-chinese ,然后再添加一下bos_tokeneos_tokenpad_token
  3. gpt2_model使用的是gpt2,这里的 gpt2 是从 0 开始训练的。而不是使用别人的预训练的gpt2模型。
  4. Trainer训练器使用的就是transformersTrainer模块。(支撑多卡并行,tensorboard 等,都写好的,直接调用就行了,非常好用)

⚙️

模型已经上传到huggingface了,可以通过以下链接访问

https://huggingface.co/yuanzhoulvpi/gpt2_chinese

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

?交互机器人界面chatbot.py

  1. 修改代码里面的第 4 行,这一行值为模型所在的位置,修改为作者分享的模型文件路径。
model_name_or_path = "checkpoint-36000"
  1. 运行
python chatbot.py
  1. 点击链接,即可在浏览器中打开机器人对话界面

中文 nlp 应用(数据、模型、训练、推理),开箱即用,从 0 到 NLP

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...