https://raid-bench.xyz
打開排行榜。值得信賴的評價。強大的人工智慧檢測。
RAID 是用於評估 AI 產生的文字偵測器的最大且最全面的資料集。它包含超過 1000 萬份文檔,涵蓋 11 個法學碩士、11 個流派、4 種解碼策略和 12 種對抗性攻擊。它旨在成為對流行探測器值得信賴的第三方評估的首選地點。
安裝 pip install raid-bench | |
用法範例 | |
---|---|
from raid import run_detection , run_evaluation
from raid . utils import load_data
# Define your detector function
def my_detector ( texts : list [ str ]) -> list [ float ]:
pass
# Download & Load the RAID dataset
train_df = load_data ( split = "train" )
# Run your detector on the dataset
predictions = run_detection ( my_detector , train_df )
# Evaluate your detector predictions
evaluation_result = run_evaluation ( predictions , train_df ) |
透過 RAID,您可以:
RAID 資料集包含以下類別的超過 1000 萬代:
類別 | 價值觀 |
---|---|
型號 | ChatGPT、GPT-4、GPT-3 (text-davinci-003)、GPT-2 XL、Llama 2 70B(聊天)、Cohere、Cohere(聊天)、MPT-30B、MPT-30B(聊天)、Mistral 7B、米斯特拉爾7B(聊天) |
網域 | ArXiv 摘要、食譜、Reddit 貼文、書籍摘要、紐約時報新聞文章、詩歌、IMDb 電影評論、維基百科、捷克新聞、德國新聞、Python 代碼 |
解碼策略 | 貪婪 (T=0)、採樣 (T=1)、貪婪 + 重複懲罰 (T=0, θ=1.2)、採樣 + 重複懲罰 (T=1, θ=1.2) |
對抗性攻擊 | 文章刪除、同形文字、數字交換、釋義、同義詞交換、拼字錯誤、添加空格、上下交換、零寬度空格、插入段落、替代拼寫 |
RAID 是唯一涵蓋不同模型、領域、採樣策略和攻擊的資料集
請參閱我們的 ACL 2024 論文,以了解更詳細的比較
我們提供的RAID資料集的分區細分如下:
標籤? | 網域 | 資料集大小(無對抗性) | 資料集大小(帶有對抗性) | |
---|---|---|---|---|
RAID 列車 | ✅ | 新聞、書籍、摘要、評論、Reddit、食譜、維基百科、詩歌 | 802M | 11.8G |
RAID 測試 | ❌ | 新聞、書籍、摘要、評論、Reddit、食譜、維基百科、詩歌 | 81.0M | 1.22G |
RAID-額外 | ✅ | 代碼、捷克語、德語 | 275M | 3.71G |
若要透過 pypi 套件下載 RAID,請執行
from raid . utils import load_data
# Download the RAID dataset with adversarial attacks included
train_df = load_data ( split = "train" )
test_df = load_data ( split = "test" )
extra_df = load_data ( split = "extra" )
# Download the RAID dataset without adversarial attacks
train_noadv_df = load_data ( split = "train" , include_adversarial = False )
test_noadv_df = load_data ( split = "test" , include_adversarial = False )
extra_noadv_df = load_data ( split = "extra" , include_adversarial = False )
您也可以使用wget
手動下載數據
$ wget https://dataset.raid-bench.xyz/train.csv
$ wget https://dataset.raid-bench.xyz/test.csv
$ wget https://dataset.raid-bench.xyz/extra.csv
$ wget https://dataset.raid-bench.xyz/train_none.csv
$ wget https://dataset.raid-bench.xyz/test_none.csv
$ wget https://dataset.raid-bench.xyz/extra_none.csv
新功能:您現在還可以透過 HuggingFace 資料集下載 RAID?圖書館
from datasets import load_dataset
raid = load_dataset ( "liamdugan/raid" )
要提交到排行榜,您必須先獲得測試集上偵測器的預測。您可以使用 pypi 套件或 CLI 來執行此操作:
import json
from raid import run_detection , run_evaluation
from raid . utils import load_data
# Define your detector function
def my_detector ( texts : list [ str ]) -> list [ float ]:
pass
# Load the RAID test data
test_df = load_data ( split = "test" )
# Run your detector on the dataset
predictions = run_detection ( my_detector , test_df )
with open ( 'predictions.json' ) as f :
json . dump ( predictions , f )
$ python detect_cli.py -m my_detector -d test.csv -o predictions.json
取得predictions.json
檔案後,您必須為提交編寫一個元資料檔案。您的元資料檔案應使用此儲存庫中的模板,位於leaderboard/template-metadata.json
。
最後,分叉這個儲存庫。將生成檔案新增至leaderboard/submissions/YOUR-DETECTOR-NAME/predictions.json
,將元資料檔案新增至leaderboard/submissions/YOUR-DETECTOR-NAME/metadata.json
,並向此儲存庫發出拉取請求。
我們的 GitHub 機器人將自動對提交的預測進行評估,並將結果提交到leaderboard/submissions/YOUR-DETECTOR-NAME/results.json
。如果一切順利,維護者將合併 PR,您的模型將出現在排行榜上!
筆記
您可以在單一 PR 中提交多個偵測器 - 每個偵測器應該有自己的目錄。
如果您想執行我們已經實現的偵測器或使用我們的資料集產生程式碼,您應該從原始程式碼安裝。為此,首先克隆儲存庫。然後安裝在您選擇的虛擬環境中
康達:
conda create -n raid_env python=3.9.7
conda activate raid_env
pip install -r requirements.txt
文夫:
python -m venv env
source env/bin/activate
pip install -r requirements.txt
然後,使用所需模組(OpenAI、Cohere、API 偵測器等)的 API 金鑰填入set_api_keys.sh
檔案。之後,執行source set_api_keys.sh
設定 API 金鑰環境變數。
若要透過我們的 CLI 將偵測器套用到資料集,請執行detect_cli.py
和evaluate_cli.py
。這些包含 pypi 套件中的run_detection
和run_evaluation
函數。下面列出了選項。有關有效檢測器名稱的列表,請參閱detectors/detector.py
。
$ python detect_cli.py -h
-m, --model The name of the detector model you wish to run
-d, --data_path The path to the csv file with the dataset
-o, --output_path The path to write the result JSON file
$ python evaluate_cli.py -h
-r, --results_path The path to the detection result JSON to evaluate
-d, --data_path The path to the csv file with the dataset
-o, --output_path The path to write the result JSON file
-t, --target_fpr The target FPR to evaluate at (Default: 0.05)
例子:
$ python detect_cli.py -m gltr -d train.csv -o gltr_predictions.json
$ python evaluate_cli.py -i gltr_predictions.json -d train.csv -o gltr_result.json
evaluate_cli.py
的輸出將是一個 JSON 文件,其中包含目標誤報率下 RAID 資料集每個分割上的偵測器的準確性以及為偵測器找到的閾值。
如果您想實作自己的偵測器並且仍然透過 CLI 運行它,則必須將其新增至detectors/detector.py
中,以便可以透過命令列參數呼叫它。
如果您在研究中使用我們的程式碼或發現,請將我們引用為:
@inproceedings{dugan-etal-2024-raid,
title = "{RAID}: A Shared Benchmark for Robust Evaluation of Machine-Generated Text Detectors",
author = "Dugan, Liam and
Hwang, Alyssa and
Trhl{'i}k, Filip and
Zhu, Andrew and
Ludan, Josh Magnus and
Xu, Hainiu and
Ippolito, Daphne and
Callison-Burch, Chris",
booktitle = "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
month = aug,
year = "2024",
address = "Bangkok, Thailand",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2024.acl-long.674",
pages = "12463--12492",
}
這項研究得到了國家情報總監辦公室 (ODNI)、情報高級研究計畫活動 (IARPA) 的部分支持,透過 HIATUS 計畫合約#2022-22072200005。本文所包含的觀點和結論屬於作者的觀點和結論,不應被解釋為必然代表 ODNI、IARPA 或美國政府的明示或暗示的官方政策。儘管其中有任何版權註釋,美國政府仍有權出於政府目的複製和分發重印本。