摘要:包含了本机和AI Studio两种实操Plato方法
下载官网数据集
2020CCF-千言:多技能对话比赛地址
注意将子文件内的压缩包一一解压
强烈不推荐!!!
对于windows玩家,paddle的环境设置等太麻烦了,不如直接薅羊毛去官网用AI Studio跑
指定一个文件内,使用git命令,从github上下载Knover
git clone https://github.com/PaddlePaddle/Knover
cd Knover
git checkout luge-dialogue
之后,将luge-dialogue/config文件复制粘贴到该文件夹内,如上图所示
其次,下载预训练模型,均可通过链接下载,下载好压缩包后将其解压至12L.pretrain,同样复制该文件夹命名为12L(与之后的config文件对应),最终效果如上图所示
# 大规模数据预训练模型
wget "https://dialogue.bj.bcebos.com/luge/12L.pretrain.tar"
tar -xvf ./12L.pretrain.tar
如果你不想修改代码,对于paddle进行数据token化的代码请参见\Knover\luge-dialogue\tools\convert_data_to_numerical.py文件,从下述代码中可以修改或匹配路径格式
注意不修改代码,就要将数据集移到\Knover\data\luge-dialogue下,如下图所示
然后,在Knover目录下,进行数据转换,将数据集转换为Plato所需的数据格式
python ./luge-dialogue/tools/convert_data_to_numerical.py ./luge-dialogue/config/spm.model
大约2小时左右后,六个不同领域的数据集便被转化为train、test、valid三个标准数据集,可以得到如下这样
倒数第二步,修改两个文件
- 12L_train.conf
对于本地,注意batch_size的大小,可能OOM
- train.sh
此处是针对本机的GPU数量进行修改
一、二、三等等块GPU…的本机设置
最后一步,训练模型
在Knover文件夹内git bush here
笔者用的是anaconda环境
故先激活环境
source activate paddle
模型训练
./scripts/local/train.sh ./config/12L_train.conf
AI Studio教程
在此推荐两个优秀的简要教程:
-
jupyter notebook版:2020 CCF BDCI: 千言对话baseline
-
脚本运行版:千言开放域对话比赛
笔者将使用jupyter notebook版,详细版如下
将本地处理好的数据集train/test/valid.txt已上传:本人所用数据集
在此数据集上,新建项目,注意!! paddle版本要选1.8.4,不要选2.0.0
终端
在终端处依次输入
git clone https://github.com/PaddlePaddle/Knover
cd Knover
git checkout luge-dialogue
ln -s ./luge-dialogue/config ./config
wget "https://dialogue.bj.bcebos.com/luge/12L.pretrain.tar"
tar -xvf ./12L.pretrain.tar
ln -snf 12L.pretrain 12L
之后,修改config文件中的12L_train.conf,如下图所示
最后,在终端运行
./scripts/local/train.sh ./config/12L_train.conf
在Knover/log/文件内可以看到模型的运行过程