REALM : Retrieval Augmented Language Model Pretraining
Makalah ini dibuat oleh Google Research, dan dikirimkan pada bulan Februari 2020 dan menawarkan cara prapelatihan model bahasa yang baru dan disempurnakan. Juga mencapai SOTA pada QA.
Masalah : Makalah ini dimulai dengan mengutip masalah dengan model bahasa saat ini dan prapelatihannya. Bert, Roberta dan T5 misalnya menangkap sejumlah besar pengetahuan dunia untuk berbagai tugas NLP namun pengetahuan ini disimpan dalam bobot model yang membuatnya sulit untuk menginterpretasikan hasil model dan modelnya tidak modular. Untuk mendapatkan lebih banyak pengetahuan, seseorang hanya perlu menambah jumlah parameter, data, dan melatih untuk langkah yang lebih lama yang bisa sangat mahal.
Ide : Untuk memperbaiki masalah di atas, makalah menyajikan cara baru prapelatihan model bahasa agar berkinerja sama atau lebih baik pada tugas-tugas NLP dengan parameter yang lebih sedikit. Idenya cukup sederhana, katakanlah Anda memiliki pertanyaan dan Anda ingin menjawabnya, hal pertama yang dilakukan manusia adalah memeriksa google membuka beberapa tautan dan menemukan jawabannya. Makalah ini meniru perilaku semacam ini dengan memperkenalkan Knowledge Retriever dan tugasnya adalah bertindak seperti Google sehingga akan mendapatkan dokumen yang relevan untuk menjawab pertanyaan dan kemudian Encoder Augmented Pengetahuan digunakan untuk mendapatkan jawaban dari dokumen yang diambil.
Contoh :
- Pre Training dilakukan pada varian MLM BERT.
- Penyesuaian Halus dilakukan pada OpenQA.
OpenQA : openQA adalah varian dari Question Answering dimana model tidak menerima dokumen yang diketahui memiliki jawabannya. Alih-alih menerima banyak dokumen, model harus mempelajari cara memfilter yang relevan.
REALM menguraikan p(y | x) menjadi dua langkah: ambil, lalu prediksi. Diberi input x, pertama-tama kita mengambil dokumen yang mungkin bermanfaat z dari korpus pengetahuan Z . Kami memodelkan ini sebagai sampel dari distribusi p(z | x). Kemudian, kami mengkondisikan z yang diambil dan input asli x untuk menghasilkan output y — dimodelkan sebagai p(y | z, x). Untuk mendapatkan kemungkinan keseluruhan menghasilkan y, kami memperlakukan z sebagai variabel laten dan meminggirkan semua kemungkinan dokumen z.
Knowledge Retriever : Mari selami detail dari knowledge retriever, kami mencoba memodelkan yang berikut :
di mana Embedinput dan Embeddoc adalah fungsi penyematan yang masing-masing memetakan x dan z ke vektor dimensi-d. Skor relevansi f(x,z) antara x dan z didefinisikan sebagai produk dalam dari vektor embeddings. Distribusi pengambilan adalah softmax atas semua skor relevansi.
Mengikuti BERT, rentang digabungkan menggunakan token [SEP] dan diawali dengan [CLS]
Vektor yang dihasilkan oleh trafo kemudian diambil oleh token [CLS] sehingga akhirnya kita mendapatkan ini :
Knowledge Augmented Retriever : Sekarang mari kita lihat ke dalam Knowledge augmented retriever, dalam hal pretraining kita ingin memodelkan yang berikut :
di mana BERTMASK(j) menunjukkan vektor keluaran Transformer yang sesuai dengan token ke-j yang disamarkan, Jx adalah jumlah total token [MASK] dalam x, dan wj adalah penyematan kata yang dipelajari untuk token yj.
Untuk Fine tuning kita ubah menjadi ini :
di mana BERTSTART(s) dan BERTEND(s) masing-masing menunjukkan vektor keluaran Transformer yang sesuai dengan token awal dan akhir span s, sedangkan MLP menunjukkan jaringan saraf feed-forward.
Tantangan komputasional : Tantangan komputasional utama adalah probabilitas marjinal p(y|x)=鏰z∈Z p(y|x,z)p(z|x) melibatkan penjumlahan atas semua dokumen z dalam korpus pengetahuan Z. Kami memperkirakan ini dengan menjumlahkan dari atas k. Ini masuk akal jika sebagian besar dokumen memiliki kemungkinan mendekati nol.
Solusi: Temukan dokumen paling relevan => bagaimana kami menemukannya secara efisien? Perhatikan bahwa skor relevansi p(z | x) sama dengan perkalian dalam berikut :
f(x,z) =Embedinput(x)⊤Embeddoc(z) sekarang kita dapat menggunakan MIPS (Pencarian produk dalam maksimum) untuk menemukan dokumen top-k tetapi kita masih harus menghitung ulang embeddings, setelah beberapa iterasi, embeddings berubah dan indeks yang diberikan oleh MIPS menjadi basi sehingga kami harus memperbaruinya.
MIPS hanya digunakan selama pra pelatihan, selama penyetelan halus MIPS dihitung sekali di awal menggunakan penyematan prapelatihan.
Apa yang dipelajari oleh retriever?
Untuk setiap dokumen z, gradien mendorong pengambil untuk mengubah skor f(x,z) dengan r(z) — meningkat jika r(z) positif, dan menurun jika negatif. Pengali r(z) positif jika dan hanya jika p(y|z,x) > p(y|x). Istilah p(y | z, x) adalah probabilitas memprediksi output yang benar y saat menggunakan dokumen z. Istilah p(y | x) adalah nilai yang diharapkan dari p(y | x, z) ketika mengambil sampel dokumen secara acak dari p(z | x). Oleh karena itu, dokumen z menerima pembaruan positif setiap kali kinerjanya lebih baik dari yang diharapkan.
Lingkaran setan :
Seperti yang mungkin sudah Anda ketahui sekarang, melatih model ini sangat sulit, karena jika penyematan awal tidak bagus, indeks MIPS akan salah, retriever tidak akan mempelajari apa pun. Retriever augmented pengetahuan akan mengabaikan dokumen yang diambil sehingga gradien tidak akan menyebar balik dan tidak ada pembelajaran yang akan terjadi.
Makalah ini menawarkan serangkaian solusi untuk menyelesaikan ini:
- Salient Span Masking : strategi masking berbeda dari MLM biasa, di REALM kami ingin fokus pada span yang membutuhkan pengetahuan dunia. Untuk fokus pada masalah yang membutuhkan pengetahuan dunia, kami menutupi rentang yang menonjol seperti "Inggris Raya" atau "Juli 1969". Kami menggunakan pemberi tag berbasis BERT yang dilatih pada data CoNLL-2003 untuk mengidentifikasi entitas bernama, dan ekspresi reguler untuk mengidentifikasi tanggal. Kami memilih dan menutupi salah satu rentang yang menonjol ini dalam sebuah kalimat untuk tugas pemodelan bahasa bertopeng.
- Dokumen Null : Dokumen Null ditambahkan ke korpus untuk menambah fleksibilitas pada model dan memberikan opsi untuk tidak memilih apa pun.
- Melarang pengambilan sepele : Jika X ada persis di Z, ini menghasilkan nilai gradien yang besar untuk p(z|x) model berhenti belajar dan mencari pola dan kesamaan yang tepat jika ini terjadi terlalu sering. Itu sebabnya kandidat sepele dihapus selama pra-pelatihan.
- Inisialisasi menggunakan Inverse Cloze Tugas : Untuk membantu mengatasi lingkaran setan yang disebutkan di atas, kami menyediakan cara untuk melakukan prapelatihan embeddings menggunakan TIK di mana, diberikan kalimat, model dilatih untuk mengambil dokumen dari mana kalimat tersebut berasal.
Hasil :
Contoh Konkrit :
Takeaways kunci :
- REALM mengungguli T5 11b dengan ukuran 30 kali lebih kecil.
- Span masking yang menonjol mengungguli strategi masking lainnya.
- Kami harus mempertimbangkan beberapa hyperparameter saat bekerja dengan REALM seperti kecepatan refresh MIPS dan dokumen top K untuk diambil.
- Tautan kertas
- Pasal 1
- Pasal 2

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































