首页IT科技gpt预训练(训练自己的GPT2-Chinese模型)

gpt预训练(训练自己的GPT2-Chinese模型)

时间2025-04-28 18:08:46分类IT科技浏览4732
导读:效果抢先看 准备工作...

效果抢先看

准备工作

从GitHub上拉去项目到本地            ,准备已训练好的模型百度网盘:提取码【9dvu】            。

gpt2对联训练模型 gpt2古诗词训练模型 gpt2通用中文模型 gpt2通用中文小模型 gpt2文学散文训练模型 gpt2中文歌词模型

环境搭建

配置好GPU的pytorch环境

a. 安装Anaconda环境

b. NIVIDA配置流程

桌面右键鼠标                  ,找到NVIDIA控制面板     ,在左边找到开发者下管理GPU性能计数器      ,导航栏点击桌面选择启用开发者设置                  ,弹出的系统信息中找到组件           ,找到产品名前缀为NVIDIA CUDA的那一条      ,记住其后面的版本号                  。

c. 进入NVIDIA官网下载CUDA                  ,找到上一步记录的NVIDIA CUDA后的版本号相对应的链接     。如版本信息为11.4就选择11.4

d. 下载完点击安装就行了

e. 安装cuDNN           ,选择相应的版本      。这个地方要登录账号,没有账号可以注册                  ,也可以选择QQ或微信登录                 ,选择刚才的CUDA版本,下载压缩包

f. 下载完成后解压缩            ,并修改根目录名为cudnn

g. 将整个文件复制到xxx\NVIDIA GPU Computing Toolkit\CUDA\v11.4目录下

h. 设置变量环境                 ,添加两个环境变量路径     ,根据自己的实际情况目录修改

pytorch配置

a. 去pytorch官网找到相应的gpu版本或cpu版本            ,找到后安装命令会出现在command栏

找不到自己的版本点击previous version链接

b. 使用管理员身份执行cmd                  ,否则会安装失败

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

安装完成之后执行命令conda list查看是否安装成功

打开终端输入python     ,使用以下代码查看torch显示GPU不可用状态

>>>import torch >>>torch.cuda.is_available() False

c. 标准查看torch版本

>>>import torch >>>torch.__version__ 1.10.2

pytorch轮子配置

a. whl轮子配置      ,根据CUDA版本选择相应的版本                  。其中cu表示GPU版本                  ,cpu表示CPU版本

b. 下载完成之后本地使用pip install 安装 pip install .\torchvision-0.13.1+cpu-cp39-cp39-win_amd64.whl pip install .\torch-1.10.2+cu113-cp39-cp39-win_amd64.whl

c. 安装完成之后验证torch

>>>import torch >>>torch.cuda.is_available() True

创建虚拟环境

为了能够顺利使用环境           ,推荐使用python3.7.1版本 conda create -n venv_name python=3.7.1 激活 虚拟环境 conda activate venv_name pip安装所需库 pip install transformers==2.1.1 pip install tensorflow==2.0.0 pip install numpy pip install tqdm pip install sklearn pip install keras pip install tb-nightly pip install future pip install thulac pip install setuptools==59.5.0 pip install torch==1.10.2+cu113 torchvision==0.3.0 --extra-index-url

训练&预测

项目结构

config: 存放模型的配置文件 data: 存放训练数据 model: 存放模型 cache: 用于模型训练之前的数据预处理 sample: 用于存放生成样本的目录 generate.py: 生成代码 train.py: 训练多文本启动代码 train_single.py: 训练但文本启动代码 tokenizations: 用于文本数据转换tokenizations的脚本

模型预测续写

参数说明:

length: 生成的最长长度 prefix: 文章开头 fast_pattern: 快速生成模式 save_samples: 保存生成文本结果的位置 temperature: 越小越遵循训练样本      ,续写的内容的思维越发散 # 通用模型预测文本 python ./generate.py --length=100 --nsamples=4 --prefix=天津是一座美丽的城市           。 --fast_pattern --save_samples ----model_path=model/use_model --model_config=config/model_config_small.json --topk=8 --temperature=0.8 --batch_size=2 # 制定模型输出 python ./generate.py --length=300 --nsamples=4 --prefix=萧炎                  ,斗之力      。 --fast_pattern --save_samples --model_path=model/model_epoch18 --model_config=model/model_epoch18/config.json --topk=8 --temperature=1 --batch_size=1

其他参数参考:

训练模型

将训练语料以train.json的格式放入data目录中

如果文件格式为train.json格式           ,那么将train.py文件中的读取方式为:lines = json.load(f)

如果文件格式为train.txt格式,即数据格式为[            ”正文1“,                  ”正文2“,      ”正文3“]                  ,那么将train.py文件中的读取方式为:lines = f.readlines()

运行train.py文件并设定--raw参数                 ,会自动预处理数据,预处理完成之后            ,会自动执行训练                  。

python train.py --raw

遇到的问题及解决办法

显存不足

语料太大:在config文件中选择小一点的json文件 batch_size过大:默认训练是8                 ,可以改成4或者6尝试

生成的内容一样

修改generate.py中的batch_size=1

文末

此训练结果生成比较简单的文章还可以     ,但是需要达到理想的效果            ,还需要更大的数据体系和语料以及长期的模型训练                  ,基于原有的算法二次开发     ,门槛也比较高      ,而且这种业务比较吃硬件资源           。

声明:本站所有文章                  ,如无特殊说明或标注           ,均为本站原创发布。任何个人或组织      ,在未征得本站同意时                  ,禁止复制            、盗用                  、采集     、发布本站内容到任何网站      、书籍等各类媒体平台                  。如若本站内容侵犯了原著者的合法权益           ,可联系我们进行处理                 。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
信息收集小程序有哪些(优秀的内容管理系统——dedeCMS收集) 网站搜索排名优化教程(如何使网站排名靠前)