八戒-Chat是一个基于《西游记》剧本中猪八戒的台词和语句,以及使用InternLM进行QLoRA微调得到的模仿猪八戒语气的聊天语言模型。用户可以通过模型与八戒-Chat进行对话。
- CPU:Intel Core i5 或以上
- GPU:(1/4) NVIDIA A100 或以上
- 内存:32GB 或以上
- 存储:至少50GB可用空间
⚙️部署BaJie-Chat到Linux环境中
# git clone 本 repo 以及其submodules
git clone --recurse-submodules https://github.com/JimmyMa99/BaJie-Chat.git
# 进入源码目录
cd xtuner
# 从源码安装 XTuner
pip install -e '.[all]'
apt install git git-lfs -y
git lfs install
git clone https://www.modelscope.cn/Shanghai_AI_Laboratory/internlm2-7b.git
xtuner train my_config/zbj_internlm2_chat_7b_qlora_oasst1_e4.py --deepspeed deepspeed_zero2
xtuner convert pth_to_hf my_config/zbj_internlm2_chat_7b_qlora_oasst1_e4.py work_dirs/zbj_internlm2_chat_7b_qlora_oasst1_e4/{your checkpoint} process_data/hf_models/zbj
xtuner convert merge {your model path} process_data/hf_models/zbj process_data/merged_models/zbj
- 使用 streamlit 进行对话:修改
web_demo.py
中的模型路径
- model = (AutoModelForCausalLM.from_pretrained('path/to/your/model',
- trust_remote_code=True).to(
- torch.bfloat16).cuda())
- tokenizer = AutoTokenizer.from_pretrained('path/to/your/tokenizer',
- trust_remote_code=True)
+ model = (AutoModelForCausalLM.from_pretrained('process_data/merged_models/zbj',
+ trust_remote_code=True).to(
+ torch.bfloat16).cuda())
+ tokenizer = AutoTokenizer.from_pretrained('process_data/merged_models/zbj',
+ trust_remote_code=True)
pip install streamlit
pip install transformers>=4.34
streamlit run ./web_demo.py
本项目采用《西游记》剧本中关于猪八戒的台词和语句作为训练数据,同时使用了InternLM进行QLoRA微调以生成更加贴合猪八戒风格的语言。
详细数据处理流程请参考以下链接:
[2024.7.24]:八戒-Chat-Lama3.1-8b 权重公开至ModelScope 部署至 OpenXLab
[2024.2.14]:八戒-Chat 权重公开至ModelScope 部署至 OpenXLab
[2024.2.16]:八戒-Chat 添加文言文和白话文数据,重新训练并部署
- qlora微调猪八戒
- 增添文言文和白话文数据,优化原著对话数据
- 全量微调猪八戒
- 接入lmdeploy实现openai api
特别感谢上海人工智能实验室的支持!
🔍 探索八戒-Chat(Internlm-chat-7b)
🔍 探索八戒-Chat(Llama3_1-8b)
更多拓展