BERT (Bidirectional Encoder Representations from Transformers)
BERT, Google'ın iki yönlü transformer kodlayıcısıdır; her iki yönden de maskelenmiş sözcükleri tahmin etmek üzere önceden eğitilmiştir. Nasıl çalıştığı, ince ayar ve çeşitleri.
BERT (Dönüştürücülerden Çift Yönlü Kodlayıcı Temsilleri), tüm cümleyi tek seferde okuyan ve her sözcüğün temsilini iki yanındaki sözcüklerden oluşturan bir dönüştürücü kodlayıcıdır. Google AI Language'dan Jacob Devlin, Ming-Wei Chang, Kenton Lee ve Kristina Toutanova, modeli Ekim 2018'de BERT: Dil Anlama için Derin Çift Yönlü Dönüştürücülerin Ön Eğitimi başlıklı makalelerinde tanıttı; makale, NAACL 2019'un en iyi uzun makale ödülünü kazandı. Tek bir önceden eğitilmiş BERT'e fazladan bir çıktı katmanı ekleyerek ince ayar yapmak, on bir doğal dil işleme (NLP) görevinde yeni en iyi sonuçları getirdi; GLUE kıyaslama puanını 7,7 puanlık mutlak artışla %80,5'e, SQuAD v1.1 soru yanıtlama test F1 puanını ise 93,2'ye çıkardı.
BERT Nasıl Önceden Eğitilir#
BERT-Base, her biri 768 boyutlu gizli durumlara ve 12 dikkat başlığına sahip 12 kodlayıcı katmanını üst üste dizer ve yaklaşık 110 milyon parametre içerir; BERT-Large ise 24 katmana, 1.024 boyuta, 16 başlığa ve 340 milyon parametreye sahiptir. Girdi metni, 30.000 belirteçlik bir söz dağarcığına sahip WordPiece belirteçlemesi ile parçalara ayrılır; özel bir [CLS] belirteci her dizinin başında yer alır ve [SEP] bir cümle çiftinin iki bölümünü ayırır. Google, her iki boyutu da BooksCorpus (800 milyon sözcük) ve İngilizce Wikipedia (2.500 milyon sözcük) üzerinde iki öz denetimli amaçla önceden eğitti.
Maskeli dil modelleme (MLM), belirteç konumlarının %15'ini seçer; bunların %80'ini [MASK] ile değiştirir, %10'una rastgele bir belirteç koyar ve %10'unu olduğu gibi bırakır; model de özgün belirteçleri tahmin eder. BERT'in öz dikkati nedensel bir maske kullanmaz; bu nedenle her tahmin her iki yöndeki bağlamdan yararlanır. Soldan sağa çalışan bir dil modeli bunu yapamaz. Sonraki cümle tahmini (NSP), her bölümü zamanın yarısında gerçek devam cümlesiyle, diğer yarısında ise rastgele bir cümleyle eşleştirir; [CLS] çıktısı üzerindeki bir sınıflandırıcı da bu ikisini ayırt etmeyi öğrenir.
Önceden eğitilmiş bir kontrol noktası, maskeli sözcük başlığını korur; böylece özgün model boşluğu doğrudan doldurabilir:
from transformers import pipeline
# # BERT, maskelenmiş bir sözcüğü iki yanındaki sözcüklerden tahmin eder
fill = pipeline("fill-mask", model="bert-base-uncased")
for text in ["She went to the [MASK] to buy bread.", "She went to the [MASK] to see a doctor."]:
predictions = fill(text, top_k=3)
print(text, [(p["token_str"], round(p["score"], 2)) for p in predictions])İki cümle yalnızca boşluktan sonra farklıdır ve BERT'in en yüksek puanlı tahmini "market" (0.82) sözcüğünden "hospital" (0.78) sözcüğüne değişir. Soldan sağa okuyan bir model, her iki cümlede de "She went to the" ifadesini görür ve aralarında ayrım yapmasını sağlayacak bir bilgi bulamaz.
İnce Ayar ve Uygulamalar#
İnce ayar, küçük bir görev katmanı ekler ve tüm ağırlıkları etiketli örneklerle eğitir; bu yaklaşım aktarımı öğrenmeyi NLP'de varsayılan hâle getirdi. [CLS] vektörü, duygu analizi gibi cümle düzeyindeki sınıflandırıcıları besler; her belirtecin vektörü, adlandırılmış varlık tanıma (NER) gibi etiketleme görevlerini besler; belirteçler üzerindeki başlangıç ve bitiş puanlarıysa yanıt aralıklarını çıkarır.
Google, Ekim 2019'da ABD'de İngilizce aramaların onda birinde BERT kullanmaya başladı ve BERT'in "2019 brazil traveler to usa need a visa" sorgusunda "to" sözcüğünün Brezilyalı bir kişinin ABD'ye seyahat ettiğini belirttiğini fark etmesini örnek gösterdi. Ekim 2020'ye gelindiğinde BERT neredeyse tüm İngilizce sorgularda çalışıyordu. BERT ailesindeki kodlayıcılar, anlamsal aramanın temelindeki gömme vektörlerini de üretir: Sentence-BERT, her cümleyi vektör arama için tek bir vektöre eşlemek üzere BERT'e ince ayar yapar; ColBERT her belirteç için bir vektör tutar; çapraz kodlayıcı yeniden sıralayıcılar ise getirme artırımlı üretim (RAG) hatlarında sorgu ve metin parçası çiftlerini puanlar.
Görüntü-dil tespitinde Grounding DINO, metin istemlerini görüntü bölgeleriyle eşleştirmeden önce BERT-base kodlayıcısıyla kodlar. Bu model, Ultralytics Platform'un sınıf istemli akıllı etiketleme özelliğinde barındırılan modellerden biridir; bir veri kümesinin sınıf adlarını, YOLO26 algılayıcısını eğitmek için düzenlenebilir kutulara dönüştürür. Maskeli tahmin görüntülere de taşındı: görüntü dönüştürücüsü (ViT), sınıflandırma için BERT'in [CLS] belirtecini kullandı; maskeli otomatik kodlayıcılar (MAE) ise görüntü yamalarının %75'ini gizleyip yeniden oluşturarak görüntü kodlayıcılarını önceden eğitir.
BERT, GPT ve Sonraki Kodlayıcılar#
GPT modelleri, nedensel maskeli dönüştürücü kod çözücülerden oluşur; bu nedenle sonraki her belirteci kendinden önce gelen belirteçlerden tahmin eder ve metin üretimine uygundur. BERT, her girdi belirteci için bir vektör üretir; bu da onu sınıflandırma, bilgi çıkarımı ve getirme görevlerine uygun kılar, ancak soldan sağa metin yazmak için yerleşik bir yöntemi yoktur. Milyarlarca parametreli bir büyük dil modeli (LLM), aynı anlama görevlerinin çoğunu istemler üzerinden yerine getirir; ancak sorgu başına maliyeti 110 milyon parametreli bir kodlayıcıdan kat kat yüksektir.
Daha sonraki kodlayıcılar yöntemi geliştirdi. Meta'nın RoBERTa'sı NSP'yi kaldırdı ve yaklaşık 160 GB metin üzerinde daha büyük yığınlarla daha uzun süre eğitim yaptı; böylece BERT'in ciddi ölçüde yetersiz eğitildiğini gösterdi. Hugging Face'in DistilBERT'i ise parametre sayısını %40 azaltmak ve %60 daha hızlı çalışmak için bilgi damıtımından yararlanırken, BERT'in dil anlama performansının %97'sini korudu. Answer.AI ve LightOn tarafından Aralık 2024'te yayımlanan ModernBERT, BERT'in 512 belirteçlik sınırının 16 katı olan 8.192 belirteçlik yerel bağlam uzunluğuyla 2 trilyon belirteç üzerinde eğitildi.










