哈工大社会计算与信息检索研究中心
友爱  力行  乐学  日新

HIT-SCIR

SDP2020CCL 评测提交指南

SDP2020CCL 评测结果提交指南

1 重要说明

1. 本次评测是CCL2020,任务5的评测,所有参赛系统均需要使用CodaLab在线系统提交,不接受线下调试请求。

2. Codalab系统是一个很不错的代码、数据资源和论文实验分享的利器,需要一定的cli命令基础和一些的docker知识,如果是初次接触这样的系统,请耐心阅读官方的Tutorial,了解一些基本的概念,如worksheet,bundle等。

3. Codalab系统的一个难点是运行环境的重现,如果参赛队伍使用了某单一深度学习库,如Theano/Tensorflow/PyTorch/Keras等,则可以很方便地使用docker官方仓库中已有的docker镜像,如果需要使用多种深度学习库,或者在docker官方库中未找到搭配好的镜像,则需要自己构建docker镜像并上传至 http://hub.docker.com/。

4. 请不要在Codalab系统上训练模型,并保证提交的是训练好的模型、预测结果及相应的解码程序。

2 提交流程

评测分为两阶段进行,第一阶段,开发验证阶段(6月15日至8月31日),参赛人员通过codalab提交预测结果压缩包,生成bundle,不需要提交完整代码。第二阶段,测试阶段(9月1日至9月6日),参赛人员需要通过codalab提交模型、代码,由工作人员使用测试集得出预测结果,计算指标。

在第一阶段中,参赛人员可以从公开数据集worksheet直接下载开发验证数据包进行线下的训练、测试,将开发集的预测结果打包上传至codalab
worksheet,得到对应的UUID即可(操作较为简单,可以通过第三部分的step1 和step2 熟悉基本操作)。只有两个注意点:第一,预测结果一定要转换为sem16的格式,第二,一定要将sdp2020ccl_group加入可读权限中。上传完毕后,填写申请表单。每队每天只有一次提交机会。

在第二阶段,参赛人员需要在worksheet上上传代码和模型,选用或构建自己的docker环境,并且使用sample数据进行简单测试,以确保代码和模型的可运行性,(可以通过第三部分熟悉操作)。最终测试阶段的申请表单链接将在第一阶段结束后公布。

3 模拟提交

接下来,我们将模拟最终测试阶段的提交过程,参赛者可以在此过程中熟悉Codalab系统的使用,避免后期因对系统的不熟悉而造成的提交的麻烦。

step 1 注册账户

请根据实际情况填写需要的信息进行注册,注册完成后,点击右上角的My Dashboard–>New Worksheet–>填写新建worksheet的名字。

1 注册账户后新建worksheet

新建完成后,进入新建的worksheet,然后为评测委员会开启权限,并对公共关闭权限,此步不可跳过,否则可能导致源码和模型泄露。

2 开启权限

 

评测委员会名称:sdp2020ccl_group 权限:read

public 权限:None

设置成功后,worksheet的状态应为:

3 成功设置权限后的状态

Step 2 获取数据

本次评测的数据涉及四个领域的语料,我们在 Open Dataset 中提供了四个领域训练数据和不带正确标签的开发集,测试集不公开。那么,如何将官方提供的数据、脚本引入到当前创建的worksheet中呢?

我们上传的每一个文件都是一个buddle,都拥有一个独特的UUID,您可以点击每个链接,查看详情得到:

mTc10Ls5zpCi5gcmxo67gQ

 

复制UUID后,在当前的worksheet页面开启终端,输入命令 add bundle [uid]

例如,把dram.train.conllu 添加进来就是如下图操作:

4 获取数据

 

当数据状态为 ready 时,即为成功载入:

5 成功获取

 

step 3 模拟提交

除了数据,我们也可以将代码和模型上传至worksheet中,当您的代码有一定的层次结构时,使用Folder Upload。现在我们需要使用sample数据进行预测,以确认我们的模型和代码的可运行。这里,我们假设预测接口程序为“random_guess.py”,在实际的测试环境中,这里应该使用您的模型预测接口程序。

首先,我们将脚本程序添加到当前worksheet中。

接着,我们选择依赖项(即输入参数),可以使用alise进行简写。在Command中输入预测命令。

 

6 random_guess运行

执行后,我们会看到一个新的bundle,表示运行完成,我们希望将输出结果抽出来变成单独的一个文件,则在命令行中输入“cl make [运行的bundle name/生成的文件] -n [新的保存路径]“。

我们可以看到生成了一个预测结果,接着,我们需要将结果转为sem16格式,同样类似的操作,这里就省略了,最后,使用evaluate.py顺利得出指标,则说明基本能够顺利输出。

确认后,再填写最终的评测表单提交最终模型。每队只能提交一次,最终的评测结果以此模型的表现结果为主。

如果您使用了外部依赖库,那么会相对复杂一些。总的来说,如果直接运行自己的程序发现缺少依赖,那么请在http://hub.docker.com/上找到自己需要的docker镜像并能在本地成功运行,就可以在运行解码程序的命令最后加上 –request-docker-image xxx/xx 参数进行docker镜像获取与环境自动配置,如果没有找到相应镜像或拉取后调试仍不成功,则需要自己构建所需环境docker镜像并上传至http://hub.docker.com/,然后再进行拉取调试。

如果调试过程中出现了运行失败的情况,则可以根据stderr输出信息或直接下载stderr文件,根据错误信息进行相应修改。

 

4 其他说明

1. 常用docker镜像及请求参数

Theano + Keras : –request-docker-image tboquet/kenacuthe7hc5

Tensorflow: –request-docker-image tensorflow/tensorflow

CNTK: –request-docker-image microsoft/cntk

PyTorch: –request-docker-image pytorch/pytorch

LTP: –request-docker-image scorpio147wbh/ltp

Anaconda: –request-docker-image continuumio/anaconda

Tensorlayer: –request-docker-image gmueller/tensorlayer

 

2. 使用GPU资源解码

Codalab上提供了M60 GPU的支持,可以大大提高解码速度,需在解码面板中加入 1。

* 注意GPU可以用来解码,不要使用GPU训练模型。

 

 

 

 


Copyright © Research Center for Social Computing and Information Retrieval 2001 - 2015
P.O.Box 321, HIT, P.R.China 150001
webmaster at ir dot hit dot edu dot cn