Yapay zeka modelleri ve platformları

Kod Tabanlı Büyük Dil Modelleri: Tam Bir Rehber

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

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ı.

Transformer Mimarisi

Transformer Mimarisi

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.

Çoklu Sorgu Dikkati

Çoklu Sorgu Dikkati

Kendine dikkat işlemi üç ana adımdan oluşur:

  1. 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.
  2. 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.
  3. 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.

vektör gömme

vektör gömme

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.

Gruplu Sorgu Dikkati

Gruplu Sorgu Dikkati

Model Büyüklüğü ve Ölçeklendirme

Modern LLM’lerin ayırt edici özelliklerinden biri, onların devasa ölçekleridir, parametre sayısı milyarlardan milyarlarca parametreye kadar değişir. Model büyüklüğünü artırmak, state-of-the-art performansa ulaşmak için kritik bir faktör olmuştur, çünkü daha büyük modeller daha karmaşık kalıpları ve ilişkileri veri içinde yakalayabilir.

Parametre Sayısı: Kod tabanlı bir LLM’deki parametre sayısı, gömme boyutu (d_model), dikkat baş sayısı (n_heads), katman sayısı (n_layers) ve sözlük boyutu (vocab_size) tarafından belirlenir. Örneğin, GPT-3 modeli 175 milyar parametreye sahiptir, d_model = 12288, n_heads = 96, n_layers = 96 ve vocab_size = 50257.

Model Paralelliği: Bu kadar büyük modelleri eğitmek ve dağıtmak önemli hesaplamalı kaynaklar ve özel donanım gerektirir. Bu zorluğu aşmak için, model paralelliği teknikleri uygulanır, model birden fazla GPU veya TPU arasında bölünür, her cihaz belirli hesaplamalardan sorumludur.

Karışım Uzmanları: LLM’leri ölçeklemek için başka bir yaklaşım, karışım uzmanları (MoE) mimarisidir, bu, birden fazla uzman modeli birleştirir, her biri veri veya görevin belirli bir alt kümesinde uzmanlaşmıştır. Mixtral 8x7B modeli, Mistral 7B modelini temel model olarak kullanan bir MoE modeli örneğidir, daha iyi performans gösterirken hesaplamalı verimliliği korur.

Çıkarım ve Metin Oluşturma

Kod tabanlı LLM’lerin birincil kullanım alanlarından biri metin oluşturmadır, model bir.prompt veya bağlam temelinde anlamlı ve doğal metin oluşturur.

Otoregresif Çıkarım: Çıkarım sırasında, kod tabanlı LLM’ler metni otoregresif bir şekilde oluşturur, bir tokeni bir kez üretir, öncekinden üretilen tokenlere bağlı olarak. Bu süreç, önceden belirlenmiş bir dizi uzunluğuna ulaşılıncaya veya bir dizi sonlandırma tokeni üretilinceye kadar devam eder.

Örnekleme Stratejileri: Çeşitli örnekleme stratejileri, top-k örnekleme, top-p örnekleme (nükleus örnekleme olarak da bilinir) veya sıcaklık ölçekleme, kullanılarak oluşturulan metnin çeşitliliği ve tutarlılığı arasında bir denge kurulabilir. Bu teknikler, sözlük üzerinde olasılık dağılımını ayarlayarak oluşturulan metnin çeşitliliğini ve tutarlılığını kontrol eder.

Prompt Mühendisliği: Girdi promptının kalitesi ve özgüllüğü, oluşturulan metnin kalitesi üzerinde önemli bir etkiye sahip olabilir. Prompt mühendisliği, etkili prompt’lar oluşturmanın sanatı, modelin oluşturma sürecini yönlendirmek ve istenilen çıktıları elde etmek için kritik bir unsur haline gelmiştir.

İnsan-Makine İşbirliği Çıkarımı: Oluşturulan metnin kalitesini ve tutarlılığını daha da artırmak için, İnsan Geribildiriminden Öğrenme (RLHF) gibi teknikler uygulanır. Bu yaklaşım, insan değerlendiricilerin modelin oluşturduğu metne geri bildirim sağladığı ve bu geri bildirimin modelin eğitiminde kullanıldığı bir süreci içerir, böylece model insan tercihleri ile hizalanır ve çıktılarını iyileştirir.

İlerlemeler ve Gelecek Yönler

Kod tabanlı LLM’ler alanı hızla gelişmektedir, yeni araştırmalar ve buluşlar sürekli olarak bu modellerin neler yapabileceğinin sınırlarını genişletmektedir. Bazı önemli ilerlemeleri ve olası gelecek yönleri ele alacağız.

Verimli Transformer Varyantları: Seyrek dikkat ve kaydırma pencere dikkat teknikleri, kod tabanlı LLM’lerin verimliliğini önemli ölçüde artırmıştır, ancak araştırmacılar hala daha verimli transformer varyantları ve dikkat mekanizmaları geliştirmektedir, böylece hesaplamalı gereksinimler azaltılırken performans korunur veya artırılır.

Çoklu Modal LLM’ler: LLM’lerin yeteneklerini metin ötesine taşımak, çoklu modal modeller, birden fazla modaliteyi (görüntü, ses, video) tek bir çerçevede birleştirmeyi amaçlar, bu da görüntüleme, görsel soru cevaplaması ve çoklu medya içeriği oluşturma gibi uygulamalar için heyecan verici olanaklar sunar.

Kontrollü Oluşturma: Oluşturulan metin üzerinde ince kontrol sağlamak, LLM’ler için bir zorluk teşkil eder. Kontrollü metin oluşturma ve prompt ayarlaması gibi teknikler, kullanıcıların metin özellikleri (stil, ton, içerik) üzerinde daha granüler kontrol sağlamayı amaçlar, bu da daha spesifik ve amaç odaklı metin oluşturma olanakları sağlar.

Sonuç

Kod tabanlı LLM’ler, doğal dil işleme alanında devrim yaratmış, dil oluşturma ve anlama yeteneklerinin sınırlarını genişletmiştir. Basit bir transformer varyantı olarak başlayan bu modeller, gelişmiş teknikler ve mimari yenilikler ile güçlü ve karmaşık sistemlere dönüşmüştür.

Kod tabanlı LLM’leri ilerletmeye devam ettikçe, dil ile ilgili görevlerde daha da şaşırtıcı başarılar görmek beklenebilir, ayrıca bu modellerin çeşitli uygulamalara ve alanlara entegrasyonu da artacaktır. Ancak, bu güçlü modellerin yaygın olarak benimsenmesi ile ortaya çıkabilecek etik endişeleri, yorumlama zorluklarını ve olası önyargıları da ele almak önemlidir.

Araştırmaya önderlik ederek, açık işbirliğini teşvik ederek ve sorumlu AI geliştirme taahhüdünü sürdüreceksek, kod tabanlı LLM’lerin tam potansiyelini açığa çıkarabilir ve bunların toplum için güvenli, etik ve faydalı bir şekilde geliştirilip kullanıldığından emin olabiliriz.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi adamış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım da beni Doğal Dil İşleme alanına yöneltti, bu alana daha da derinlemesine girmeye hevesliyim.