InstructOR One Embedder, Any Task – Towards AI

InstructOR One Embedder, Any Task – Towards AI

Penulis: Blok Bangunan

Awalnya diterbitkan di Menuju AI.

Menuju Penyematan Khusus Tugas

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

pengantar

Jika Anda pernah bekerja membangun model pembelajaran mendalam untuk segala jenis tugas yang berhubungan dengan teks seperti klasifikasi dalam beberapa tahun terakhir, Anda akan mengambil beberapa model transformator pra-terlatih seperti BERT dan menyesuaikannya dengan kumpulan data Anda.

Dalam beberapa kasus, Anda mungkin juga telah melatih model terlebih dahulu pada jenis dokumen yang Anda harapkan akan dilihat oleh model selama waktu pengujian atau saat sedang dalam produksi sehingga model dapat beradaptasi dengan domain baru ini.

Masalah utama dengan pendekatan ini adalah bahwa mereka tidak menskalakan dengan baik, terutama di dunia nyata, di mana Anda mungkin ingin membuat banyak model. Misalnya, ambil kasus Medium. Mereka mungkin ingin memiliki model yang dapat mengidentifikasi topik dan sub-topik blog, memeriksa plagiarisme, kualitas, dan apakah mengandung konten berbahaya/dewasa.

Mungkin juga perusahaan/organisasi membutuhkan lebih dari sekedar model klasifikasi. Mereka mungkin menginginkan model untuk tugas lain seperti pencarian semantik, pengambilan dokumen serupa untuk hal-hal seperti mesin rekomendasi, model penjawab pertanyaan untuk chatbot FAQ, dll.

Pada kenyataannya, adalah hal yang umum bagi perusahaan untuk menggunakan ratusan model berbeda yang memecahkan berbagai masalah. Melatih ulang dan menggunakan model yang relatif besar dan banyak ini memakan waktu dan sumber daya. Bukankah lebih bagus jika kita memiliki satu model yang dapat menghasilkan penyematan berbeda untuk tugas berbeda meskipun dokumennya sama?

Inilah masalah yang dipecahkan oleh penulis InstructOR. Pada artikel hari ini, kami akan merinci apa itu model Instruktur dan bagaimana cara kerjanya. Sesuai dengan tren InstructGPT dan ChatGPT, penulis memanfaatkan penggunaan instruksi buatan manusia.

Apa yang Instruktur lakukan?

Instruktur adalah singkatan dari Representasi Omnifarious berbasis Instruksi.

omnifarious (kata sifat): dari semua varietas, bentuk, atau jenis

Huff, itu seteguk. Mari kita hancurkan.

Penyematan model adalah caranya merepresentasikan dokumen. Model diberikan instruksi/deskripsi tugas yang akan digunakan untuk penyematan, bersama dengan dokumen yang harus disematkan. Karena satu dokumen dapat direpresentasikan secara unik untuk setiap tugas (instruksi) yang disediakan, itu berarti kita dapat menyelesaikan berbagai macam tugas.

Pada akhirnya, Instruktur mampu membuat penyematan khusus tugas untuk dokumen tertentu.

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Seperti yang bisa dilihat dari gambar di atas, misalkan kita punya dokumen, “Siapa yang menyanyikan lagu Love Story?” kami berasumsi bahwa kami ingin menyelesaikan tiga tugas berbeda.

Identifikasi pertanyaan rangkap Ambil dokumen yang relevan dari Wikipedia yang dapat menjawab pertanyaan Klasifikasikan pertanyaan berdasarkan topik

Dengan mengirimkan instruksi/deskripsi tugas bahasa alami yang berbeda untuk dokumen masukan yang sama, kami memperoleh 3 penyematan unik!

Bagaimana Instruktur dilatih?

Model Arsitektur

Instruktur menggunakan model GTR Retriever padat berbasis T5 yang dapat digeneralisasikan. Model GTR telah menunjukkan kinerja yang baik dalam tugas berbasis pengambilan. Model T5 memiliki arsitektur bergaya Encoder-Decoder; namun, model GTR hanya menggunakan encoder T5.

Model GTR diinisialisasi dari model T5, dilatih sebelumnya di korpus web, dan disesuaikan pada kumpulan data pencarian informasi

Proses Pelatihan dan Fungsi Loss

Seperti yang disebutkan sebelumnya, Instruktur menerima dua masukan:

Instruksi yang menjelaskan tugas dan domain Dokumen

Untuk menghasilkan penyematan yang berguna di mana penyematan dokumen serupa berdekatan satu sama lain dalam ruang vektor, penulis memanfaatkan pembelajaran kontrastif.

Penting untuk dicatat bahwa gagasan kesamaan berubah dengan tugas yang ada. Misalnya, jika kita mengerjakan Klasifikasi Sentimen, kita akan mengatakan bahwa ada kemungkinan dokumen dengan sentimen yang sama lebih mirip daripada dokumen dengan sentimen yang berlawanan.

Selama pelatihan, model diberikan sepasang instruksi dan dokumen. Asumsikan bahwa x, y adalah dokumen dan I_x, I_y adalah instruksi tentang bagaimana x dan y akan digunakan, Instruktur ditugaskan untuk membuat dua penyematan dan mengidentifikasi apakah pasangan penyematan untuk (I_x + x) dan (I_y + y) adalah serupa atau tidak.

Embedding E sesuai dengan rata-rata semua token milik dokumen x, perhatikan bahwa embedding token instruksi tidak dipertimbangkan. Kesamaan ditentukan dengan menghitung Kesamaan Cosinus antara dua embeddings.

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Menentukan Kebenaran Dasar

Untuk tugas klasifikasi, pasangan positif terdiri dari dokumen milik kelas yang sama. Dalam tugas tersebut, Instruksi untuk kedua dokumen akan sama. Untuk tugas pengambilan, kami memiliki dokumen kueri dan dokumen kandidat. Masing-masing memiliki instruksinya sendiri karena kami ingin penyematan kueri berbeda dari penyematan kandidat. Dalam skenario ini, pasangan positif adalah jika kandidat yang diberikan relevan dengan kueri. Untuk tugas kesamaan tekstual seperti pertanyaan rangkap, pasangan positif terdiri dari dua dokumen yang mirip secara struktural dan semantik atau/dan berasal dari sumber yang sama.

Fungsi Kerugian

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Tujuannya adalah untuk memaksimalkan kesamaan antara pasangan positif dan meminimalkan kesamaan antara pasangan negatif. Dapat dilihat bahwa penyebut adalah penjumlahan dari kesamaan pasangan positif + semua pasangan negatif.

Dari gambar di atas terlihat bahwa fungsi loss pada dasarnya adalah fungsi Cross-Entropy Loss. Perbedaan utamanya adalah penggunaan skor kesamaan cosinus, bukan skor logit. Di mana pasangan positif, pasangan positif diperlakukan sebagai label yang benar, dan semua pasangan negatif diperlakukan sebagai label negatif.

Instruksi Anotasi

Penulis membuat template untuk menghasilkan instruksi untuk semua tugas berbeda yang dilatih model tersebut. Templat mengikuti struktur berikut:

MEWAKILI JENIS TEKS (DOMAIN) UNTUK TUJUAN TUGAS; MEMASUKKAN:

Kata-kata yang dicetak tebal adalah placeholder dalam template:

DOMAIN: Mengacu pada domain tugas. Misalnya, jika kami mengklasifikasikan artikel berita ke dalam topik yang berbeda, domainnya adalah berita. Bidang ini bersifat opsional karena beberapa tugas mungkin menjangkau beberapa domain.

JENIS TEKS: Bidang ini menyatakan jenis teks apa yang kami sematkan, seperti kiriman, kueri, dokumen yang akan diambil, dll.

TUJUAN TUGAS: Ini menyatakan tugas yang kami coba selesaikan, seperti meringkas, mengklasifikasikan emosi, dll.

Beberapa instruksi untuk set data dan tugas tertentu dalam set evaluasi dapat dilihat pada gambar di bawah ini.

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Dataset

Untuk pelatihan, penulis mengumpulkan 330 dataset yang berbeda dan menggabungkannya menjadi satu dataset yang mereka beri nama Multitask Embeddings Data
dengan Instruksi (MEDI). Kumpulan data menjangkau beberapa jenis tugas dan domain.

Untuk mengevaluasi model mereka, mereka memanfaatkan Massive Text Embedding Benchmark (MTEB).

MTEB adalah tolok ukur besar untuk mengukur performa model penyematan teks pada berbagai tugas penyematan. MTEB mencakup 56 kumpulan data di 8 tugas.

Hal penting yang perlu diperhatikan adalah bahwa dari 70 tugas evaluasi yang berbeda, 66 di antaranya tidak terlihat selama pelatihan. Ini berarti bahwa model dapat menggeneralisasi dengan cukup baik untuk bekerja dengan baik pada tugas yang belum pernah terlihat sebelumnya! Tugas yang tidak terlihat juga bisa sesuai dengan instruksi baru yang tidak terlihat selama pelatihan, yang berarti bahwa permainan instruksi peran juga dapat digeneralisasikan oleh model.

Hal lain yang perlu diperhatikan adalah tugas-tugas seperti pengambilan, peringkat, dll. hanya perlu penyematan dari model. Untuk tugas klasifikasi, Anda masih perlu membekukan model Instruktur dan melatih Multi-Layer Perceptron di atas penyematan yang dihasilkan oleh Instruktur untuk mendapatkan label kelas yang diprediksi.

Namun, mengingat ukuran MLP jauh lebih kecil, jumlah waktu dan sumber daya memori yang dikonsumsi dalam melatihnya jauh lebih sedikit dibandingkan dengan melatih ulang seluruh model transformator, pendekatan ini masih merupakan kemenangan.

Hyperparams

Penulis melatih tiga model:

GTR-Large dengan 330 juta parameter GTR-XL dengan 1,3 miliar parmaeter

Sempurnakan di MEDI menggunakan pengoptimal AdamW dengan laju pembelajaran 2e-5 dan rasio pemanasan 0,1. Kami menggunakan suhu softmax 0,01 dan menyempurnakan INSTRUKTOR untuk langkah 20K.

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Singkatnya, GPT-3 memiliki 175 miliar parameter, dan InstructGPT memiliki 1,3 miliar parameter. Menariknya, penulis menemukan bahwa model terkecil, GTR-Large, dengan 330 juta parameter, mengungguli tolok ukur yang ada pada banyak tugas dan bekerja secara kompetitif pada tugas yang tidak teratas. Rata-rata instruktur berada di atas papan peringkat MTEB di semua tugas.

Analisis dan Studi Ablasi

Kekokohan instruksi

Untuk membuktikan bahwa Instruktur dapat bekerja dengan baik meskipun instruksi diutarakan dengan cara yang berbeda, penulis menjalankan eksperimen dengan mengevaluasi (bukan melatih) model menggunakan lima instruksi parafrase yang berbeda dibandingkan dengan yang digunakan pada waktu pelatihan.

Mereka menemukan bahwa tidak banyak perbedaan dalam kinerja di seluruh 5 instruksi yang diparafrasekan.

Kompleksitas Instruksi

Dalam percobaan lain, mereka menunjukkan bahwa semakin rinci instruksinya, semakin baik kinerja modelnya.

Performa di Domain Tak Terlihat

Penulis juga menunjukkan bahwa penyematan Instruktur dapat menggeneralisasi lebih baik ke domain data yang belum terlihat selama waktu pelatihan. Artinya, kami dapat mengharapkan kinerja yang baik tanpa harus menyesuaikan model dengan domain baru.

Gambar oleh penulis makalah: https://arxiv.org/pdf/2212.09741.pdf

Menyematkan Visualisasi

Penulis memvisualisasikan embeddings mereka menggunakan T-SNE untuk menunjukkan bagaimana jarak antar dokumen berubah berdasarkan instruksi yang diberikan. Seperti yang dapat dilihat di bawah dalam memberikan instruksi, dokumen yang memiliki sentimen yang sama akan saling berdekatan, sedangkan dokumen dengan sentimen yang berbeda akan menjauh!

Kesimpulan

Dalam artikel hari ini, kami merinci bagaimana InstructOR dapat digunakan untuk menghasilkan penyematan khusus tugas. Beberapa takeaway utama adalah:

Instruktur dapat menggeneralisasi dengan baik tugas dan domain data yang tidak terlihat, yang berarti bahwa kita tidak perlu menyempurnakan model pada tugas dan domain baru. Instruktur menunjukkan kekokohan pada berbagai cara instruksi dapat diutarakan, dan kinerja meningkat dengan seberapa detail instruksi. InstructOR adalah model yang relatif kecil dengan hanya 330 juta parameter, membuat biaya yang terkait dengan penerapan model semacam itu relatif lebih sedikit dibandingkan model lainnya.

Jika Anda memiliki pemikiran lain yang ingin Anda bagikan, silakan berikan komentar di bawah ini. Sampai waktu berikutnya, berhati-hatilah dan bersikap baik.

Sumber daya tambahan

Ulasan Kertas: Instruktur Satu Penyemat, Tugas Apa Pun awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly