XYZNOT

Makalah · arXiv 1810.04805

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Terbit cs.CL arXivPDF

Baca dengan terjemahan dan AI

Ringkasan tiga baris

  1. 🎯 Pra-pelatihan model bahasa standar dibatasi oleh konteks searah (kiri-ke-kanan), yang bersifat suboptimal untuk tugas tingkat kalimat dan merugikan untuk tugas tingkat token seperti question answering.
  2. 🔧 Memperkenalkan BERT, yang melakukan pra-pelatihan enkoder Transformer dua arah multi-lapisan menggunakan objektif Masked Language Model (Cloze) dan Next Sentence Prediction.
  3. 📈 Mencapai hasil mutakhir pada 11 tugas NLP, termasuk skor GLUE 80,5 (+7,7 poin absolut) dan akurasi 86,7% pada MultiNLI (+4,6% absolut).

Abstrak

Kami memperkenalkan model representasi bahasa baru bernama BERT, yang merupakan singkatan dari Bidirectional Encoder Representations from Transformers. Tidak seperti model representasi bahasa terkini lainnya, BERT dirancang untuk melakukan pra-pelatihan representasi dua arah yang mendalam dari teks tanpa label dengan mengondisikan konteks kiri dan kanan secara bersamaan di semua lapisan. Hasilnya, model BERT yang telah melalui pra-pelatihan dapat di-fine-tune hanya dengan satu lapisan keluaran tambahan untuk menciptakan model mutakhir untuk berbagai tugas, seperti question answering dan inferensi bahasa, tanpa modifikasi arsitektur khusus tugas yang substansial. BERT secara konseptual sederhana dan kuat secara empiris. Model ini memperoleh hasil mutakhir baru pada sebelas tugas pemrosesan bahasa alami, termasuk mendorong skor GLUE menjadi 80,5% (peningkatan absolut 7,7 poin persentase), akurasi MultiNLI menjadi 86,7% (peningkatan absolut 4,6%), Test F1 question answering SQuAD v1.1 menjadi 93,2 (peningkatan absolut 1,5 poin), dan Test F1 SQuAD v2.0 menjadi 83,1 (peningkatan absolut 5,1 poin).

Abstrak asli (bahasa Inggris)

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).

Panduan membaca

Masalah dan motivasi

Model representasi bahasa terdahulu bergantung pada pendekatan berbasis fitur (seperti ELMo) atau pendekatan fine-tuning (seperti OpenAI GPT). Meskipun efektif, kedua paradigma tersebut dibatasi oleh objektif pemodelan bahasa searah: model autoregresif standar memproses teks secara ketat dari kiri-ke-kanan (atau kanan-ke-kiri). Dalam model searah, token hanya dapat memperhatikan token sebelumnya pada lapisan self-attention untuk mencegah kata "melihat dirinya sendiri" secara trivial di sepanjang konteks multi-lapisan. ELMo mencoba menerapkan sifat dua arah dengan menggabungkan LSTM kiri-ke-kanan dan kanan-ke-kiri yang dilatih secara terpisah secara dangkal, tetapi cara ini gagal menangkap pengondisian bersama yang mendalam pada konteks dua arah di setiap lapisan. Karakter searah ini membatasi representasi tingkat kalimat dan sangat merugikan untuk tugas hilir tingkat token seperti question answering, di mana pemahaman konteks kiri dan kanan secara simultan sangatlah penting.

Ide utama

  • Arsitektur Deep Bidirectional Transformer: BERT menggunakan enkoder Transformer dua arah multi-lapisan, yang memungkinkan lapisan self-attention untuk mengondisikan konteks kiri dan kanan secara bersamaan di semua lapisan.
  • Masked Language Model (MLM): Terinspirasi oleh tugas Cloze, BERT secara acak menyamarkan (mask) 15% dari token masukan dan melatih model untuk memprediksi token yang disamarkan tersebut menggunakan konteksnya, menyelesaikan masalah trivialitas "melihat dirinya sendiri".
  • Mitigasi Ketidakcocokan Pra-pelatihan/Fine-tuning: Karena token [MASK] tidak muncul selama fine-tuning, 15% token yang dipilih diganti dengan [MASK] sebanyak 80% dari waktu, token acak sebanyak 10% dari waktu, dan dibiarkan tidak berubah sebanyak 10% dari waktu.
  • Next Sentence Prediction (NSP): Untuk menangkap hubungan pasangan kalimat yang krusial bagi Natural Language Inference (NLI) dan Question Answering (QA), BERT melakukan pra-pelatihan pada tugas biner yang memprediksi apakah kalimat secara alami mengikuti kalimat () atau merupakan kalimat acak dari korpus ().
  • Arsitektur Terpadu untuk Tugas Hilir: Arsitektur pra-pelatihan yang sama persis digunakan kembali untuk tugas hilir dengan penambahan parameter minimal (misalnya, head klasifikasi linear sederhana atau penunjuk rentang awal/akhir).

Metode

Konfigurasi Model

BERT dievaluasi terutama pada dua ukuran:

  • : lapisan, ukuran tersembunyi , attention head, total parameter = .
  • : lapisan, ukuran tersembunyi , attention head, total parameter = . Ukuran filter feed-forward adalah .

Representasi Masukan dan Keluaran

Masukan dapat merepresentasikan satu sekuens teks tunggal atau sepasang kalimat yang dikemas bersama. Embedding dibangun dengan menjumlahkan:

  1. Token embedding WordPiece (kosakata 30.000 token).
  2. Segment embedding (embedding yang dipelajari untuk mengidentifikasi apakah sebuah token berasal dari kalimat atau kalimat ).
  3. Positional embedding yang dipelajari.

Setiap sekuens dimulai dengan [CLS]. Vektor tersembunyi akhirnya, , merepresentasikan agregat sekuens. Pasangan kalimat dipisahkan oleh [SEP]. Representasi tersembunyi token akhir dilambangkan dengan .

Objektif Pra-pelatihan

  1. Masked LM: Diberikan token yang disamarkan , representasi diumpankan ke softmax atas seluruh kosakata dengan cross-entropy loss:
  2. Next Sentence Prediction: Vektor agregat diumpankan ke klasifikasi biner: Loss pra-pelatihan keseluruhan adalah jumlah dari rata-rata likelihood masked LM dan rata-rata likelihood next sentence prediction.

Adaptasi Fine-tuning

  • Klasifikasi (GLUE): Menambahkan matriks proyeksi , loss dihitung sebagai .
  • Ekstraksi Rentang (SQuAD v1.1): Mempelajari vektor awal dan vektor akhir . Probabilitas bahwa token adalah awal dari rentang jawaban adalah: Skor untuk rentang adalah , yang dimaksimalkan atas .
  • Pertanyaan Tanpa Jawaban (SQuAD v2.0): Diperluas dengan mengizinkan token [CLS] berfungsi sebagai rentang jawaban null, mencetak skor , dan memprediksi jawaban non-null hanya jika .

Hasil

BERT dievaluasi pada 11 tugas NLP:

  • Papan Peringkat GLUE: mencapai skor rata-rata GLUE sebesar 80,5% (peningkatan absolut 7,7% dibandingkan model mutakhir sebelumnya) dan akurasi 86,7% pada MNLI (keuntungan absolut 4,6%).
  • SQuAD v1.1: mencapai 84,1 EM dan 90,9 F1 pada Dev sebagai model tunggal; ansambel dengan pra-pelatihan TriviaQA mencapai 87,4 EM dan 93,2 F1 pada Test set, melampaui performa manusia (82,3 EM / 91,2 F1).
  • SQuAD v2.0: mencapai 80,0 EM dan 83,1 F1 pada Test set, melampaui sistem terbaik sebelumnya sebesar +5,1 F1.
  • SWAG: mencetak akurasi 86,3% pada Test, mengungguli OpenAI GPT (78,0%) dan baseline pakar manusia (85,0%).
  • Temuan Ablasi: Menghapus NSP menurunkan performa di seluruh MNLI (-0,5%), QNLI (-3,5%), dan F1 SQuAD (-0,6%). Mengganti MLM dengan LM Kiri-ke-Kanan (LTR) standar menyebabkan penurunan besar pada SQuAD (-10,7 F1) dan MRPC (akurasi -9,2%).

Keterbatasan dan pertanyaan terbuka

  • Kesenjangan Pra-pelatihan / Fine-tuning: Token buatan [MASK] tidak pernah muncul selama fine-tuning, sehingga memerlukan aturan penggantian heuristik (80/10/10) untuk memitigasi ketidakcocokan.
  • Efisiensi Pra-pelatihan: Karena BERT hanya memprediksi 15% token per batch alih-alih 100% token seperti pada model autoregresif standar, model ini memerlukan lebih banyak langkah pra-pelatihan (1.000.000 langkah dengan 128.000 token/batch) untuk konvergen.
  • Bottleneck Komputasi Kuadratik Attention: Perhatian Transformer standar berskala kuadratik () terhadap panjang sekuens, membuat sekuens panjang memakan biaya komputasi besar dan memerlukan strategi pra-pelatihan dua fase (90% langkah pada panjang sekuens 128, 10% langkah pada 512).
  • Ketidaksesuaian untuk Pembangkitan Teks: Sebagai enkoder dua arah, BERT secara langsung distrukturkan untuk tugas representasi dan diskriminatif pada tahap hilir, serta tidak dapat melakukan pembangkitan teks autoregresif kiri-ke-kanan secara langsung tanpa modifikasi arsitektur.

Istilah kunci

Masked Language Model (MLM)
Objektif pra-pelatihan yang terinspirasi oleh tugas Cloze di mana token masukan acak digantikan oleh mask dan model dilatih untuk merekonstruksi token asli berdasarkan konteks dua arah yang mendalam.
Next Sentence Prediction (NSP)
Tugas pra-pelatihan biner di mana model memprediksi apakah segmen kalimat kedua tertentu secara logis mengikuti segmen pertama atau diambil secara acak dari korpus.
[CLS]
Token klasifikasi khusus yang ditempatkan di awal setiap sekuens yang status tersembunyi akhirnya digunakan sebagai representasi sekuens agregat untuk tugas klasifikasi.
[SEP]
Token khusus yang digunakan untuk memisahkan segmen kalimat yang tidak berurutan atau berbeda dalam satu sekuens masukan yang dikemas bersama.
WordPiece
Algoritma tokenisasi subkata yang digunakan oleh BERT dengan kosakata 30.000 token untuk menangani kata di luar kosakata (OOV) dan membagi kata menjadi unit subkata.
Segment Embeddings
Embedding terpelajari yang ditambahkan ke embedding token masukan untuk membedakan apakah suatu token termasuk dalam rentang kalimat A atau rentang kalimat B pada pasangan kalimat yang dikemas.
Fine-tuning
Strategi pelatihan hilir di mana semua parameter BERT yang telah melalui pra-pelatihan diperbarui secara menyeluruh (end-to-end) bersama dengan lapisan keluaran khusus tugas yang minimal menggunakan data berlabel.
Feature-based approach
Strategi alternatif di mana representasi kontekstual tetap diekstraksi dari lapisan BERT tanpa memperbarui parameternya, kemudian diumpankan ke dalam arsitektur terpisah khusus tugas.

Pertanyaan

Mengapa BERT mengganti token yang disamarkan dengan token acak atau membiarkannya tidak berubah alih-alih selalu menggunakan [MASK]?

Karena token [MASK] tidak pernah muncul selama tahap fine-tuning, mengganti setiap token target dengan [MASK] akan menimbulkan kesenjangan antara pra-pelatihan dan fine-tuning. BERT memitigasi hal ini dengan mengganti token terpilih dengan [MASK] sebanyak 80% dari waktu, token acak sebanyak 10% dari waktu, dan token asli tanpa perubahan sebanyak 10% dari waktu, memaksa model mempertahankan representasi terdistribusi dari semua token.

Apa perbedaan antara BERT dan OpenAI GPT?

Meskipun keduanya merupakan model fine-tuning berbasis Transformer, OpenAI GPT menggunakan dekoder Transformer kiri-ke-kanan di mana attention dibatasi sehingga setiap token hanya dapat memperhatikan token sebelumnya. BERT menggunakan enkoder Transformer dua arah di mana attention memperhatikan konteks kiri dan kanan di semua lapisan secara bersamaan, yang dimungkinkan oleh objektif pra-pelatihan masked language model.

Bisakah BERT digunakan sebagai ekstraktor fitur alih-alih di-fine-tune secara menyeluruh (end-to-end)?

Bisa. Pada tugas Named Entity Recognition CoNLL-2003, mengekstraksi dan menggabungkan aktivasi token dari empat lapisan tersembunyi teratas BERT dan mengumpankannya ke BiLSTM 2-lapisan berhasil mencapai 96,1 Dev F1, hanya terpaut 0,3 F1 di belakang fine-tuning penuh seluruh model (96,4 F1).

Mengapa BERT menggunakan jadwal panjang sekuens pra-pelatihan dua fase?

Kompleksitas komputasi self-attention bersifat kuadratik terhadap panjang sekuens. Untuk menghemat waktu komputasi, BERT melakukan pra-pelatihan dengan panjang sekuens 128 untuk 900.000 langkah pertama (90% pelatihan), lalu melatih dengan panjang sekuens 512 untuk 100.000 langkah sisanya guna mempelajari positional embedding.

Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.

Baca dengan terjemahan dan AI