【Paddle】2020CCF-千言:多技能对话baseline使用教程

【Paddle】2020CCF-千言:多技能对话baseline手把手使用教程

摘要:包含了本机和AI Studio两种实操Plato方法

下载官网数据集

2020CCF-千言:多技能对话比赛地址
注意将子文件内的压缩包一一解压
【Paddle】2020CCF-千言:多技能对话baseline使用教程

本地教程

强烈不推荐!!!
对于windows玩家,paddle的环境设置等太麻烦了,不如直接薅羊毛去官网用AI Studio跑

指定一个文件内,使用git命令,从github上下载Knover

git clone https://github.com/PaddlePaddle/Knover
cd Knover
git checkout luge-dialogue

【Paddle】2020CCF-千言:多技能对话baseline使用教程
之后,将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文件,从下述代码中可以修改或匹配路径格式
【Paddle】2020CCF-千言:多技能对话baseline使用教程

注意不修改代码,就要将数据集移到\Knover\data\luge-dialogue下,如下图所示
【Paddle】2020CCF-千言:多技能对话baseline使用教程
然后,在Knover目录下,进行数据转换,将数据集转换为Plato所需的数据格式

python ./luge-dialogue/tools/convert_data_to_numerical.py ./luge-dialogue/config/spm.model

大约2小时左右后,六个不同领域的数据集便被转化为train、test、valid三个标准数据集,可以得到如下这样
【Paddle】2020CCF-千言:多技能对话baseline使用教程
倒数第二步,修改两个文件

  • 12L_train.conf
    对于本地,注意batch_size的大小,可能OOM
    【Paddle】2020CCF-千言:多技能对话baseline使用教程
    【Paddle】2020CCF-千言:多技能对话baseline使用教程
  • train.sh
    此处是针对本机的GPU数量进行修改
    【Paddle】2020CCF-千言:多技能对话baseline使用教程
    一、二、三等等块GPU…的本机设置
    【Paddle】2020CCF-千言:多技能对话baseline使用教程
    最后一步,训练模型
    在Knover文件夹内git bush here

笔者用的是anaconda环境
故先激活环境

source activate paddle

模型训练

./scripts/local/train.sh ./config/12L_train.conf
AI Studio教程

AI Studio官网链接

在此推荐两个优秀的简要教程:

笔者将使用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,如下图所示
【Paddle】2020CCF-千言:多技能对话baseline使用教程
最后,在终端运行

./scripts/local/train.sh ./config/12L_train.conf

在Knover/log/文件内可以看到模型的运行过程
【Paddle】2020CCF-千言:多技能对话baseline使用教程

上一篇:Linux下MySQL所在磁盘,线程,内存的配置


下一篇:【论文阅读】Conversations Are Not Flat: Modeling the Dynamic Information Flow across Dialogue Utterances