项目介绍:GPT2-Chinese
项目概述
GPT2-Chinese 是一个针对中文的 GPT-2 模型训练代码项目。通过使用 BERT tokenizer 或 BPE tokenizer,项目无缝兼容 HuggingFace 的 Transformers 库。该项目可广泛应用于诗歌、新闻、小说的创作,以及通用语言模型的训练。其支持字级、词语级、BPE 级别的训练,能够适应大规模语料库的需求。
更新日志
2024年4月11日
项目重新获得关注,尤其是在 ChatGPT 发布之后。然而,项目原作者表示该项目仅为其自学 Pytorch 的练习项目,目前不计划长期维护,但欢迎通过邮件或 Issue 进行讨论。
2021年6月2日
项目添加了若干预训练模型,包括通用中文 GPT-2 模型、中小型及公开共享的中文歌词和文言文模型。这些模型已上传至 Huggingface Model Hub,供广大自然语言处理开发者和研究人员使用。
2020年11月3日
推出了古诗词与对联的 GPT-2 预训练模型。这些模型亦上传到 Huggingface 平台,并在生成时需要加入特定起始符。
项目子项目及相关新闻
- CDial-GPT:包含一个大规模开放域中文对话数据集和预训练对话模型,适用于对话生成应用。
- GPT2-chitchat:基于本项目代码,提供 GPT2 对话模型的训练代码和生成样例。
- Decoders-Chinese-TF2.0:支持 GPT-2 中文训练,操作更简单。
项目使用方法
- 在项目根目录创建 data 文件夹,将训练语料以 train.json 命名放入其中。
- 运行 train.py,勾选
--raw
,系统会自动预处理数据并执行训练。
对于文本生成,可以使用以下命令:
python ./generate.py --length=50 --nsamples=4 --prefix=xxx --fast_pattern --save_samples --save_samples_path=/mnt/xx
使用这些参数控制生成文本的长度、样本数量、并指定保存路径和方式。
文件结构
generate.py
,train.py
:分别用于文本生成和训练。train_single.py
:适用于大规模单独元素列表的训练。eval.py
:用于评估生成模型的效果。cache
文件夹及make_vocab.py
:支持自定义词表创建和保存。
模型分享
项目提供多种预训练模型,如散文模型、诗词模型、对联模型、通用中文模型等。模型由支持者贡献并公开分享,适用于多种场景的文本生成。
联系作者
如有交流需求,欢迎通过以下方式联系作者:Mail:ned1991@gmail.com
引用格式
如需引用本项目,请参考以下格式:
@misc{GPT2-Chinese,
author = {Zeyao Du},
title = {GPT2-Chinese: Tools for training GPT2 model in Chinese language},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
}
生成样例
项目提供了丰富的生成样例,包括文学散文、古诗词、对联、小说等。所有样例通过不同场景的 GPT-2 模型生成,展示了该项目的强大功能。