DataCLUE: 国内首个以数据为中心的AI测评(含模型分析报告)

Overview

DataCLUE: A Benchmark Suite for Data-centric NLP

You can get the english version of README.

以数据为中心的AI测评(DataCLUE)

内容导引

章节 描述
简介 介绍以数据为中心的AI测评(DataCLUE)的背景
任务描述 任务描述
实验结果 针对各种不同方法,在FewCLUE上的实验对比
实验分析 对人类表现、模型能力和任务进行分析
数据为中心的AI_方法论介绍 数据为中心的AI:方法论介绍
DataCLUE有什么特点 特点介绍
基线模型及运行 支持多种基线模型
DataCLUE测评及规则 DataCLUE测评及规则
数据集介绍 介绍数据集及示例
工具集介绍 介绍与DataCLUE搭配的工具集
数据处理方法简介 数据处理方法简介(附图)
学习资料 文章、PPT、分享视频及选手方案
联系方式与引用 如何参与项目或反馈问题

DataCLUE测评.重要更新

任务更新、开启双周赛和双周赛奖励

课题:如何通过提升数据集质量,获得更好效果(保持模型不变)?

「新数据集启用」
数据集和基线模型已经更新,训练方法保持一致。

「新任务具有如下特点」

1、学术友好:新增学术更友好的公开测试集test_public.json,参与者可以自己独立做测试和实验。

2、挑战性高:训练集train、验证集dev,都具有高比例的错误标注的数据。公开测试集标注准确率高(超过95%)。

3、资源消耗低:实验周期快,计算成本低。GPU环境单次实验3分钟完成;CPU环境也可较短时间完成训练。

「开启双周赛和奖励」

1、产生办法:每个月1号~15日、16号~30日为两个周赛期。15日、30日晚上9点为双周赛冠军产生时间。冠军从赛期中新提交队伍的最高分中产生。

2、奖励:

1)证书:可在CLUE官网在线访问的「双周赛冠军证书」;

2)奖金:600元双周赛冠军现金奖励。

简介

以数据为中心(Data-centric)的AI,是一种新型的AI探索方向。它的核心问题是如何通过系统化的改造你的数据(无论是输入或者标签)来提高最终效果。 传统的AI是以模型为中心(Model-centric)的,主要考虑的问题是如何通过改造或优化模型来提高最终效果,它通常建立在一个比较固定的数据集上。 最新的数据显示超过90%的论文都是以模型为中心的,通过模型创新或学习方法改进提高效果,即使不少改进影响可能效果并不是特别明显。有些人认为当前的人工智能领域, 无论是自然语言处理(如BERT) 或计算机视觉(ResNet), 已经存在很多成熟高效模型,并且模型可以很容易从开源网站如github获得;而与此同时,工业界实际落地 过程中可能有80%的时间用于 清洗数据、构建高质量数据集,或在迭代过程中获得更多数据,从而提升模型效果。正是看到了这种巨大的差别,在吴恩达等人的推动下这种 以数据为中心 (Data-centric)的AI进一步的系统化,并成为一个有具有巨大实用价值方法论。

DataCLUE是一个以数据为中心的AI测评。它基于CLUE benchmark,结合Data-centric的AI的典型特征,进一步将Data-centric的AI应用于 NLP领域,融入文本领域的特定并创造性丰富和发展了Data-centric的AI。在原始数据集外,它通过提供额外的高价值的数据和数据和模型分析报告(增值服务)的形式, 使得融入人类的AI迭代过程(Human-in-the-loop AI pipeline)变得更加高效,并能较大幅度的提升最终效果。

任务描述

参与测评者需要改进任务下的数据集来提升任务的最终效果;将使用固定的模型和程序代码(公开)来训练数据集,并得到任务效果的数据。 可以对训练集、验证集进行修改或者移动训练集和验证集建的数据,也可以通过非爬虫类手段新增数据来完善数据集。可以通过算法或程序或者结合人工的方式来改进数据集。 参与测评者需提交修改后的训练集和验证的压缩包。

任务描述和统计

Corpus Train Dev Test Label Defintion Test_public(High Quality Data) Data & Model Analysis Report
CIC 10000 2000 >=3000 Stage 1 Stage 2 Stage 1 & 2
Train/Dev: 含有噪声的数据,都含有一定比例有标注错误的标签;
Test_public:高质量数据(标注准确率95%或以上),用于评估改进数据集算法的最新效果,不能用于模型训练。

实验结果

IFLYTEK(F1 Score, macro)
Human 87.4
Baseline(RoBERTa_3L_wwm) 64.0
Model-centric 66.0
Data-centric ?

实验分析

TODO 这里是实验分析 需要结合实验数据做一些说明。以模型为中心、以数据为中心效果是否一样的呢,或者某种方式可以得到更好的效果。

数据为中心的AI-方法论介绍

这里简单介绍一下以数据为中心的AI的方法论。包括一张图介绍一下流程,并做一下说明;可以附加tips。

流程图:1.定义任务-->2.收集数据--->3.训练模型-->4.部署模型

系统化方式、通过迭代形式改进数据集:
#1.训练模型;
#2.错误分析:发现算法模型在哪些类型的数据上表现不佳(如:数据过短导致语义没有表达完全、一些类别间概念容易混淆导致标签可能不正确)
#3.改进数据:
  1)更多数据:数据增强、数据生成或搜集更多数据--->获得更多的输入数据。
  2)更一致的标签定义:当有些类别容易混淆的时候,改进标签的定义--->基于清晰的标签定义,纠正部分数据的标签。
#4.重复#1-#3的步骤。

DataCLUE有什么特点

1、国内首个以数据为中心的AI测评。之前的测评一般是在固定的数据集下使用不同的模型或学习方式来提升效果,而DataCLUE是需要改进数据集。

2、它是中文NLP任务在以数据为中心的思想下的实践。

3、更丰富的信息:除了常规的训练、验证和测试集外,它还额外提供了标签的定义、训练集中进一步标注后的高质量数据。结合这些额外的信息,使得 融入人类的AI迭代闭环(Human-in-the-loop AI pipeline)可以变得更加高效,并且在发挥算法模型在数据迭代过程中可以有更多空间和潜力。

4、增值服务:我们还额外提供模型训练和预测过程中的分析报告,为以数据为中心的AI的迭代过程变得更有方向和系统化。

基线模型及运行

一键运行.基线模型与代码 Baseline with codes

使用方式:
1、克隆项目 
   git clone https://github.com/CLUEbenchmark/DataCLUE.git
   进入到项目目录 cd DataCLUE
2、进入到相应的目录
   分类任务  
       例如:
       cd ./baselines/models_pytorch/classifier_pytorch
3、运行对应任务的脚本(GPU方式): 会自动下载模型和任务数据并开始运行。
   bash run_classifier_xxx.sh
   1)运行: bash run_classifier_cic.sh 会开始cic任务的训练。
   训练完后也会得到在验证集上的效果,见 ./output_dir/bert/checkpoint_eval_results.txt
   2)运行: bash run_classifier_cic.sh predict 会在测试集上做预测,并且生成预测文件,见: /output_dir/bert/test_prediction.json
   3)得到了test_prediction.json,使用下面的脚本获得在公开测试集上的效果(test_public.json) 
   
   <a href='https://github.com/CLUEbenchmark/DataCLUE/blob/master/baselines/models_pytorch/classifier_pytorch/compute_f1.py'>compute_f1.py</a>

或者: 转到colab链接 直接运行 并查看训练结果

baselines

为了进一步促进社区发展,我们收集了相应的baseline代码和说明 其中按照单策略模型多策略模型进行了分类 可欢迎大家贡献自己的方法

DataCLUE测评及规则

1.测评方式:

修改训练集和验证集,并将压缩包上传到CLUE benchmark

使用如下命令得到压缩包: zip dataclue_<研究机构><用户名><时间字符串>.zip train.json dev.json

提交时,模型描述需包含关键词"dataclue"。研究机构、用户名,为【测评注册】页面的对应的名字。

具体格式见:提交样例

2.测评规则:

1.1 可以对训练集、验证集进行修改(输入文本或标签),或者移动训练集和验证集建的数据;
1.2 可以通过非爬虫类手段增加数据来完善训练和验证集。增加数据方式,包括但不限于:数据增强、文本生成、结合分析定向生成或添加。
1.3 可以通过算法或程序,或者结合人工的方式来改进数据集;
2.1 鼓励通过结合算法、模型和程序来改进数据集,也同样鼓励算法模型结合人工进行数据改进;但纯人工方式的数据改进,评审环节将不得分。
2.2 数据量限制:训练集和验证集的总数据量不能超过3万个样本。

3.测评时间规划:2021年10月14日---2022年1月12日

  1) 报名开始与截止:2021年10月14日--2021年12月07日
  2) 初赛:2021年10月14日--2021年12月14日。前80名并超过Data-centric的baseline进入到复赛。初始选手,也将获得数据和模型的分析报告(简称增值服务)
     训练集 & 验证集提供: 2021年10月14; 提交入口开放:2021年10月15日;每天22点更新一次在线成绩。
  3) 复赛:2022年12月17日--2022年1月8日。复赛前15名进入到线上评审,进行在线答辩。
  4) 线上评审:2022年1月16日(下午2点-5点)。 最终成绩: 线上得分* 0.65 + 线上方案评审 * 0.35
     线上方案评审:方案评审通过考察参赛队伍提交方案的新颖性、实用性和解释答辩表现力来打分,由5位评审老师打分;
  每只队伍有10分钟的时间讲解方案,5分钟来回答问题。方案评审将以直播方法进行。

4.自测脚本(f1 score)

from sklearn.metrics import f1_score
y_true = [1, 1, 1, 1, 2, 2, 2, 3, 3]
y_pred = [1, 1, 2, 3, 2, 2, 3, 2, 3]
#f1_micro = f1_score(y_true_list, y_pred_list, average='micro')
f1_macro = f1_score(y_true_list, y_pred_list, average='macro')
#print('f1_micro: {0}'.format(f1_micro))
print('f1_macro: {0}'.format(f1_macro))

数据集介绍

1、CIC 客户意图识别 Customer Intent Classification 该数据集关于客户意图的文本,包括118个类别。如:抱怨商品涨价了、表达不满/生气、表达赞美/满意、表示不想要了、表示地址正确等。

数量,训练集(train):10000 ;验证集(dev):2000;测试集_公开(test_public):2000;测试集_私有(test_private):>=3000 
例子:
{"id": 10000, "label": "38", "sentence": "就一个吸汗带很便宜的呀", "label_des": "讨价还价"}
{"id": 10002, "label": "114", "sentence": "不合适包运费险退换吗", "label_des": "咨询运费险赔付规则"}
{"id": 10004, "label": "23", "sentence": "刚好昨天拍少了一件,那我退了重新拍吧", "label_des": "表示要重拍"}
{"id": 10005, "label": "22", "sentence": "我有两个退货,麻烦同意下", "label_des": "表示需要退货退款"}
{"id": 10006, "label": "4", "sentence": "第二件地址对的,一起发回四川哈", "label_des": "表示地址正确"}

工具集介绍

为了方便上手,我们开发了DataCLUE Toolkit (dckit),提供了基本的数据读取和存储以及评测功能。使用dckit进行开发也能够更加方便与其它算法进行整合。

安装

pip install -e .

使用

基于dckit你只需要关注于数据处理部分即可

from dckit import read_datasets, random_split_data, evaluate

data = read_datasets()
# TODO 对数据进行处理

random_split_data(data)
f1 = evaluate()

数据处理方法简介

TODO 数据处理方法简介

学习资料

1、吴恩达新课:从以模型为中心到以数据为中心的AI(1小时)

联系方式与引用

添加微信入DataCLUE群:

QQ群:836811304

如果您觉得DataCLUE有用,并希望引用,您可以使用如下格式

@article{xu2021dataclue,
      title={DataCLUE: A Benchmark Suite for Data-centric NLP}, 
      author={Liang Xu and Jiacheng Liu and Xiang Pan and Xiaojing Lu and Xiaofeng Hou},
      year={2021},
      eprint={2111.08647},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Owner
CLUE benchmark
Organization of Language Understanding Evaluation benchmark for Chinese: tasks & datasets, baselines, pre-trained Chinese models, corpus and leaderboard
CLUE benchmark
Escaping the Gradient Vanishing: Periodic Alternatives of Softmax in Attention Mechanism

Period-alternatives-of-Softmax Experimental Demo for our paper 'Escaping the Gradient Vanishing: Periodic Alternatives of Softmax in Attention Mechani

slwang9353 0 Sep 06, 2021
Learning Dynamic Network Using a Reuse Gate Function in Semi-supervised Video Object Segmentation.

Training Script for Reuse-VOS This code implementation of CVPR 2021 paper : Learning Dynamic Network Using a Reuse Gate Function in Semi-supervised Vi

HYOJINPARK 22 Jan 01, 2023
In this repo we reproduce and extend results of Learning in High Dimension Always Amounts to Extrapolation by Balestriero et al. 2021

In this repo we reproduce and extend results of Learning in High Dimension Always Amounts to Extrapolation by Balestriero et al. 2021. Balestriero et

Sean M. Hendryx 1 Jan 27, 2022
StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.

3k Jan 08, 2023
Clean and readable code for Decision Transformer: Reinforcement Learning via Sequence Modeling

Minimal implementation of Decision Transformer: Reinforcement Learning via Sequence Modeling in PyTorch for mujoco control tasks in OpenAI gym

Nikhil Barhate 104 Jan 06, 2023
Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.

CycleGAN PyTorch | project page | paper Torch implementation for learning an image-to-image translation (i.e. pix2pix) without input-output pairs, for

Jun-Yan Zhu 11.5k Dec 30, 2022
The official code for PRIMER: Pyramid-based Masked Sentence Pre-training for Multi-document Summarization

PRIMER The official code for PRIMER: Pyramid-based Masked Sentence Pre-training for Multi-document Summarization. PRIMER is a pre-trained model for mu

AI2 111 Dec 18, 2022
PyTorch3D is FAIR's library of reusable components for deep learning with 3D data

Introduction PyTorch3D provides efficient, reusable components for 3D Computer Vision research with PyTorch. Key features include: Data structure for

Facebook Research 6.8k Jan 01, 2023
A simple algorithm for extracting tree height in sparse scene from point cloud data.

TREE HEIGHT EXTRACTION IN SPARSE SCENES BASED ON UAV REMOTE SENSING This is the offical python implementation of the paper "Tree Height Extraction in

6 Oct 28, 2022
Pytorch implementation of paper: "NeurMiPs: Neural Mixture of Planar Experts for View Synthesis"

NeurMips: Neural Mixture of Planar Experts for View Synthesis This is the official repo for PyTorch implementation of paper "NeurMips: Neural Mixture

James Lin 101 Dec 13, 2022
StarGAN2 for practice

StarGAN2 for practice This version of StarGAN2 (coined as 'Post-modern Style Transfer') is intended mostly for fellow artists, who rarely look at scie

vadim epstein 87 Sep 24, 2022
EFENet: Reference-based Video Super-Resolution with Enhanced Flow Estimation

EFENet EFENet: Reference-based Video Super-Resolution with Enhanced Flow Estimation Code is a bit messy now. I woud clean up soon. For training the EF

Yaping Zhao 19 Nov 05, 2022
This repository contains code and data for "On the Multimodal Person Verification Using Audio-Visual-Thermal Data"

trimodal_person_verification This repository contains the code, and preprocessed dataset featured in "A Study of Multimodal Person Verification Using

ISSAI 7 Aug 31, 2022
📝 Wrapper library for text generation / language models at char and word level with RNN in TensorFlow

tensorlm Generate Shakespeare poems with 4 lines of code. Installation tensorlm is written in / for Python 3.4+ and TensorFlow 1.1+ pip3 install tenso

Kilian Batzner 63 May 22, 2021
Boundary-aware Transformers for Skin Lesion Segmentation

Boundary-aware Transformers for Skin Lesion Segmentation Introduction This is an official release of the paper Boundary-aware Transformers for Skin Le

Jiacheng Wang 79 Dec 16, 2022
Deep Image Matting implementation in PyTorch

Deep Image Matting Deep Image Matting paper implementation in PyTorch. Differences "fc6" is dropped. Indices pooling. "fc6" is clumpy, over 100 millio

Yang Liu 724 Dec 27, 2022
2021 National Underwater Robotics Vision Optics

2021-National-Underwater-Robotics-Vision-Optics 2021年全国水下机器人算法大赛-光学赛道-B榜精度第18名 (Kilian_Di的团队:A榜[email pro

Di Chang 9 Nov 04, 2022
Official respository for "Modeling Defocus-Disparity in Dual-Pixel Sensors", ICCP 2020

Official respository for "Modeling Defocus-Disparity in Dual-Pixel Sensors", ICCP 2020 BibTeX @INPROCEEDINGS{punnappurath2020modeling, author={Abhi

Abhijith Punnappurath 22 Oct 01, 2022
TJU Deep Learning & Neural Network

Deep_Learning & Neural_Network_Lab 实验环境 Python 3.9 Anaconda3(官网下载或清华镜像都行) PyTorch 1.10.1(安装代码如下) conda install pytorch torchvision torchaudio cudatool

St3ve Lee 1 Jan 19, 2022
这是一个yolo3-tf2的源码,可以用于训练自己的模型。

YOLOV3:You Only Look Once目标检测模型在Tensorflow2当中的实现 目录 性能情况 Performance 所需环境 Environment 文件下载 Download 训练步骤 How2train 预测步骤 How2predict 评估步骤 How2eval 参考资料

Bubbliiiing 68 Dec 21, 2022