LLM'ler: Büyük dil modeli nedir?

Daha yeni bir teknoloji olan büyük dil modelleri (LLM'ler), bir jetonu veya jeton dizisini, bazen de birçok paragraflık tahmini jetonu tahmin eder. Bir jetonun kelime, alt kelime (bir kelimenin alt kümesi) veya tek bir karakter olabileceğini unutmayın. LLM'ler, N-gram dil modellerinden veya tekrarlayan nöral ağlardan çok daha iyi tahminler yapar. Bunun nedeni:

  • Büyük dil modelleri, yinelenen modellerden çok daha fazla parametre içerir.
  • LLM'ler çok daha fazla bağlam bilgisi toplar.

Bu bölümde, LLM oluşturmak için en başarılı ve yaygın olarak kullanılan mimari olan dönüştürücü tanıtılmaktadır.

Dönüştürücü nedir?

Dönüştürücüler, çeviri gibi çeşitli dil modeli uygulamaları için en son mimaridir:

Şekil 1. Giriş: I am a good dog. Dönüştürücü tabanlı bir çevirmen bu girişi şu çıktıya dönüştürür: Je suis un bon chien. Bu, aynı cümlenin Fransızcaya çevrilmiş halidir.
Şekil 1. İngilizceden Fransızcaya çeviri yapan, dönüştürücü tabanlı bir uygulama.

 

Tam dönüştürücüler bir kodlayıcı ve kod çözücüden oluşur:

  • Kodlayıcı, giriş metnini ara temsile dönüştürür. Kodlayıcı, devasa bir nöral ağdır.
  • Kod çözücü, bu ara temsili yararlı metne dönüştürür. Kod çözücü de büyük bir nöral ağdır.

Örneğin, bir çeviricide:

  • Kodlayıcı, giriş metnini (örneğin, İngilizce bir cümle) bir tür ara temsile dönüştürür.
  • Kod çözücü, bu ara temsili çıkış metnine (ör. eşdeğer Fransızca cümle) dönüştürür.
Şekil 2. Transformer tabanlı çevirmen, bir kodlayıcıyla başlar. Bu kodlayıcı, bir İngilizce cümlenin ara temsilini oluşturur. Kod çözücü, bu ara temsili Fransızca bir çıkış cümlesine dönüştürür.
Şekil 2. Tam Dönüştürücü hem kodlayıcı hem de kod çözücü içerir.

 

Öz dikkat nedir?

Transformers, bağlamı iyileştirmek için büyük ölçüde öz dikkat adlı bir kavramdan yararlanır. Öz dikkat, her giriş jetonu adına şu soruyu sorar:

"Her bir giriş jetonu bu jetonun yorumlanmasını ne kadar etkiler?"

"Öz dikkat"teki "öz", giriş dizisini ifade eder. Bazı dikkat mekanizmaları, giriş jetonlarının bir çeviri gibi bir çıkış dizisindeki jetonlarla veya başka bir dizindeki jetonlarla ilişkilerini ağırlıklandırır. Ancak kendi kendine dikkat, yalnızca giriş dizisindeki jetonlar arasındaki ilişkilerin önemini dikkate alır.

Konuyu basitleştirmek için her jetonun bir kelime olduğunu ve bağlamın tamamının tek bir cümle olduğunu varsayalım. Aşağıdaki cümleyi ele alalım:

The animal didn't cross the street because it was too tired.

Önceki cümle on bir kelime içeriyor. On bir kelimenin her biri diğer on kelimeye dikkat eder ve bu on kelimenin her birinin kendisi için ne kadar önemli olduğunu merak eder. Örneğin, cümlede o zamirinin yer aldığına dikkat edin. Hitaplar genellikle belirsizdir. O adıl genellikle yakın zamanda kullanılan bir ismi veya isim öbeğini ifade eder. Ancak örnek cümlede o hangi yakın zamanda kullanılan ismi ifade ediyor: hayvanı mı yoksa sokağı mı?

Kendine dikkat mekanizması, yakınlardaki her kelimenin o zamiriyle alaka düzeyini belirler. Şekil 3'te sonuçlar gösterilmektedir. Çizginin maviliği, sözcüğün o zamiri için ne kadar önemli olduğunu gösterir. Yani hayvan, o zamiri için sokak'tan daha önemlidir.

Şekil 3. "Hayvan çok yorgun olduğu için caddeyi geçmedi" cümlesindeki on bir kelimenin her birinin "o" zamiriyle alaka düzeyi. "Hayvan" kelimesi, "o" zamiriyle en alakalı kelimedir.
Şekil 3. O zamiri için öz dikkat. Transformer: A Novel Neural Network Architecture for Language Understanding (Dil Anlama İçin Yeni Bir Nöral Ağ Mimarisi) makalesinden alınmıştır.

 

Buna karşılık, cümledeki son kelimenin aşağıdaki gibi değiştiğini varsayalım:

The animal didn't cross the street because it was too wide.

Düzeltilen bu cümlede, kendi kendine dikkat özelliğinin hayvan yerine sokak kelimesini o zamiriyle daha alakalı olarak değerlendirmesi beklenir.

Bazı kendi kendine dikkat mekanizmaları iki yönlüdür. Yani, dikkat gösterilen kelimenin öncesinde ve ardından gelen jetonlar için alaka düzeyi puanları hesaplar. Örneğin, Şekil 3'te it kelimesinin her iki yanındaki kelimelerin incelendiğine dikkat edin. Bu nedenle, iki yönlü kendi kendine dikkat mekanizması, dikkat gösterilen kelimenin her iki yanındaki kelimelerden bağlam bilgisi toplayabilir. Buna karşılık, tek yönlü bir öz dikkat mekanizması, yalnızca dikkat gösterilen kelimenin bir tarafındaki kelimelerden bağlam toplayabilir. İki yönlü kendi kendine dikkat, özellikle tüm dizilerin temsillerini oluşturmak için kullanışlıdır. Buna karşılık, dizileri jeton bazında oluşturan uygulamalar tek yönlü kendi kendine dikkat gerektirir. Bu nedenle, kodlayıcılar iki yönlü kendi kendine dikkat özelliğini, kod çözücüler ise tek yönlü kendi kendine dikkat özelliğini kullanır.

Çok başlı öz dikkat nedir?

Her öz dikkat katmanı genellikle birden fazla öz dikkat başlığından oluşur. Bir katmanın çıkışı, farklı başların çıkışının matematiksel bir işlemidir (ör. ağırlıklı ortalama veya nokta çarpımı).

Her öz dikkat katmanı rastgele değerlerle başlatıldığı için farklı kafalar, dikkat verilen her kelime ile yakındaki kelimeler arasında farklı ilişkiler öğrenebilir. Örneğin, önceki bölümde açıklanan öz dikkat katmanı, o zamirinin hangi ismi kastettiğini belirlemeye odaklanıyordu. Ancak diğer öz dikkat katmanları, her bir kelimenin diğer kelimelerle dil bilgisi açısından alaka düzeyini veya diğer etkileşimleri öğrenebilir.

Transformers neden bu kadar büyük?

Dönüştürücüler yüz milyar hatta trilyonlarca parametre içerir. Bu kursta genellikle daha fazla parametre içeren modellere kıyasla daha az parametre içeren modeller oluşturmanız önerilir. Sonuçta, daha az sayıda parametre içeren bir model, tahmin yapmak için daha fazla parametre içeren bir modelden daha az kaynak kullanır. Ancak araştırmalar, daha fazla parametreye sahip dönüştürücülerin daha az parametreye sahip dönüştürücülere kıyasla daha iyi performans gösterdiğini gösteriyor.

Peki LLM'ler metni nasıl oluşturur?

Araştırmacıların LLM'leri bir veya iki eksik kelimeyi tahmin edecek şekilde nasıl eğittiğini gördünüz ve bu sizi etkilemeyebilir. Sonuçta, bir veya iki kelimeyi tahmin etmek, temelde çeşitli metin, e-posta ve yazma yazılımlarına yerleştirilmiş otomatik tamamlama özelliğidir. LLM'lerin arbitraj hakkında nasıl cümle, paragraf veya haiku oluşturabileceğini merak ediyor olabilirsiniz.

Aslında LLM'ler, binlerce jetonu otomatik olarak tahmin edebilecek (tamamlayabilecek) otomatik tamamlama mekanizmalarıdır. Örneğin, maskelenmiş bir cümlenin ardından gelen bir cümleyi düşünün:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM, maskelenmiş cümle için aşağıdakiler dahil olmak üzere olasılıklar oluşturabilir:

Probability Kelime
%3,1 Örneğin, oturabilir, kalabilir ve yan dönebilir.
%2,9 Örneğin, oturmayı, kalmasını ve dönmeyi biliyor.

Yeterince büyük bir LLM, paragraflar ve makalelerin tamamı için olasılıklar üretebilir. Kullanıcının LLM'ye sorduğu soruları, "verilen" cümlenin ardından hayali bir maske olarak düşünebilirsiniz. Örneğin:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM, çeşitli olası yanıtlar için olasılıkları oluşturur.

Başka bir örnek olarak, çok sayıda matematiksel "sözel problem" üzerinde eğitilmiş bir LLM, karmaşık matematiksel akıl yürütme yapıyormuş gibi görünebilir. Ancak bu LLM'ler temelde bir kelime problemini otomatik olarak tamamlar.

LLM'lerin avantajları

LLM'ler, çeşitli hedef kitleler için net ve anlaşılır metinler oluşturabilir. LLM'ler, açıkça eğitildikleri görevler hakkında tahminde bulunabilir. Bazı araştırmacılar, LLM'lerin açıkça eğitilmediği girişler için de tahminde bulunabileceğini iddia etse de diğer araştırmacılar bu iddiayı yalanlamıştır.

LLM'lerle ilgili sorunlar

LLM'yi eğitmek, aşağıdakiler gibi birçok soruna yol açar:

  • Büyük bir eğitim kümesi toplamak.
  • Bu işlem birkaç ay sürer, çok fazla bilgi işlem kaynağı ve elektrik tüketir.
  • Paralellik sorunlarını çözme.

Tahminleri tahmin etmek için LLM'leri kullanmak aşağıdaki sorunlara neden olur:

  • LLM'ler halüsinasyon görür. Yani tahminleri genellikle hata içerir.
  • Büyük dil modelleri çok fazla bilgi işlem kaynağı ve elektrik tüketir. LLM'leri daha büyük veri kümelerinde eğitmek genellikle çıkarım için gereken kaynak miktarını azaltır. Ancak daha büyük eğitim kümeleri daha fazla eğitim kaynağı gerektirir.
  • Tüm makine öğrenimi modelleri gibi LLM'ler de her türlü önyargı gösterebilir.

Alıştırma: Anladığınızdan emin olun

Bir Transformer'ın, elephant kelimesinin en az bir örneğini içeren binlerce belge de dahil olmak üzere bir milyar belge üzerinde eğitildiğini varsayalım. Aşağıdaki ifadelerden hangisi muhtemelen doğrudur?
Fillerin beslenmesinin önemli bir parçası olan akasya ağaçları, fil kelimesiyle birlikte kademeli olarak yüksek bir öz dikkat puanı kazanır.
Evet, bu sayede Transformer, fillerin beslenmesiyle ilgili soruları yanıtlayabilir.
Dönüştürücü, elephant kelimesini elephant kelimesini içeren çeşitli deyimlerle ilişkilendirir.
Evet, sistem fil kelimesi ile fil deyimlerindeki diğer kelimeler arasına yüksek öz dikkat puanları eklemeye başlar.
Transformer, eğitim verilerinde elephant kelimesinin alaycı veya ironik kullanımlarını kademeli olarak görmezden gelmeyi öğrenir.
Yeterince geniş bir eğitim veri kümesinde eğitilen yeterince büyük Transformer'lar, iğneleme, mizah ve ironiyi tanıma konusunda oldukça ustadır. Bu nedenle Transformer, sarkazmı ve ironiyi göz ardı etmek yerine bu durumlardan yararlanır.