Retrieval Augmented Language Model Pre-Training (REALM)

Jan 24 2023
kata kunci: pemodelan bahasa, menjawab pertanyaan, pengambilan bagian, model yang dapat ditafsirkan, pengetahuan yang dapat ditafsirkan, T5, pengambilan pengetahuan saraf Pra-pelatihan Setup Language Model telah digunakan untuk mempelajari representasi bahasa yang berguna dari teks yang tidak berlabel. model pra-terlatih kemudian disesuaikan untuk melakukan tugas hilir.

kata kunci : pemodelan bahasa, menjawab pertanyaan, pengambilan bagian, model yang dapat ditafsirkan, pengetahuan yang dapat ditafsirkan, T5, neural knowledge retriever

Dalam posting ini, kita akan membahas makalah REALM: Pre-Training Model Bahasa yang Ditambah Retrieval oleh Google Research

TL;DR

  • Pra-pelatihan Model Bahasa menangkap sejumlah besar pengetahuan dunia untuk tugas-tugas NLP seperti Menjawab-Tanya Jawab. Namun pengetahuan ini disimpan dalam parameter jaringan saraf. Untuk menyimpan lebih banyak pengetahuan, kita harus menggunakan jaringan yang lebih besar yaitu parameter yang lebih banyak lagi.
  • Kontribusi utama dari makalah ini: Sebuah solusi untuk masalah yang disebutkan di atas. Pendekatan yang diuraikan dalam makalah ini memungkinkan kita untuk membangun model saraf dengan parameter yang relatif lebih sedikit yang berkinerja lebih baik daripada SOTA pada tugas-tugas hilir seperti Menjawab-Tanya Jawab.
  • Untuk menangkap pengetahuan dengan cara modular dan dapat ditafsirkan, pra-pelatihan model bahasa ditambah dengan pengambilan pengetahuan yang memungkinkan model untuk mengambil dan menghadiri dokumen dari korpus besar seperti Wikipedia, yang digunakan selama pra-pelatihan, fine-tuning dan inferensi.
  • Gagasan utama REALM adalah untuk melatih retriever menggunakan sinyal berbasis kinerja dari teks yang tidak diawasi: pengambilan yang meningkatkan kebingungan model bahasa sangat membantu dan harus dihargai, sementara pengambilan yang tidak informatif harus dihukum.

Penyiapan Latar Belakang & Eksperimen

Pra-pelatihan Model Bahasa telah digunakan untuk mempelajari representasi bahasa yang berguna dari teks yang tidak berlabel. model pra-terlatih kemudian disesuaikan untuk melakukan tugas hilir. Parameter model pada dasarnya diperbarui dalam tahap penyempurnaan ini di atas representasi yang dipelajari pada tahap pra-pelatihan. Masked-Language-Model(MLM) digunakan sebagai varian pra-pelatihan dalam makalah ini. Satu perbedaan atau perluasan utama dalam makalah ini adalah bahwa - Penulis menggunakan varian masking yang berbeda - seperti masking span Salient yang akan kita bahas lebih lanjut.
Saya percaya para pembaca sudah familiar dengan tugas menjawab pertanyaan Open-domain. Penulis telah memilih tugas ini untuk melihat pengetahuan apa yang telah dimasukkan dalam parameter model. Arsitektur tipikal sistem Tanya-Jawab menggunakan pendekatan dua tahap: mengambil dokumen yang relevan dan mengekstrak jawaban dari dokumen. Gagasan utama mereka dalam makalah ini memperluas pendekatan dua tahap ini dengan pra-pelatihan model bahasa.

Kontribusi Kunci

  • Pendekatan baru yang menambah pra-pelatihan model bahasa dengan pengambilan pengetahuan tekstual. Juga, tentang cara melatih pengambil pengetahuan semacam itu dengan cara yang tidak diawasi menggunakan Model Bahasa-Masker sebagai sinyal pembelajaran dan propagasi balik melalui langkah pengambilan yang mempertimbangkan jutaan dokumen. Pada dasarnya, pengambilan yang meningkatkan kebingungan model bahasa harus dihargai dan pengambilan yang tidak informatif harus dihukum.
  • Keefektifan pra-pelatihan REALM ditunjukkan dengan menyempurnakan jawaban pertanyaan domain terbuka dan membandingkannya dengan model canggih pada 3 tolok ukur jawaban pertanyaan. Pendekatan REALM mengungguli semua metode sebesar 4–16% pada akurasi absolut.
  • Memasukkan modul pengambilan saraf skala besar selama pra-pelatihan menimbulkan tantangan komputasi yang signifikan, karena pengambil harus mempertimbangkan jutaan dokumen untuk setiap langkah pra-pelatihan dan harus belajar melalui propagasi balik.
  • Mengatasi hal ini: menyusun retriever sedemikian rupa sehingga perhitungan yang dilakukan untuk masing-masing dapat di-cache dan diperbarui secara asinkron dan pemilihan dokumen terbaik dapat dirumuskan sebagai MIPS.
  • Pekerjaan sebelumnya telah menggunakan langkah pengambilan diskrit ke jaringan saraf ( DrQA Danqi Chen ), tetapi tidak berlaku untuk pra-pelatihan LM dan menggunakan pengambilan yang tidak dipelajari
  • kNN-LMs (Khandelwal et al.) hanya menggunakan contoh yang diberi label untuk tugas target, tidak disetel dengan baik untuk tugas hilir. Selain itu, pendekatan ini tidak menggunakan pra-pelatihan apa pun, melainkan melewatkan data tunggal untuk membangun konteks dan target pelatihan penyimpanan Nilai-Kunci.
  • Pendekatan REALM telah dilatih sebelumnya dan kemudian disesuaikan pada Open-domain Question-Answering dan dievaluasi pada 3 set data benchmark: NaturalQuestion-open, WebQuestions, CuratedTrec.
  • Dibandingkan dengan model SOTA Open-domain Question-Answering seperti T5
  • Metrik Pencocokan Persis digunakan dalam evaluasi.
  • Baik dalam pra-pelatihan dan penyetelan halus, REALM mempelajari distribusi probabilitas P(y|x) untuk input x terhadap kemungkinan output y. Untuk pra-pelatihan, x adalah kalimat dari korpus pra-pelatihan X dengan masked token atau masked salient spans. Untuk tugas fine-tuning, x adalah pertanyaan dan y adalah jawabannya.
  • REALM menguraikan p(y|x) dalam dua langkah: ambil dan prediksi. Untuk input x, ia mengambil dokumen yang relevan z dari korpus pengetahuan Z. Kemudian mengkondisikan input serta dokumen yang diambil untuk menghasilkan output y. Di sini, z diperlakukan sebagai variabel laten dan kemungkinan keseluruhan menghasilkan y dihitung dengan terpinggirkan atas semua kemungkinan dokumen z:
  • Kemungkinan keseluruhan menghasilkan y dihitung dengan meminggirkan semua kemungkinan dokumen z.

Arsitektur model disajikan dalam bentuk dua komponen: Neural Knowledge Retriever , yang memodelkan p(z|x) dan Knowledge Augmented Encoder yang memodelkan p(y|z,x).

Retriever Pengetahuan Neural

Retriever didefinisikan menggunakan model produk dalam yang padat:

Skor relevansi f(x,z) antara x dan z didefinisikan sebagai produk dalam dari vektor embeddings. Distribusi pengambilan adalah softmax atas semua skor relevansi. Diagram terperinci tentang cara kerja Knowledge retriever ditunjukkan di bawah ini:

Retriever Pengetahuan Neural

Enkoder Augmented Pengetahuan

Diberi input x dan dokumen yang diambil z, Knowledge Augmented Encoder mendefinisikan p(y|z,x). input x dan dokumen yang diambil z digabungkan menjadi satu urutan dan dimasukkan ke dalam model BERT yang berbeda dan representasi token [CLS] digunakan sebagai representasi gabungan dari urutan tersebut. Ide utamanya adalah untuk memungkinkan perhatian silang antara input x dan dokumen z sebelum memprediksi y.

Sekadar menyegarkan, gambar di bawah ini menunjukkan apa yang dilakukan cross attention- Dalam pengaturan encoder-decoder, di sisi decoder untuk setiap timestep yang didekode sejauh ini, representasi untuk setiap token dihitung ulang menggunakan cross attention. Artinya, dengan menggunakan setiap token yang didekode sejauh kueri dan menggunakan representasi dari lapisan terakhir dari encoder sebagai nilai kunci, perhatian dihitung dan setiap representasi token di sisi decoder dihitung ulang.

Untuk tugas pra-pelatihan Masked-Language-Model , model harus memprediksi nilai asli dari masked token di input x. Tujuan MLM yang sama digunakan seperti yang disajikan dalam kertas BERT.

Untuk pertanyaan Open-domain menjawab fine tuning task , kami ingin model menghasilkan jawaban y. Asumsi bahwa jawaban y dapat ditemukan sebagai rangkaian token yang berdekatan dalam beberapa dokumen z. Misalkan S(z, y) adalah himpunan bentang yang cocok dengan y dalam z. Kemudian p(y|z,x) dapat didefinisikan sebagai:

Representasi token awal dan akhir untuk rentang digunakan di Feed-Forward-Neural-Network untuk menghitung kemungkinan
Enkoder Augmented Pengetahuan

Menyuntikkan bias induktif ke pra-pelatihan

Penulis telah mempresentasikan beberapa strategi yang selanjutnya memandu model ke arah pengambilan yang lebih bermakna:

Penutup rentang yang menonjol

Untuk membuat model mempelajari pengetahuan dunia saat memprediksi token yang hilang selama MLM, penulis menutupi rentang yang menonjol yang berkaitan dengan entitas bernama. Mereka menggunakan name-entity-tagger berbasis BERT dan menutupi rentang yang ditandai sebagai entitas dan meminta model dalam pra-pelatihan REALM untuk memprediksi entitas yang disamarkan.

Dokumen nol

Pertimbangkan kasus ketika tidak ada dokumen yang perlu diambil untuk memprediksi token yang disamarkan — ini dimodelkan dengan menambahkan dokumen nol kosong ke dokumen teratas yang diambil.

Melarang pengambilan sepele

Di sini penulis telah mencoba untuk mengatasi masalah ketika korpus pra-pelatihan dan korpus pengetahuan adalah sama. Jika kalimat bertopeng x berasal dari dokumen z, penyandi pengetahuan dapat dengan mudah memprediksi y dengan melihat versi x yang tidak terselubung dalam dokumen z. Ini menghasilkan gradien positif yang besar — ​​jika ini terjadi terlalu sering, pengambil pengetahuan pada akhirnya akan belajar untuk mencari kecocokan string yang tepat antara input x dan dokumen z. Dengan demikian kandidat tersebut dikecualikan selama pra-pelatihan.

Inisialisasi — Mulai hangat Penyematan

Pada awal pelatihan jika retriever tidak memiliki penyematan yang baik untuk input x dan dokumen z, dokumen z yang diambil kemungkinan tidak akan terkait dengan input x. Ini menyebabkan penyandi pengetahuan belajar mengabaikan dokumen yang diambil. Setelah ini terjadi, pengambil pengetahuan tidak pernah menerima gradien yang berarti dan dengan demikian tidak dapat meningkat, menciptakan lingkaran setan. Untuk menghindari masalah mulai dingin ini, penulis melakukan awal yang hangat untuk penyematan ini dengan memanfaatkan BERT yang dilatih dengan tujuan pelatihan sederhana — Inverse Cloze Task (ICT) di mana diberikan kalimat, model dilatih untuk memprediksi konteks/dokumen asalnya.

Pelatihan

Tujuan pelatihan untuk pra-pelatihan dan fine-tuning adalah untuk memaksimalkan log kemungkinan log p(y|x) dari output yang benar y. Karena Neural Knowledge Retriever(θ) dan Knowledge Augmented Encoder(ϕ) adalah jaringan saraf yang dapat dibedakan, sehingga memungkinkan kita untuk menghitung gradien, menyebarkan kembali kesalahan dan memperbarui parameter model menggunakan penurunan gradien stokastik.

Tantangan utamanya adalah bahwa perhitungan probabilitas marjinal p(y|x) melibatkan penjumlahan atas semua dokumen z dalam korpus pengetahuan Z. Penulis telah memperkirakan hal ini dengan menjumlahkan dokumen top-k dengan probabilitas tertinggi. Penulis memanfaatkan algoritme Pencarian Produk Dalam Maksimum (MIPS) untuk menemukan perkiraan dokumen top-k menggunakan skor relevansi f(x,z) — produk dalam antara kueri dan penyematan dokumen.

Untuk menggunakan MIPS, indeks pencarian dibangun menggunakan penyematan dokumen seperti yang ditunjukkan pada gambar di atas untuk Neural Knowledge Retriever(θ) . Satu masalah di sini adalah bahwa indeks pencarian akan basi setiap kali parameter model diperbarui setelah setiap langkah .

Mengatasi masalah indeks pencarian MIPS basi dengan Asynchronous refresh

Penyematan ulang dan pengindeksan ulang asinkron

Salah satu solusi yang digunakan penulis adalah menyegarkan indeks pencarian dengan menyematkan ulang dan mengindeks ulang semua dokumen secara asinkron dengan kumpulan parameter model terbaru, setelah beberapa ratus langkah. Bahkan dengan solusi ini, indeks sedikit basi di antara penyegaran. Tetapi penulis menunjukkan secara empiris bahwa prosedur ini menghasilkan pengoptimalan yang stabil, asalkan penyegaran indeks terjadi pada tingkat yang cukup sering.

Dua pekerjaan: pelatih dan pembuat indeks

Gambar di bawah menunjukkan pra-pelatihan REALM dengan penyegaran MIPS asinkron. Dua pekerjaan berjalan pada titik waktu tertentu: pekerjaan pelatih utama — yang melakukan pembaruan gradien pada parameter dan pekerjaan pembuat indeks sekunder — yang menyematkan dan mengindeks dokumen. Seperti yang dapat dilihat dari gambar, pelatih mengirimkan snapshot parameternya kepada pembuat indeks, pelatih kemudian melanjutkan pelatihan sementara pembuat indeks menggunakan snapshot parameter terbaru untuk membuat indeks baru di latar belakang. Segera setelah indeks baru dibangun, itu dikirim ke pelatih.

Pilihan saat menyegarkan

Penulis telah menggunakan penyegaran asinkron hanya untuk pra-pelatihan sementara itu dapat digunakan untuk pra-pelatihan serta tugas penyempurnaan. Penulis menggunakan indeks MIPS yang dibuat sekali dan digunakan untuk menyempurnakan dan tidak memperbarui penyematan dokumen.

Salah satu eksperimen yang menarik untuk dilakukan adalah melihat — bagaimana kecepatan penyegaran indeks MIPS membantu kinerja model. Juga, dampak penggunaan banyak sumber untuk Kumpulan Pengetahuan.

Apa itu Pembelajaran Neural Knowledge Retriever?

Penulis telah menjelaskan dengan jelas bagaimana tujuan pelatihan mendorong pengambilan yang bermakna — dengan memberi penghargaan untuk pengambilan yang relevan dan menghukum untuk pengambilan yang tidak relevan.

Untuk kueri x dan dokumen z yang diberikan, skor relevansi f(x,z) diberikan oleh retriever ke dokumen z. Ini ditunjukkan bagaimana satu langkah penurunan gradien selama pra-pelatihan REALM mengubah skor ini dengan melihat gradien sehubungan dengan parameter Neural Knowledge 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 r(z) negatif.
  • r(z) positif iff p(y|z,x) > p(y|x) -> probabilitas memprediksi output yang benar ketika dokumen z lebih besar dari probabilitas output yang benar ketika secara acak mengambil sampel dokumen dari p(z| X). Dengan demikian, dokumen z menerima pembaruan positif saat kinerjanya lebih baik dari yang diharapkan. Derivasi rinci dari gradien disediakan dalam lampiran kertas

Penulis menyajikan perbandingan pendekatan REALM dengan sistem Open-QA berbasis Retrieval dan Open-QA berbasis Generasi. Sistem QA terbuka berbasis pengambilan pertama-tama mengambil dokumen yang relevan dan sistem pemahaman bacaan untuk mengekstrak jawaban dari dokumen. Sistem open-QA berbasis generatif memodelkan ini sebagai tugas prediksi urutan — menyandikan pertanyaan dan kemudian mendekode jawaban token-by-token berdasarkan pengkodean.

Penulis telah menggunakan kembali semua hyperparameter dari paper : Lee et al.(2019) . Anda dapat merujuk ke kertas untuk detail aktual tentang detail infra level tentang pelatihan seperti berapa banyak TPU yang digunakan, ukuran batch, dll.

Hasil pengujian pada benchmark Open-QA
  • Tabel 1 menunjukkan keakuratan pendekatan yang berbeda pada tiga dataset QA terbuka. Tabel juga menunjukkan jumlah parameter untuk setiap model.
  • Seperti yang dapat dilihat dari tabel, sistem QA terbuka Generatif berdasarkan T5 sangat kuat dan kinerjanya meningkat dengan ukuran model. Sebaliknya REALM(39.2, 40.4) mengungguli model T5–11B(34.5) sementara 30 kali lebih kecil .
  • Perbandingan paling langsung dari REALM adalah dengan ORQA di mana pengaturan fine-tuning, hyper-parameter, dan data pelatihan identik. Peningkatan yang terlihat di REALM dibandingkan ORQA disebabkan oleh metode pra-pelatihan yang lebih baik. Tabel juga menunjukkan bahwa pendekatan REALM dapat diterapkan baik pada — pengaturan korpus tunggal dan pengaturan korpus terpisah.
  • Penulis menghilangkan komponen kritis REALM dan menyajikan dampaknya. Untuk memahami apakah tugas MLM pra-pelatihan REALM meningkatkan retriever atau encoder, penulis mereset parameter baik retriever atau encoder ke pengaturan dasar mereka (seperti yang disajikan dalam makalah ORQA) sebelum pra-pelatihan dan memasukkannya ke dalam penyempurnaan.
  • Menyetel ulang retriever dan encoder akan mengurangi sistem ke ORQA dasar. Kesimpulan dari studi ablasi adalah bahwa kedua komponen mendapat manfaat dari pendekatan REALM tetapi kinerja terbaik dicapai ketika keduanya dilatih sebelumnya dengan REALM dan keduanya digunakan .

Sistem pencarian eksplisit memungkinkan penulis untuk beradaptasi dengan pengetahuan dunia baru hanya dengan memodifikasi dokumen korpus. Untuk mendemonstrasikan hal ini, penulis mengganti korpus pengetahuan dengan korpus Wikipedia versi yang lebih baru setelah pra-pelatihan dilakukan. Ketika kueri input adalah tentang fakta di mana kedua korpus tidak setuju, REALM dapat mengubah prediksi untuk mencerminkan informasi yang diperbarui. Namun, bahkan dengan mekanisme pengambilan pengetahuan eksplisit, encoder augmented pengetahuan akhirnya mengingat beberapa pengetahuan dunia, membuat prediksi beberapa kalimat input tidak diperbarui dengan korpus baru.