ChatPLUG: 中文个性化大语言模型
这是ChatPLUG项目的代码仓库,旨在构建和分享一个中文开放域对话系统。
爱用emoji的萌妹子小婉 | 富有智慧的得道高僧 | 会说古文的的三国NPC关羽 |
---|---|---|
新闻
- 🔥 ChatPLUG-13B 即将在ModelScope上发布供研究使用。
- [2023/05/23] 添加了关于检索和角色扮演的指南
- [2023/05/10] 添加了训练代码,可以快速简便地训练自定义模型和构建聊天机器人。
- [2023/04/26] 立即在ModelScope上尝试我们的角色扮演聊天在线演示!
- [2023/04/19] 添加了亮点、结果和局限性等内容。将模型上传到了ModelScope。
- [2023/04/16] 项目初始化。
在线演示
亮点
与现有的开源模型相比,我们突出了ChatPLUG的三个特点:
- 知识增强
在推理过程中灵活集成外部知识,这是一个可选输入。你可以利用
搜索引擎
获取最新信息,或使用本地知识库获取领域知识。
- 个性化
通过设置
机器人配置
或使用角色扮演指令
,可以轻松定制对话风格和人物特征。
- 多项技能
它通过多轮对话展示了开放域对话的熟练程度,同时在广泛的NLP任务上也表现出令人印象深刻的
多任务能力
。
如何运行
我们提供了三种使用或继续开发ChatPLUG的方法:
入门 | 推理 | 训练 | 部署 | |
---|---|---|---|---|
ModelScope | 简单 | :heavy_check_mark: 命令行 | :x: 尚未就绪 | :x: 尚未就绪 |
HuggingFace | 中等 | :heavy_check_mark: 命令行 | :x: 尚未就绪 | :x: 尚未就绪 |
XDPX | 困难 | :heavy_check_mark: 命令行 | :heavy_check_mark: 支持 | :heavy_check_mark: 服务 |
ModelScope
您可以从ModelScope下载并使用ChatPLUG模型。
模型名称 | 链接 |
---|---|
ChatPLUG-240M | ChatPLUG-开放域对话模型-240M |
ChatPLUG-3.7B | ChatPLUG-开放域对话模型-3.7B |
HuggingFace
即将推出。
XDPX
XDPX是一个易于使用的库,允许研究人员和开发人员以简化的方式训练自定义模型并构建自己的聊天机器人。其全in-one功能提供了一站式解决方案,简化了复杂的流程。快速入门
一键推理
使用ChatPLUG-3.7B时,可以设置
core_chat_half_precision : true
以节省内存。
# 要求
# 在XDPX目录下
cd XDPX
pip install -e .
# 下载检查点
# 在与download.sh相同的目录下
cd ..
sh download.sh
# 推理
# 在XDPX目录下
cd XDPX
CUDA_VISIBLE_DEVICES=0 x-script fidchat_new chat_pipeline/chatplug_3.7B_sftv2.6.0_instruction.hjson
# 输入`#exit`并退出终端
一键训练
如果您的GPU(如A100、A10)支持bf16,设置
deepspeed_bf16: true
和deepspeed_fp16: false
,否则设置deepspeed_bf16: false
和deepspeed_fp16: true
# 1. 从belle下载数据集
# 在ChatPLUG/data/belle目录下
cd data/belle
git lfs install
git clone https://huggingface.co/datasets/BelleGroup/train_0.5M_CN
python process_belle_0.5M.py
# $ls data/belle
# train_0.jsonl dev.jsonl ...
# 2. 预处理数据
# 在XDPX目录下
x-prepro chat_pipeline/chatplug_prepro_sft_instruction.hjson
# $ls data/dialogue/sft/chatplug/belle_instruction
# train_0.pt dev.pt
# 3. 训练
# 在XDPX目录下
x-train chat_pipeline/chatplug_3.7B_train_sftv2.6.0_instruction.hjson
一键部署
即将推出。
安装
请参考安装说明进行安装。
有关详细的用户指南,请参阅我们的文档:
引用
如果您在工作中发现我们的项目有用,请引用:
@misc{tian2023chatplug,
标题={ChatPLUG: 基于互联网增强指令微调的开放域生成对话系统,用于数字人},
作者={田俊峰 和 陈和宏 和 徐国海 和 颜铭 和 高兴 和 张建海 和 李晨亮 和 刘佳毅 和 徐文深 和 徐海洋 和 钱琪 和 王伟 和 叶清浩 和 张洁静 和 张季 和 黄飞 和 周景仁},
年份={2023},
eprint={2304.07849},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@misc{plug2021,
标题 = {{PLUG: 语言理解与生成预训练}},
作者={ModelScope},
出版商 = {ModelScope},
期刊 = {ModelScope仓库},
年份 = {2021},
howpublished = {\url{https://modelscope.cn/models/damo/nlp_plug_text-generation_27B/summary}},
}
许可证
本代码采用Apache许可证(2.0版)授权。