Tautan Model/Data | Instalasi | Penggunaan | Papan Peringkat | Mengutip |
Repositori resmi untuk makalah FollowIR: Mengevaluasi dan Mengajarkan Model Pengambilan Informasi untuk Mengikuti Instruksi. Evaluasi resmi dapat dilakukan dengan menginstal perpustakaan mteb
dan mengevaluasi model kompatibel MTEB Anda tanpa perubahan (atau hanya beberapa) baris kode!
Biner | Keterangan |
---|---|
IkutiIR-7B | Model parameter 7B yang melakukan pemeringkatan ulang dokumen berdasarkan kueri dan instruksi. Ini disempurnakan dari Mistral-7B pada kumpulan data di bawah |
Ikuti kereta IR | Dataset yang digunakan untuk melatih FollowIR-7B. Ini terdiri dari instruksi dan kueri TREC, dan dokumen sintetis yang dihasilkan GPT yang telah difilter. |
IkutiIR-kereta-mentah | Versi set kereta yang telah difilter sebelumnya di atas. Ini tidak digunakan dalam pelatihan model karena beberapa data yang dihasilkan GPT salah. |
Anda juga dapat menemukan data pengujian beranotasi individual (Robust04, Core17, dan News21) meskipun formatnya paling baik digunakan dengan kode evaluasi MTEB.
Jika Anda ingin mereproduksi eksperimen di makalah, Anda dapat menggunakan kode berikut:
git clone https://github.com/orionw/FollowIR.git
cd FollowIR/
conda create -n followir python=3.9 -y
conda activate followir
pip install -r requirements.txt
bash launch_all_jobs.sh
Jika model Anda kompatibel SentenceTransformer
dan tidak memerlukan token khusus untuk menggabungkan kueri dan instruksi, Anda cukup menggunakan perintah satu baris berikut:
mteb -m $MODEL_NAME -t $DATASET
untuk setiap set data di {Robust04InstructionRetrieval, Core17InstructionRetrieval, News21InstructionRetrieval}
Jika Anda memiliki model bi-encoder tetapi ingin melakukan sesuatu yang berbeda dari sekadar menambahkan instruksi ke kueri dengan spasi, Anda dapat memperluas DenseRetrievalExactSearch
dan memeriksa instructions
di kwargs. Lihat (lihat models/base_sentence_transformers/ sebagai tempat awal untuk modifikasi kecil dan models/e5/ untuk contoh dengan modifikasi yang lebih besar).
Reranker kini telah ditambahkan ke MTEB! Jika Anda menggunakan model reranker, Anda perlu memperluas kelas DenseRetrievalExactSearch
dan menentukan fungsi __init__
dan predict
(lihat bagian model/reranker untuk berbagai contoh reranker). Fungsi prediksi Anda harus menggunakan input_to_rerank
yang akan berupa tupel dalam bentuk:
# if there are no instructions, instructions will be a list of Nones
# Instructions will be present for all of the FollowIR datasets
queries , passages , instructions = list ( zip ( * input_to_rerank ))
Fungsi predict
Anda harus menggunakan ini dan mengembalikan daftar yang berisi skor untuk setiap item tupel.
Jika Anda merasa kode, data, atau model ini berguna, silakan mengutip:
@misc { weller2024followir ,
title = { FollowIR: Evaluating and Teaching Information Retrieval Models to Follow Instructions } ,
author = { Orion Weller and Benjamin Chang and Sean MacAvaney and Kyle Lo and Arman Cohan and Benjamin Van Durme and Dawn Lawrie and Luca Soldaini } ,
year = { 2024 } ,
eprint = { 2403.15246 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.IR }
}