数据集:
ought/raft-submission
欢迎来到 RAFT benchmark !RAFT是一个few-shot分类基准,用于测试语言模型的性能:
您可以使用此存储库生成模板,以便在 the leaderboard 上提交您的预测进行评估。
首先,在Hugging Face Hub上创建账号。如果尚未创建,请访问 here 进行注册!
接下来,您需要在本地机器上创建一个包含各种文件和CLI的模板存储库,以帮助您验证和提交预测。Hugging Face Hub使用 Git Large File Storage (LFS) 管理大型文件,所以如果您尚未安装,请先安装它。例如,在MacOS上,您可以运行:
brew install git-lfs
git lfs install
然后,运行以下命令来创建存储库。我们建议为项目创建一个Python虚拟环境,例如使用Anaconda:
# Create and activate a virtual environment
conda create -n raft python=3.8 && conda activate raft
# Install the following libraries
pip install cookiecutter huggingface-hub==0.13.4
# Create the template repository
cookiecutter git+https://huggingface.co/datasets/ought/raft-submission
这将要求您指定您的Hugging Face Hub用户名、具有写入权限的Hugging Face access token ,以及存储库的名称:
hf_hub_username [huggingface]:
hf_access_token [hf_access_token]:
repo_name [my-raft-submissions]:
这将触发以下步骤:
最终,存储库的结构应如下所示:
my-raft-submission
├── LICENSE
├── README.md <- The README with submission instructions
├── cli.py <- The CLI for validating predictions etc
├── data <- The predictions for each task
├── my-raft-submission.py <- Script to load predictions. Do not edit!
└── requirements.txt <- The requirements file for the submissions
最后一步是安装项目的依赖项:
# Navigate to the template repository
cd my-raft-submissions
# Install dependencies
python -m pip install -r requirements.txt
完成!现在您可以开始生成预测了 - 请参阅下面的说明,了解如何将它们提交到Hub。
要向 leaderboard 提交预测,主要有三个步骤:
有关详细信息,请参阅下面的说明。
对于RAFT中的每个任务,您应该创建一个名为 predictions.csv 的CSV文件,其中包含您的模型对未标记测试集的预测。每个文件应该有恰好2列:
请参考 data 文件夹中的示例预测以了解预期格式。下面是一个创建多数类基准的简单示例:
from pathlib import Path
import pandas as pd
from collections import Counter
from datasets import load_dataset, get_dataset_config_names
tasks = get_dataset_config_names("ought/raft")
for task in tasks:
# Load dataset
raft_subset = load_dataset("ought/raft", task)
# Compute majority class over training set
counter = Counter(raft_subset["train"]["Label"])
majority_class = counter.most_common(1)[0][0]
# Load predictions file
preds = pd.read_csv(f"data/{task}/predictions.csv")
# Convert label IDs to label names
preds["Label"] = raft_subset["train"].features["Label"].int2str(majority_class)
# Save predictions
preds.to_csv(f"data/{task}/predictions.csv", index=False)
如示例所示,每个 predictions.csv 文件应存储在任务的子文件夹中的 data 文件夹中,最后您应该获得如下内容:
data
├── ade_corpus_v2
│ ├── predictions.csv <- A CSV file of the predictions with `ID` and `Label` columns
│ └── task.json <- Configuration file for loading the predictions. Do not edit!
├── banking_77
│ ├── predictions.csv
│ └── task.json
├── neurips_impact_statement_risks
│ ├── predictions.csv
│ └── task.json
├── one_stop_english
│ ├── predictions.csv
│ └── task.json
├── overruling
│ ├── predictions.csv
│ └── task.json
├── semiconductor_org_types
│ ├── predictions.csv
│ └── task.json
├── systematic_review_inclusion
│ ├── predictions.csv
│ └── task.json
├── tai_safety_research
│ ├── predictions.csv
│ └── task.json
├── terms_of_service
│ ├── predictions.csv
│ └── task.json
├── tweet_eval_hate
│ ├── predictions.csv
│ └── task.json
└── twitter_complaints
├── predictions.csv
└── task.json
为了确保您的提交文件格式正确,从存储库的根目录运行以下命令:
python cli.py validate
如果一切正确,您应该会看到以下消息:
All submission files validated! ✨ ? ✨
Now you can make a submission ?
最后一步是提交您的文件并将其推送到Hub:
python cli.py submit
如果没有错误,您应该会看到以下消息:
Submission successful! ? ? ?
Your submission will be evaluated on Sunday 05 September 2021 at 12:00 UTC ⏳
在评估每周日运行,您的结果将显示在排行榜上。