BERT nedir?
- Makine Öğrenmesi kursu
- Uzman
- Ders 17/44
- 5 dk
BERT (Bidirectional Encoder Representations from Transformers), çift yönlü dil anlama modelidir.
BERT nedir?
BERT (Bidirectional Encoder Representations from Transformers, 2018), yalnızca transformer encoder bloklarından oluşan, büyük metin üzerinde önceden eğitilmiş bir modeldir. Her kelime hem solundaki hem sağındaki bağlamı görür (çift yönlü).
- Ön eğitim: etiketsiz metinle maskeli dil modeli.
- İnce ayar (fine-tuning): az etiketli veriyle sınıflandırma, soru-cevap, varlık tanıma.
# BERT-base: 12 katman, d_model = 768, 12 baş, FFN 3072, ~110M parametre
# BERT-large: 24 katman, d_model = 1024, 16 baş, ~340M parametreGPT'nin aksine BERT metin üretmek için değil, metni anlamak (temsil üretmek) için tasarlanmıştır.
110 milyon nereden geliyor?
Parametreleri parça parça saymak, modelin nerede "ağır" olduğunu gösterir:
V, L, T, d, f = 30522, 512, 2, 768, 3072
gomme = (V + L + T) * d + 2 * d # kelime + konum + segment + LayerNorm
katman = 4 * (d * d + d) + 2 * d + (d * f + f + f * d + d) + 2 * d
pooler = d * d + d
print(gomme + 12 * katman + pooler)Kelime gömme tablosu tek başına ~23 milyondur; her katmanın üçte ikisi FFN'dedir.
Uygulama BERT-base parametreleri
Verilen ayarlarla gömme, tek katman ve pooler parametre sayılarını hesapla. Üçünü aynı satırda, ardından toplamı (12 katmanla) yazdır. Son olarak bir katmanda FFN'in payını round(..., 3) ile yazdır.
Başlangıç kodu
V, L, T, d, f = 30522, 512, 2, 768, 3072
# buraya yazÖrnek çözüm
V, L, T, d, f = 30522, 512, 2, 768, 3072
gomme = (V + L + T) * d + 2 * d
ffn = d * f + f + f * d + d
katman = 4 * (d * d + d) + 2 * d + ffn + 2 * d
pooler = d * d + d
print(gomme, katman, pooler)
print(gomme + 12 * katman + pooler)
print(round(ffn / katman, 3))Beklenen çıktı
23837184 7087872 590592 109482240 0.666
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 BERT'i GPT'den ayıran temel mimari özellik nedir?
- Daha çok katman
- RNN kullanması
- Dikkat kullanmaması
- Çift yönlü encoder; nedensel maske yok Doğru cevap
Açıklama: BERT her konumda tüm cümleyi görür; GPT yalnızca solu görür.
2 Dikkatin dört projeksiyonunu (Q, K, V, çıkış) say.
dikkat = ____ * (d * d + d)
dikkat = 4 * (d * d + d)
Açıklama: Q, K, V ve çıkış projeksiyonu: dört d×d matris ve sapmaları.
3 BERT-base ayarlarını eşleştir.
| Kavram | Anlamı |
|---|---|
katman |
12 |
d_model |
768 |
FFN boyutu |
3072 |
sözlük |
30522 |