数据集:
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 ⏳
在评估每周日运行,您的结果将显示在排行榜上。