Bidirectional Encoder Representations from Transformers - Model untuk "memahami" teks
BERT pada Level Neuron & Edge
BERT adalah tumpukan Transformer Encoder. Di bawah ini terlihat bagaimana neuron-neuron di dalam BERT memproses kalimat dengan bidirectional attention - setiap neuron bisa "melihat" semua neuron lain.
Klik untuk melihat alur data melalui neuron-neuron BERT Encoder
Perbedaan key di level neuron:
- BERT: Semua neuron di attention layer saling terhubung (bidirectional) - edge ada ke SEMUA arah
- GPT: Edge di attention hanya mengarah ke neuron sebelumnya (causal) - neuron tidak bisa terhubung ke "masa depan"
Ini terlihat jelas di pattern koneksi/edge antara neuron-neuron pada layer Self-Attention.
BERT vs GPT: Encoder vs Decoder
BERT (Encoder-only)
- Menggunakan bagian Encoder dari Transformer
- Bidirectional: melihat kata kiri DAN kanan
- Tugas: memahami/klasifikasi teks
- Contoh: sentiment analysis, NER, QA
- Training: Masked Language Model (MLM)
GPT (Decoder-only)
- Menggunakan bagian Decoder dari Transformer
- Unidirectional: hanya melihat kata sebelumnya
- Tugas: menghasilkan/generate teks
- Contoh: chatbot, writing, coding
- Training: Next Token Prediction
1. Masked Language Model (MLM) - Cara BERT Belajar
BERT belajar dengan cara menyembunyikan (mask) beberapa kata dalam kalimat, lalu mencoba menebaknya. Ini memaksa BERT memahami konteks dari kedua arah.
Input: [CLS] kucing [MASK] sedang [MASK] di atas sofa [SEP]
Target: hitam, tidur
Proses MLM:
1. Ambil kalimat, mask 15% kata secara random
2. BERT memproses kalimat dengan bidirectional attention
3. Untuk setiap kata yang di-mask, BERT memprediksi kata aslinya
4. Loss dihitung hanya pada kata yang di-mask
5. Weights diupdate via backpropagation
Bidirectional: Untuk menebak [MASK] di "kucing [MASK] sedang tidur", BERT melihat "kucing" (kiri) DAN "sedang tidur" (kanan) → menebak "hitam"
2. Bidirectional Attention: Melihat Semua Arah
Tidak seperti GPT yang hanya melihat kata sebelumnya, BERT melihat seluruh kalimat saat memproses setiap kata.
Mengapa bidirectional penting?
Contoh: "Saya pergi ke bank untuk mengambil uang" vs "Saya duduk di tepi bank sungai"
Kata "bank" sama tapi artinya berbeda! Hanya dengan melihat konteks dari KEDUA arah, model bisa membedakannya. Inilah kekuatan BERT.
3. Fine-tuning: Dari Pre-trained ke Task Spesifik
Setelah pre-training dengan MLM, BERT di-fine-tune untuk tugas spesifik. Token [CLS] digunakan sebagai representasi seluruh kalimat.
Transfer Learning: BERT hanya perlu di-pre-train sekali (mahal, butuh banyak data dan GPU). Setelah itu, bisa di-fine-tune untuk berbagai tugas dengan data yang jauh lebih sedikit!
Tasks: Sentiment Analysis, Named Entity Recognition (NER), Question Answering, Text Classification, dll.
Referensi:
[1] J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, "BERT: Pre-training of deep bidirectional transformers for language understanding," in Proc. 2019 Conf. North American Chapter of the Association for Computational Linguistics (NAACL-HLT), 2019, pp. 4171-4186.
[2] A. Vaswani et al., "Attention is all you need," in Advances in Neural Information Processing Systems (NeurIPS), vol. 30, 2017, pp. 5998-6008.
[3] Y. Liu et al., "RoBERTa: A robustly optimized BERT pretraining approach," arXiv preprint arXiv:1907.11692, 2019. Lihat semua referensi →