zero_nlp
zero_nlp copied to clipboard
中文nlp解决方案(大模型、数据、模型、训练、推理)
zero to nlp
特点
- 🎯
目标:基于pytorch、transformers做中文领域的nlp开箱即用的训练框架,提供全套的训练、微调模型(包括大模型、文本转向量、文本生成、多模态等模型)的解决方案; - 💽
数据:- 从开源社区,整理了海量的训练数据,帮助用户可以快速上手;
- 同时也开放训练数据模版,可以快速处理垂直领域数据;
- 结合多线程、内存映射等更高效的数据处理方式,即使需要处理
百GB规模的数据,也是轻而易举;
- 💻
流程:每一个项目有完整的模型训练步骤,如:数据清洗、数据处理、模型构建、模型训练、模型部署、模型图解; - 🔥
模型:当前已经支持gpt2、clip、gpt-neox、dolly、llama、chatglm-6b、VisionEncoderDecoderModel等多模态大模型; - 🚀
多卡串联:当前,多数的大模型的尺寸已经远远大于单个消费级显卡的显存,需要将多个显卡串联,才能训练大模型、才能部署大模型。因此对部分模型结构进行修改,实现了训练时、推理时的多卡串联功能。 - ⚙️
模型工具:添加了大模型的词表裁切和词表扩充教程model_modify
目录
模型训练
| 中文名称 | 文件夹名称 | 数据 | 数据清洗 | 大模型 | 模型部署 | 图解 |
|---|---|---|---|---|---|---|
| 中文文本分类 | chinese_classifier | ✅ | ✅ | ✅ | ❌ | ✅ |
中文gpt2 |
chinese_gpt2 | ✅ | ✅ | ✅ | ✅ | ❌ |
中文clip |
chinese_clip | ✅ | ✅ | ✅ | ❌ | ✅ |
| 图像生成中文文本 | VisionEncoderDecoderModel | ✅ | ✅ | ✅ | ❌ | ✅ |
| vit核心源码介绍 | vit model | ❌ | ❌ | ❌ | ❌ | ✅ |
Thu-ChatGlm-6b(v1版本 作废) |
simple_thu_chatglm6b | ✅ | ✅ | ✅ | ✅ | ❌ |
🌟chatglm-v2-6b🎉 |
chatglm_v2_6b_lora | ✅ | ✅ | ✅ | ❌ | ❌ |
中文dolly_v2_3b |
dolly_v2_3b | ✅ | ✅ | ✅ | ❌ | ❌ |
中文llama(作废) |
chinese_llama | ✅ | ✅ | ✅ | ❌ | ❌ |
中文bloom |
chinese_bloom | ✅ | ✅ | ✅ | ❌ | ❌ |
中文falcon(注意:falcon模型和bloom结构类似) |
chinese_bloom | ✅ | ✅ | ✅ | ❌ | ❌ |
| 中文预训练代码 | model_clm | ✅ | ✅ | ✅ | ❌ | ❌ |
| 百川大模型 | model_baichuan | ✅ | ✅ | ✅ | ✅ | ❌ |
| 模型修剪✂️ | model_modify | ✅ | ✅ | ✅ | ||
| llama2 流水线并行 | pipeline | ✅ | ✅ | ✅ | ❌ | ❌ |
百川2-7b-chat的dpo |
DPO baichuan2-7b-chat | ✅ | ✅ | ✅ | ❌ | ❌ |
| 训练时候,数据占比发生变化 | train_data_sample | ✅ | ✅ | ✅ | ❌ | ❌ |
| internlm-base sft | internlm-sft | ✅ | ✅ | ✅ | ❌ | ❌ |
| train qwen2 | train_qwen2 | ✅ | ✅ | ✅ | ✅ | ❌ |
数据流程图解
我一直觉得,数据流程通过图解的形式表达出来,其实是最清楚的,因此我都会尽可能的把每一个任务的都图解出来。
文本分类数据图解

中文gpt2

中文clip

图像生成中文文本

vit 源码

分享transformers源码解读
一直在做transformers的源码解读,可以去B站查看视频👉良睦路程序员
分享数据
一直在整理开源数据,如果有需要,可以关注公众号统计学人,回复nlp数据即可。目前还在整理数据中
