Yapay Zeka
Kod Çözücü Tabanlı Büyük Dil Modelleri: Eksiksiz Bir Kılavuz
Büyük Dil Modelleri (LLM'ler), insan benzeri metinler oluşturma, soruları yanıtlama ve dille ilgili çok çeşitli görevlere yardımcı olma konusunda olağanüstü yetenekler sergileyerek doğal dil işleme (NLP) alanında devrim yarattı. Bu güçlü modellerin temelinde yalnızca kod çözücü transformatör mimarisiufuk açıcı makalede önerilen orijinal transformatör mimarisinin bir çeşidiTüm İhtiyacınız Olan Dikkat” Vaswani ve diğerleri tarafından.
Bu kapsamlı kılavuzda, kod çözücü tabanlı LLM'lerin iç işleyişini keşfederek, bu modelleri NLP araştırma ve uygulamalarında ön plana çıkaran temel yapı taşlarını, mimari yenilikleri ve uygulama ayrıntılarını inceleyeceğiz.
Transformatör Mimarisi: Tazeleme
Kod çözücü tabanlı LLM'lerin ayrıntılarına dalmadan önce, bu modellerin üzerine inşa edildiği temel olan transformatör mimarisini yeniden gözden geçirmek önemlidir. Transformatör, tekrarlayan veya evrişimsel katmanlara ihtiyaç duymadan, verilerdeki uzun vadeli bağımlılıkları yakalamak için yalnızca dikkat mekanizmalarına dayanan dizi modellemeye yeni bir yaklaşım getirdi.
Orijinal transformatör mimarisi iki ana bileşenden oluşur: kodlayıcı ve kod çözücü. Kodlayıcı, giriş dizisini işler ve bağlamsallaştırılmış bir temsil üretir; bu daha sonra kod çözücü tarafından çıkış dizisini üretmek için tüketilir. Bu mimari başlangıçta kodlayıcının kaynak dilde giriş cümlesini işlediği ve kod çözücünün hedef dilde karşılık gelen cümleyi ürettiği makine çevirisi görevleri için tasarlandı.
Kişisel Dikkat: Transformer'ın Başarısının Anahtarı
Kalbinde transformatör Modelin girdi dizisindeki farklı konumlardan gelen bilgileri tartmasına ve toplamasına olanak tanıyan güçlü bir teknik olan öz-dikkat mekanizması yatıyor. Giriş jetonlarını sırayla işleyen geleneksel dizi modellerinin aksine, öz-dikkat, modelin dizideki konumlarına bakılmaksızın herhangi bir jeton çifti arasındaki bağımlılıkları yakalamasını sağlar.
Kişisel dikkat işlemi üç ana aşamaya ayrılabilir:
- Sorgu, Anahtar ve Değer Projeksiyonları: Giriş dizisi üç ayrı gösterime yansıtılır: sorgular (Q), anahtarlar (K) ve değerlerimiz (V). Bu projeksiyonlar, girdinin öğrenilen ağırlık matrisleriyle çarpılmasıyla elde edilir.
- Dikkat Puanı Hesaplaması: Giriş dizisindeki her konum için dikkat puanları, karşılık gelen sorgu vektörü ile tüm anahtar vektörler arasındaki nokta çarpımı alınarak hesaplanır. Bu puanlar, her bir pozisyonun işlenmekte olan mevcut pozisyonla olan ilişkisini temsil eder.
- Ağırlıklı Değerler Toplamı: Dikkat puanları bir softmax fonksiyonu kullanılarak normalleştirilir ve elde edilen dikkat ağırlıkları, değer vektörlerinin ağırlıklı toplamını hesaplamak için kullanılır ve mevcut konum için çıktı temsili üretilir.
Öz-dikkat mekanizmasının bir çeşidi olan çok kafalı dikkat, modelin birden fazla "dikkat puanını" hesaplayarak farklı ilişki türlerini yakalamasına olanak tanır.kafalar” paralel olarak, her biri kendi sorgu, anahtar ve değer projeksiyonlarına sahiptir.
Mimari Varyantlar ve Konfigürasyonlar
Kod çözücü tabanlı LLM'lerin temel ilkeleri tutarlı kalırken, araştırmacılar performansı, verimliliği ve genelleme yeteneklerini geliştirmek için çeşitli mimari değişkenleri ve konfigürasyonları araştırdılar. Bu bölümde farklı mimari seçimleri ve bunların sonuçlarını inceleyeceğiz.
Mimari Türleri
Kod çözücü tabanlı LLM'ler genel olarak üç ana türe ayrılabilir: kodlayıcı-kod çözücü, nedensel kod çözücü ve önek kod çözücü. Her mimari türü farklı dikkat kalıpları sergiler.
Kodlayıcı-Kod Çözücü Mimarisi
Vanilya Transformer modelini temel alan kodlayıcı-kod çözücü mimarisi iki yığından oluşur: bir kodlayıcı ve bir kod çözücü. Kodlayıcı, giriş sırasını kodlamak ve gizli temsiller oluşturmak için yığılmış çok kafalı öz dikkat katmanlarını kullanır. Kod çözücü daha sonra hedef diziyi oluşturmak için bu temsiller üzerinde çapraz dikkat gerçekleştirir. Çeşitli NLP görevlerinde etkili olmasına rağmen, az sayıda Yüksek Lisans, örneğin Tart-T5, bu mimariyi benimseyin.
Nedensel Kod Çözücü Mimarisi
Nedensel kod çözücü mimarisi, her giriş jetonunun yalnızca geçmiş jetonlara ve kendisine dikkat etmesine olanak tanıyan tek yönlü bir dikkat maskesi içerir. Hem giriş hem de çıkış jetonları aynı kod çözücüde işlenir. Gibi önemli modeller GPT 1, GPT-2 ve GPT-3 bu mimari üzerine inşa edilmiştir ve GPT-3, olağanüstü bağlam içi öğrenme yetenekleri sergiler. OPT, BLOOM ve Gopher dahil olmak üzere birçok LLM nedensel kod çözücüleri geniş ölçüde benimsemiştir.
Önek Kod Çözücü Mimarisi
Nedensel olmayan kod çözücü olarak da bilinen önek kod çözücü mimarisi, nedensel kod çözücülerin maskeleme mekanizmasını değiştirerek önek belirteçleri üzerinde çift yönlü dikkati ve oluşturulan belirteçler üzerinde tek yönlü dikkati etkinleştirir. Kodlayıcı-kod çözücü mimarisi gibi, önek kod çözücüler de önek dizisini çift yönlü olarak kodlayabilir ve paylaşılan parametreleri kullanarak çıkış belirteçlerini otomatik olarak tahmin edebilir. Önek kod çözücülerini temel alan LLM'ler arasında GLM130B ve U-PaLM bulunur.
Her üç mimari türü de aşağıdakiler kullanılarak genişletilebilir: uzmanlar karışımı (MEB) Her giriş için sinir ağı ağırlıklarının bir alt kümesini seyrek olarak etkinleştiren ölçeklendirme tekniği. Bu yaklaşım Switch Transformer ve GLaM gibi modellerde kullanılmış, uzman sayısı veya toplam parametre büyüklüğünün artmasıyla önemli performans iyileştirmeleri sağlanmıştır.
Yalnızca Kod Çözücü Transformatörü: Otoregresif Doğayı Kucaklamak
Orijinal transformatör mimarisi, makine çevirisi gibi diziden diziye görevler için tasarlanmış olsa da, dil modelleme ve metin oluşturma gibi birçok NLP görevi, modelin her seferinde bir belirteç ürettiği otoregresif problemler olarak çerçevelenebilir. önceden oluşturulmuş jetonlar.
Yalnızca kod çözücü bileşenini koruyan transformatör mimarisinin basitleştirilmiş bir çeşidi olan yalnızca kod çözücü transformatörüne girin. Bu mimari, daha önce oluşturulan jetonları giriş bağlamı olarak kullanarak çıkış jetonlarını tek tek ürettiğinden, özellikle otoregresif görevler için çok uygundur.
Yalnızca şifre çözücü transformatör ile orijinal transformatör kod çözücü arasındaki temel fark, öz-dikkat mekanizmasında yatmaktadır. Yalnızca kod çözücü ayarında, öz-dikkat işlemi, nedensellik olarak bilinen bir özellik olan, modelin gelecekteki belirteçlere katılmasını önleyecek şekilde değiştirilir. Bu, gelecekteki konumlara karşılık gelen dikkat puanlarının negatif sonsuza ayarlandığı ve softmax normalizasyon adımı sırasında bunları etkili bir şekilde maskelediği "maskeli öz dikkat" adı verilen bir teknikle gerçekleştirilir.
Kod Çözücü Tabanlı LLM'lerin Mimari Bileşenleri
Öz-dikkat ve maskeli öz-dikkatin temel ilkeleri aynı kalsa da, modern kod çözücü tabanlı LLM'ler performansı, verimliliği ve genelleştirme yeteneklerini geliştirmek için çeşitli mimari yenilikler getirmiştir. En son teknolojiye sahip LLM'lerde kullanılan bazı temel bileşenleri ve teknikleri inceleyelim.
Giriş Gösterimi
Giriş dizisini işlemeden önce kod çözücü tabanlı LLM'ler, ham metni modele uygun sayısal bir temsile dönüştürmek için tokenizasyon ve gömme tekniklerini kullanır.
dizgeciklere: Belirleme işlemi, giriş metnini, kullanılan simgeleştirme stratejisine bağlı olarak kelimeler, alt sözcükler ve hatta tek tek karakterler olabilen bir dizi belirteç dizisine dönüştürür. LLM'ler için popüler tokenizasyon teknikleri arasında Bayt Çifti Kodlama (BPE), SentencePiece ve WordPiece bulunur. Bu yöntemler, kelime dağarcığı boyutu ile temsilin ayrıntı düzeyi arasında bir denge kurmayı amaçlayarak, modelin nadir veya sözlükte bulunmayan kelimeleri etkili bir şekilde ele almasına olanak tanır.
Jeton Gömmeleri: Belirteçleştirmeden sonra, her bir belirteç, belirteç yerleştirme adı verilen yoğun bir vektör temsiliyle eşlenir. Bu yerleştirmeler eğitim süreci sırasında öğrenilir ve belirteçler arasındaki anlamsal ve sözdizimsel ilişkileri yakalar.
Konumsal Gömmeler: Transformatör modelleri, yinelenen modellerde mevcut olan token pozisyonlarının doğasında olan kavramdan yoksun olarak, tüm giriş sırasını aynı anda işler. Konum bilgisini dahil etmek için, token yerleştirmelerine konumsal yerleştirmeler eklenir ve bu da modelin, dizideki konumlarına göre jetonlar arasında ayrım yapmasına olanak tanır. İlk LLM'ler sinüzoidal fonksiyonlara dayalı sabit konumsal yerleştirmeler kullanırken, daha yeni modeller öğrenilebilir konumsal yerleştirmeleri veya döner konumsal yerleştirmeler gibi alternatif konumsal kodlama tekniklerini araştırdı.
Çok Kafalı Dikkat Blokları
Kod çözücü tabanlı LLM'lerin temel yapı taşları, daha önce açıklanan maskelenmiş öz-dikkat işlemini gerçekleştiren çok başlı dikkat katmanlarıdır. Bu katmanlar birden fazla kez istiflenir ve her katman bir önceki katmanın çıktısına katılır ve modelin giderek daha karmaşık hale gelen bağımlılıkları ve temsilleri yakalamasına olanak tanır.
Dikkat Kafaları: Her çok kafalı dikkat katmanı, her biri kendi sorgu, anahtar ve değer projeksiyonlarına sahip birden fazla "dikkat kafasından" oluşur. Bu, modelin girdinin farklı yönlerine aynı anda müdahale etmesine ve farklı ilişkileri ve kalıpları yakalamasına olanak tanır.
Artık Bağlantılar ve Katman Normalleştirme: Derin ağların eğitimini kolaylaştırmak ve yok olan gradyan sorununu azaltmak için kod çözücü tabanlı LLM'ler, artık bağlantıları ve katman normalleştirme tekniklerini kullanır. Artık bağlantılar, bir katmanın girişini çıkışına ekleyerek, geri yayılım sırasında degradelerin daha kolay akmasını sağlar. Katman normalleştirme, aktivasyonların ve eğimlerin dengelenmesine yardımcı olarak eğitim kararlılığını ve performansını daha da artırır.
İleri Beslemeli Katmanlar
Çok kafalı dikkat katmanlarına ek olarak, kod çözücü tabanlı LLM'ler, dizideki her konuma basit bir ileri beslemeli sinir ağı uygulayan ileri besleme katmanlarını içerir. Bu katmanlar doğrusal olmayan durumları ortaya çıkarır ve modelin daha karmaşık gösterimleri öğrenmesini sağlar.
Aktivasyon Fonksiyonları: İleri besleme katmanlarındaki etkinleştirme fonksiyonunun seçimi, modelin performansını önemli ölçüde etkileyebilir. Daha önceki LLM'ler yaygın olarak kullanılan ReLU aktivasyonuna güvenirken, daha yeni modeller Gaussian Error Linear Unit (GELU) veya SwiGLU aktivasyonu gibi gelişmiş performans sergileyen daha karmaşık aktivasyon fonksiyonlarını benimsemiştir.
Az Dikkat ve Verimli Transformatörler
Öz-dikkat mekanizması güçlü olsa da, dizi uzunluğuna göre ikinci dereceden hesaplama karmaşıklığıyla birlikte gelir ve bu da onu uzun diziler için hesaplama açısından pahalı hale getirir. Bu zorluğun üstesinden gelmek için, kişisel dikkatin hesaplama ve hafıza gereksinimlerini azaltmak ve daha uzun dizilerin verimli bir şekilde işlenmesini sağlamak için çeşitli teknikler önerilmiştir.
seyrek Dikkat: GPT-3 modelinde kullanılanlara benzer seyrek dikkat teknikleri, tüm konumlar için dikkat puanlarını hesaplamak yerine girdi dizisindeki konumların bir alt kümesine seçici olarak katılır. Bu, makul performansı korurken hesaplama karmaşıklığını önemli ölçüde azaltabilir.
Sürgülü Pencere Dikkat: Mistral 7B modelinde tanıtılan kayan pencere dikkati (SWA), her bir tokenın dikkat aralığını sabit bir pencere boyutuyla sınırlayan basit ama etkili bir tekniktir. Bu yaklaşım, dönüştürücü katmanların birden fazla katman boyunca bilgi iletme yeteneğinden yararlanır ve tam kişisel dikkatin ikinci dereceden karmaşıklığı olmadan dikkat aralığını etkili bir şekilde artırır.
Dönen Arabellek Önbelleği: Özellikle uzun diziler için bellek gereksinimlerini daha da azaltmak için Mistral 7B modeli, dönen bir arabellek önbelleği kullanır. Bu teknik, hesaplanan anahtar ve değer vektörlerini sabit bir pencere boyutu için saklar ve yeniden kullanır, gereksiz hesaplamalardan kaçınır ve bellek kullanımını en aza indirir.
Gruplandırılmış Sorgu Dikkati: LLaMA 2 modelinde tanıtılan gruplandırılmış sorgu dikkati (GQA), her grubun ortak bir anahtar ve değer matrisini paylaştığı, dikkat başlıklarını gruplara bölen çoklu sorgu dikkat mekanizmasının bir çeşididir. Bu yaklaşım, çoklu sorgulu dikkatin verimliliği ile standart kişisel dikkatin performansı arasında bir denge kurarak, yüksek kaliteli sonuçları korurken iyileştirilmiş çıkarım süreleri sağlar.