转自AI Studio,原文链接:LIC2022-知识对话任务基线系统 - 飞桨AI Studio

LIC2022: 知识对话baseline

本教程介绍使用基于paddlepaddle2.2的大规模对话预训练框架Knover,及其提供的预训练模型,在"LIC2022多技能对话"比赛数据集上训练和测试。

赛题介绍直播回顾:

0. 配置环境

获取github代码:

git clone -b dygraph https://github.com/PaddlePaddle/Knover

设置Python环境

export PYTHONPATH=/home/aistudio/work/Knover:$PYTHONPATH

基线模型需要的配置路径为:

projects/lic2022

创建数据和模型存在的目录,本教程中默认训练和预测使用的数据和模型均存放以下目录:

mkdir -p projects/lic2022/model_zoo
mkdir -p projects/lic2022/preprocess_data

1. 准备数据

模型训练和预测之前,都需要准备好所需的数据。首先,将比赛官网获取的数据放到当前环境中,具体目录可自行选择。数据获取可通过2022语言与智能技术竞赛:知识对话获取。

# 运行数据预处理脚本,将原始数据处理为Knover训练、预测所需格式
python ./tools/data_preprocess.py

2. 下载模型

本基线提供"大规模数据预训练模型"和"对话比赛数据微调模型"两个模型。

  • 大规模数据预训练模型:采用包含20M对话session/60M对话utterance的大规模中文对话数据训练得到
  • 对话比赛数据微调模型:上述预训练模型,继续在LIC2022知识对话比赛的对话数据上进行微调得到,包括Query生成与对话生成两个

模型下载方式如下:

# 大规模数据预训练模型
wget "https://dialogue.bj.bcebos.com/Knover/projects/lic2022/12L.pretrain.pdparams"

# 对话比赛数据微调模型
# Query生成
wget "https://dialogue.bj.bcebos.com/Knover/projects/lic2022/query_finetune.pdparams"
# 对话生成
wget "https://dialogue.bj.bcebos.com/Knover/projects/lic2022/dial_finetune.pdparams"

将上述模型保存在./projects/lic2022/model_zoo/目录下(也可以放在其它目录下),并在模型训练和测试的时候,保证模型路径与config目录下配置文件中,对应模型配置路径一致(必须).

3. 模型训练

模型训练命令如下:

# 模型训练,一定要确保GPU环境和模型参数配置正确,具体见下文示例
# Query生成 训练
./scripts/local/job.sh ./projects/lic2022/conf/query_train.conf

# 对话生成 训练
./scripts/local/job.sh ./projects/lic2022/conf/dial_train.conf

训练之前,检查启动脚本与配置文件,确保配置正确:

  • 配置GPU,位置:./scripts/local/job.sh
# 单GPU卡训练,以使用0号GPU卡为例
export CUDA_VISIBLE_DEVICES=0

# 多GPU卡训练,以使用0,1号GPU卡为例
export CUDA_VISIBLE_DEVICES=0,1

4. 模型预测

模型预测命令如下:


# 模型预测,一定要确保GPU环境和模型参数配置正确,具体见下文示例
# Query生成预测
./scripts/local/job.sh ./projects/lic2022/conf/query_infer.conf

#对话生成预测
./scripts/local/job.sh ./projects/lic2022/conf/dial_infer.conf

预测之前,检查启动脚本与配置文件,确保配置正确:

  • 配置GPU,位置:./scripts/local/job.sh
# 单GPU卡训练,以使用0号GPU卡为例
export CUDA_VISIBLE_DEVICES=0

# 多GPU卡训练,以使用0,1号GPU卡为例
export CUDA_VISIBLE_DEVICES=0,1

5. 模型评估

模型评估需要将预测结果提交到官网进行评测:

Query生成预测结果与对话生成预测结果拼接为一个文本,提交到官网评估,可参考数据集中的submit_file.txt

6. 其它

本教程提供了"大规模数据预训练模型"和"对话比赛数据微调模型"两个模型,可作为一个基础baseline,帮助参赛者快速跑通整个参赛流程。 参赛者可以针对赛题进行其他改进,例如修改数据预处理方法,修改网络结构,修改训练方式,修改预测结果的后处理等。

In [ ]

 

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐