zero_nlp
1.0.0
目标
:基於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 | ✅ | ✅ | ✅ | ✅ | |
train llava | train_llava | ✅ | ✅ | ✅ | ✅ | ✅ |
我一直覺得,資料流程透過圖解的形式表達出來,其實是最清楚的,因此我都會盡可能的把每一個任務的都圖解出來。
一直在做transformers的源碼解讀,可以去B站查看視訊良睦路程式設計師