Kode untuk kertas Anotasi Selektif Membuat Model Bahasa Lebih Baik bagi Pembelajar Sedikit
Banyak pendekatan terbaru terhadap tugas-tugas bahasa alami dibangun berdasarkan kemampuan luar biasa dari model bahasa besar. Model bahasa besar dapat melakukan pembelajaran dalam konteks, di mana mereka mempelajari tugas baru dari beberapa demonstrasi tugas, tanpa pembaruan parameter apa pun. Karya ini mengkaji implikasi pembelajaran dalam konteks untuk pembuatan kumpulan data untuk tugas-tugas bahasa alami yang baru. Berangkat dari metode pembelajaran dalam konteks terkini, kami merumuskan kerangka kerja dua langkah yang efisien dalam anotasi: anotasi selektif yang memilih kumpulan contoh untuk dianotasi dari data tak berlabel terlebih dahulu, diikuti dengan pengambilan cepat yang mengambil contoh tugas dari kumpulan beranotasi di waktu ujian. Berdasarkan kerangka kerja ini, kami mengusulkan metode anotasi selektif berbasis grafik tanpa pengawasan, vote-k , untuk memilih contoh yang beragam dan representatif untuk diberi anotasi. Eksperimen ekstensif pada 10 kumpulan data (mencakup klasifikasi, penalaran masuk akal, dialog, dan pembuatan teks/kode) menunjukkan bahwa metode anotasi selektif kami meningkatkan kinerja tugas dengan selisih yang besar. Rata-rata, vote-k memperoleh keuntungan relatif sebesar 12,9%/11,4% dengan anggaran anotasi 18/100, dibandingkan dengan memilih contoh secara acak untuk diberi anotasi. Dibandingkan dengan pendekatan penyempurnaan terawasi yang canggih, pendekatan ini menghasilkan kinerja serupa dengan biaya anotasi 10-100× lebih sedikit untuk 10 tugas. Kami menganalisis lebih lanjut efektivitas kerangka kerja kami dalam berbagai skenario: model bahasa dengan berbagai ukuran, metode anotasi selektif alternatif, dan kasus di mana terdapat pergeseran domain data uji. Kami berharap penelitian kami akan berfungsi sebagai dasar untuk anotasi data seiring dengan semakin banyaknya model bahasa besar yang diterapkan pada tugas-tugas baru
Jalankan perintah berikut untuk mengkloning repo ini
git clone https://github.com/HKUNLP/icl-selective-annotation
Untuk membangun lingkungan, jalankan kode ini di shell:
conda env create -f selective_annotation.yml
conda activate selective_annotation
cd transformers
pip install -e .
Itu akan menciptakan lingkungan Selective_annotation yang kita gunakan.
Aktifkan lingkungan dengan menjalankan
conda activate selective_annotation
GPT-J sebagai model pembelajaran dalam konteks, DBpedia sebagai tugas, dan vote-k sebagai metode anotasi selektif (1 GPU, memori 40GB)
python main.py --task_name dbpedia_14 --selective_annotation_method votek --model_cache_dir models --data_cache_dir datasets --output_dir outputs
Jika Anda merasa pekerjaan kami bermanfaat, silakan kutip kami
@article{Selective_Annotation,
title={Selective Annotation Makes Language Models Better Few-Shot Learners},
author={Hongjin Su and Jungo Kasai and Chen Henry Wu and Weijia Shi and Tianlu Wang and Jiayi Xin and Rui Zhang and Mari Ostendorf and Luke Zettlemoyer and Noah A. Smith and Tao Yu},
journal={ArXiv},
year={2022},
}