Yapay zeka modelleri ve platformları
Kod Tabanlı Büyük Dil Modelleri: Tam Bir Rehber
Büyük Dil Modelleri (LLM’ler), doğal dil işleme alanında insan benzeri metin oluşturma, soru cevaplama ve dil ile ilgili çeşitli görevlerde dikkat çekici yetenekler sergileyerek devrim yaratmıştır. Bu güçlü modellerin temelinde, kod tabanlı transformer mimarisi yatmaktadır. Bu, orijinal transformer mimarisinin bir varyantıdır ve Vaswani et al. tarafından “Dikkat Her Şeydir” adlı makalede önerilmiştir.
Bu kapsamlı rehberde, kod tabanlı LLM’lerin iç işleyişini keşfedeceğiz, temel yapı taşlarını, mimari yenilikleri ve uygulamaları inceleyeceğiz. Bu modellerin doğal dil işleme araştırmaları ve uygulamalarında ön plana çıkaran faktörleri keşfedeceğiz.
Transformer Mimarisi: Bir Hatırlatma
Kod tabanlı LLM’lerin spesifiklerine dalmadan önce, transformer mimarisini yeniden ziyaret etmek önemlidir. Transformer, dizi modellemesine yeni bir yaklaşım getirdi ve sadece dikkat mekanizmalarına dayanarak verideki uzun menzilli bağımlılıkları yakalamak için yeniden eden veya konvolüsyonel katmanlara ihtiyaç duymadı.
Orijinal transformer mimarisi iki ana bileşenden oluşur: bir kodlayıcı ve bir dekoder. Kodlayıcı, girdi dizisini işler ve bir bağlamlaştırma temsilini üretir, ardından dekoder tarafından çıktı dizisini üretmek için tüketilir. Bu mimari ilk olarak makine çevirisi görevleri için tasarlandı, burada kodlayıcı, kaynak dildeki girdi cümlesini işler ve dekoder, hedef dildeki karşılık gelen cümleyi üretir.
Kendine Dikkat: Transformer’ın Başarısının Anahtarı
Transformer’ın kalbinde, transformer bulunan kendine dikkat mekanizması yer alır. Bu güçlü teknik, modelin girdi dizisindeki farklı pozisyonlardan bilgiyi tartıp birleştirmesine olanak tanır. Geleneksel dizi modellerinin aksine, girdi tokenlerini sıralı olarak işleyen kendine dikkat, modelin herhangi iki token arasındaki bağımlılıkları yakalamasını sağlar, tokenlerin dizideki konumuna bakılmaksızın.
Kendine dikkat işlemi üç ana adımdan oluşur:
- Sorgu, Anahtar ve Değer Projeksiyonları: Girdi dizisi, üç ayrı temsile projeksiyonlanır: sorgular (Q), anahtarlar (K) ve değerler (V). Bu projeksiyonlar, girdi ile öğrenilen ağırlık matrislerinin çarpılmasıyla elde edilir.
- Dikkat Skoru Hesaplanması: Girdi dizisindeki her konum için, dikkat skorları, ilgili sorgu vektörü ile tüm anahtar vektörlerinin nokta çarpımı alınarak hesaplanır. Bu skorlar, her konumun当前 konumla olan alakasını temsil eder.
- Değerlerin Ağırlıklı Toplamı: Dikkat skorları, softmax fonksiyonu kullanılarak normalize edilir ve elde edilen dikkat ağırlıkları, değer vektörlerinin ağırlıklı toplamını hesaplamak için kullanılır, böylece current konumun çıktı temsilini üretir.
Çoklu başlı dikkat, kendine dikkat mekanizmasının bir varyantıdır ve modelin farklı ilişkileri yakalamak için birden fazla “baş” üzerinden dikkat skorlarını paralel olarak hesaplamasını sağlar, her biri kendi sorgu, anahtar ve değer projeksiyonlarına sahiptir.
Mimari Varyantlar ve Konfigürasyonlar
Kod tabanlı LLM’lerin temel prensipleri tutarlı kalırken, araştırmacılar performansı, verimliliği ve genellemeyi artırmak için çeşitli mimari varyantlar ve konfigürasyonlar keşfettiler. Bu bölümde, farklı mimari seçimleri ve bunların etkilerini inceleyeceğiz.
Mimari Tipleri
Kod tabanlı LLM’ler üç ana tipe ayrılabilir: kodlayıcı-dekoder, nedenli dekoder ve ön ek dekoder. Her mimari tipi, kendine özgü dikkat desenlerine sahiptir.
Kodlayıcı-Dekoder Mimarisi
Vanilya Transformer modeline dayanan kodlayıcı-dekoder mimarisi, iki yığın içerir: bir kodlayıcı ve bir dekoder. Kodlayıcı, yığınlanmış çoklu başlı kendine dikkat katmanlarını kullanarak girdi dizisini kodlar ve gizli bir temsil üretir. Dekoder, bu temsili kullanarak hedef dizisini üretir. Various NLP görevlerinde etkili olmasına rağmen, birkaç LLM, chẳng hạn như Flan-T5, bu mimariyi benimser.
Nedenli Dekoder Mimarisi
Nedenli dekoder mimarisi, bir tek yönlü dikkat maskesini içerir, böylece her girdi tokeni yalnızca geçmiş tokenlere ve kendisine dikkat edebilir. Hem girdi hem de çıktı tokenleri aynı dekoder içinde işlenir. Önemli modeller gibi GPT-1, GPT-2 ve GPT-3, bu mimariye dayanır ve GPT-3, dikkat çekici bağlamsal öğrenme yetenekleri sergiler. Çoğu LLM, OPT, BLOOM ve Gopher de nedenli dekoderleri geniş çapta benimser.
Ön Ek Dekoder Mimarisi
Ön ek dekoder mimarisi, nedenli dekoderlerin masking mekanizmasını değiştirir ve ön ek tokenleri üzerinde çift yönlü dikkat ve üretilen tokenler üzerinde tek yönlü dikkat sağlar. Kodlayıcı-dekoder mimarisi gibi, ön ek dekoderler ön ek dizisini çift yönlü olarak kodlayabilir ve çıktı tokenlerini otoregresif olarak paylaşılan parametreler kullanarak üretebilir. Ön ek dekoder kullanan LLM’ler arasında GLM130B ve U-PaLM bulunur.
Tüm üç mimari tipi, karışım uzmanları (MoE) ölçekleme tekniği kullanılarak genişletilebilir, bu teknik her girdi için nöral ağ ağırlıklarının bir alt kümesini seçili olarak etkinleştirir. Bu yaklaşım, Switch Transformer ve GLaM gibi modellerde kullanılmıştır ve uzman veya toplam parametre sayısının artırılması önemli performans iyileştirmeleri göstermiştir.
Kod Tabanlı Transformer: Otoregresif Doğanın Kabulü
Orijinal transformer mimarisi, dizi-dizi görevleri gibi makine çevirisi için tasarlanırken, birçok NLP görevi, dil modelleme ve metin oluşturma gibi, otoregresif sorunlar olarak çerçevelendirilebilir, burada model bir tokeni bir kez üretir, öncekinden üretilen tokenlere bağlı olarak.
Kod tabanlı transformer, transformer mimarisinin basitleştirilmiş bir varyantıdır ve yalnızca dekoder bileşenini korur. Bu mimari, otoregresif görevler için özellikle uygundur, çünkü çıktı tokenlerini birer birer üretir, öncekinden üretilen tokenleri girdi bağlamı olarak kullanır.
Kod tabanlı transformer ve orijinal transformer dekoderi arasındaki ana fark, kendine dikkat mekanizmasındaki farklılıktır. Kod tabanlı ayarlarda, kendine dikkat işlemi, modelin gelecekteki tokenlere dikkat etmesini önlemek için değiştirilir, bu özellik nedenliliktir. Bu, dikkat skorlarının gelecekteki konumlar için negatif sonsuza ayarlanmasıyla gerçekleştirilir, böylece softmax normalize etme adımında bunları etkili bir şekilde maskeleyerek gizler.
Kod Tabanlı LLM’lerin Mimari Bileşenleri
Kendine dikkat ve maskeleme kendine dikkat prensipleri aynı kalırken, modern kod tabanlı LLM’ler performansı, verimliliği ve genellemeyi artırmak için çeşitli mimari yenilikler ve teknikler uygulamıştır. Bazı önemli bileşenleri ve teknikleri inceleyeceğiz.
Girdi Temsili
Girdi dizisini işlemeden önce, kod tabanlı LLM’ler tokenleştirme ve gömme tekniklerini kullanarak ham metni, modele uygun bir sayısal temsile dönüştürür.
Tokenleştirme: Tokenleştirme işlemi, girdi metnini tokenlerin bir dizisine dönüştürür, bu tokenler kelimeler, alt kelimeler veya hatta bireysel karakterler olabilir, kullanılan tokenleştirme stratejilerine bağlı olarak. Popüler tokenleştirme teknikleri arasında Bayt Eşleme Kodlaması (BPE), Cümle Parçası ve Kelime Parçası bulunur. Bu yöntemler, sözlük boyutu ile temsil granülülüğü arasında bir denge kurmaya çalışır, böylece model nadir veya sözlük dışı kelimeleri etkili bir şekilde işleyebilir.
Token Gömmeleri: Tokenleştirme之后, her token bir dense vektör temsiline, yani bir token gömmesine, eşlenir. Bu gömmeler, eğitim过程inde öğrenilir ve tokenler arasındaki anlamsal ve sentaktik ilişkileri yakalar.
Konumsal Gömmeler: Transformer modelleri, tüm girdi dizisini aynı anda işler, ancak yinelemeli modellerde bulunan token konumlarının içkin kavramını içermez. Konum bilgisini dahil etmek için, token gömmelerine konumsal gömmeler eklenir, böylece model tokenleri konumlarına göre ayırt edebilir. İlk LLM’ler sabit konumsal gömmeleri sinusoidal fonksiyonlara dayalı olarak kullanırken, daha yeni modeller öğrenilebilir konumsal gömmeler veya rotary konumsal kodlama gibi alternatif konumsal kodlama tekniklerini keşfetmiştir.
Çoklu Başlı Dikkat Blokları
Kod tabanlı LLM’lerin temel yapı taşları, çoklu başlı dikkat katmanlarıdır, bunlar maskeleme kendine dikkat işlemini gerçekleştirir. Bu katmanlar birden çok kez yığınlanır, her katman önceki katmanın çıkışına dikkat eder, böylece model giderek daha karmaşık bağımlılıkları ve temsilleri yakalayabilir.
Dikkat Başları: Her çoklu başlı dikkat katmanı, kendi sorgu, anahtar ve değer projeksiyonlarına sahip birden fazla “dikkat başı” içerir. Bu, modelin girdi dizisine aynı anda farklı yönlerden dikkat etmesine olanak tanır, böylece çeşitli ilişkileri ve kalıpları yakalar.
Kalan Bağlantılar ve Katman Normalizasyonu: Derin ağların eğitimini kolaylaştırmak ve kaybolan gradyan problemine karşı koymak için, kod tabanlı LLM’ler kalan bağlantıları ve katman normalizasyonunu kullanır. Kalan bağlantılar, bir katmanın girdisini çıkışına ekler, böylece geri yayılım sırasında gradyanların daha kolay akmasına olanak tanır. Katman normalizasyonu, aktivasyonları ve gradyanları stabilize etmeye yardımcı olur, böylece eğitim stabilitesini ve performansı daha da iyileştirir.
İleri Besleme Katmanları
Çoklu başlı dikkat katmanlarına ek olarak, kod tabanlı LLM’ler ileri besleme katmanlarını da içerir, bunlar her dizideki her konum için basit bir ileri besleme sinir ağı uygular. Bu katmanlar, nonlineerliklerin tanıtılmasını sağlar ve modelin daha karmaşık temsiller öğrenmesini sağlar.
Aktivasyon Fonksiyonları: İleri besleme katmanlarındaki aktivasyon fonksiyonunun seçimi, modelin performansı üzerinde önemli bir etkiye sahip olabilir. Daha önceki LLM’ler yaygın olarak ReLU aktivasyonunu kullanırken, daha yeni modeller GELU (Gaussian Error Linear Unit) veya SwiGLU aktivasyonu gibi daha gelişmiş aktivasyon fonksiyonlarını benimsemiştir, bunlar daha iyi performans göstermiştir.
Seyrek Dikkat ve Verimli Transformer’lar
Kendine dikkat mekanizması güçlü olmasına rağmen, dizi uzunluğu ile ilgili olarak karesel bir hesaplamalı karmaşıklığa sahiptir, bu da uzun diziler için hesaplamalı olarak pahalı hale getirir. Bu zorluğu gidermek için, kendine dikkat işleminin hesaplamalı ve bellek gereksinimlerini azaltmak için çeşitli teknikler önerilmiştir, böylece daha uzun dizilerin verimli bir şekilde işlenmesine olanak tanır.
Seyrek Dikkat: Seyrek dikkat teknikleri, GPT-3 modelinde kullanılan gibi, girdi dizisindeki belirli konumlarına dikkat etmeyi sağlar, böylece hesaplamalı karmaşıklık önemli ölçüde azaltılırken makul bir performans korunur.
Kaydırma Pencere Dikkati: Mistral 7B modelinde tanıtılan kaydırma pencere dikkat (SWA), her tokenin dikkat spanını sabit bir pencere boyutuna sınırlayan basit ancak etkili bir tekniktir. Bu yaklaşım, transformer katmanlarının birden fazla katman boyunca bilgi iletmelerini sağlar, böylece dikkat spanı artar ancak tam kendine dikkatın karesel karmaşıklığı olmadan.
Yuvarlak Tampon Önbelleği: Hesaplamalı gereksinimleri ve özellikle uzun diziler için bellek kullanımını daha da azaltmak için, Mistral 7B modeli yuvarlak tampon önbelleğini kullanır. Bu teknik, belirli bir pencere boyutu için hesaplanan anahtar ve değer vektörlerini depolar ve yeniden kullanır, böylece gereksiz hesaplamaları önler ve bellek kullanımını en aza indirir.
Gruplu Sorgu Dikkati: LLaMA 2 modelinde tanıtılan gruplu sorgu dikkat (GQA), çoklu sorgu dikkat mekanizmasının bir varyantıdır ve dikkat başlarını gruplara ayırır, her grup ortak bir anahtar ve değer matrisini paylaşır. Bu yaklaşım, çoklu sorgu dikkat mekanizmasının verimliliği ile standard kendine dikkatın performansı arasında bir denge sağlar, böylece iyi sonuçlar verirken çıkarım sürelerini iyileştirir.
















