GPT2-Chinese 实践指南从零语料开始训练中文文本生成模型【免费下载链接】GPT2-ChineseChinese version of GPT2 training code, using BERT tokenizer.项目地址: https://gitcode.com/gh_mirrors/gpt/GPT2-ChineseGPT2-Chinese 是一套基于 GPT-2 架构的中文训练代码用它可以让模型模仿武侠、古诗或散文风格写作也可以在自己的语料上训练出中文语言模型只需准备一份语料文件即可动手。它解决的问题让 GPT-2 长出中文嘴GPT-2 是一个按上下文逐字预测的文本生成模型原本面向英文设计。中文没有天然空格分词怎么把文本切分成模型能消化的单元直接决定训练效果这是把 GPT-2 用到中文上的最大拦路虎。GPT2-Chinese 给了三种切分方案可以按语料特点选用字级别默认直接用 BERT 的 Tokenizer 按字切分不用自己分词上手成本最低。词级别先分词再进模型能保留词的整体语义代价是先用 tokenizations/ 里的 make_vocab.py 为自己的语料建一份词表。BPE 级别介于字和词之间适合不规则的长短词需要略微修改 train.py 才能启用。项目构建在 HuggingFace Transformers 库之上模型结构不用自己搭训练、生成、评估的脚本都开箱即用。对只想用模型的人来说仓库里还附了社区训练的散文、诗词、对联、通用、歌词、文言文等预训练模型省去从零训练的时间。适合哪些人比较适合想做一个风格模仿器的人比如让模型按某本书、某类诗词的口吻续写。想用 PyTorch 完整走一遍准备语料→训练→生成流程、顺便学会 Transformer 文本生成原理的学习者。手上有一批同风格文本小说、歌词、新闻并想把它变成可生成模型的开发者。不太适合只打算调接口拿生成结果的用户这个项目需要你训练或自行加载模型来生成。期待持续迭代新功能的用户作者已说明功能基本稳定、项目停止更新。训练流程的三个关键点整个训练链路很短但每个环节都有讲究准备语料在项目根目录建 data 文件夹把语料存成 train.json。它就是一个 JSON 列表每个元素是一篇文章的正文。根目录自带 train.json 格式范例照着填即可。预处理与训练运行 train.py 时加上 --raw 参数脚本会先自动预处理再进入训练。评估用 eval.py 查看模型的困惑度ppl分值分数越低说明模型对语料的拟合越好方便对比不同轮次的效果。两个针对大语料的设计值得注意。其一train.py 内置了 FP16 与梯度累积前者用半精度数字省显存后者在显存不够时攒若干小步模拟大批量让消费级显卡也能跑训练。不过作者坦言 FP16 存在可能不收敛的情况稳妥的做法是先按默认精度训练。其二train_single.py 是 train.py 的延伸版专门处理整本小说算一个语料元素这类单一大文件场景。典型生成场景仓库 sample/ 目录收录了各方向的真实生成样例效果可以直观预览上图是散文模型的输出在约 130MB 名家散文语料上训练后生成文本的叙述腔调和意象都比较贴近原风格。这是用《斗破苍穹》语料训练出的模型人物、招式、对话的套路都还原得不错。此外仓库还收录了古诗词模型律诗、绝句、词牌限定体裁和金庸风格武侠小说的样例覆盖写诗、写小说、写散文三类最常见的需求。如何快速开始全流程只需几条命令克隆代码git clone https://gitcode.com/gh_mirrors/gpt/GPT2-Chinese按 train.json 格式准备语料执行python train.py --raw完成预处理与训练。用下面的命令生成文本--prefix 指定续写起点python ./generate.py --length50 --nsamples4 --prefix你的起始句两个实用小技巧加 --save_samples 可以把生成结果写入 samples.txt 而不是只打印在控制台使用社区分享的预训练模型时输入前记得加 [CLS] 起始符例如输入梅山如积翠应写成[CLS]梅山如积翠。上手前需要留意的点词级别 Tokenizer 必须先自建语料词表字级别则跳过这一步新手建议从字级别开始。BPE 模式需要自己建立中文词表配置门槛较高非必要可不碰。项目已停止更新遇到问题可先查看仓库 README 与 tokenizations/ 下三种 Tokenizer 的实现代码量不大排查起来不费劲。若语料较小且内存充足可以按 README 的说明修改 train.py跳过语料拆分直接整体预处理。项目地址代码托管在 GitCode 的 gh_mirrors/gpt/GPT2-Chinese用上面如何快速开始里的克隆命令即可获取。想先看效果的打开 sample/ 目录里几张样例图感受一下想动手训练的先照 train.json 备一份语料跟着三步流程跑完就能拥有第一个属于自己的中文文本生成模型。【免费下载链接】GPT2-ChineseChinese version of GPT2 training code, using BERT tokenizer.项目地址: https://gitcode.com/gh_mirrors/gpt/GPT2-Chinese创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考