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. Jetonların 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 gelişmiş mimaridir:
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.
Öz dikkat nedir?
Transformers, bağlamı zenginleştirmek için büyük ölçüde kendi kendine ilgi adı verilen bir kavrama güvenmektedir. Ö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 ediyor ve bu on kelimenin her birinin kendi için ne kadar önemli olduğunu merak ediyor. Ö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.
Bunun tersine, cümledeki son kelimenin şu şekilde değiştiğini varsayalım:
The animal didn't cross the street because it was too wide.
Bu düzeltilmiş cümlede öz dikkat özelliğinin sokak sözcüğünü animal (hayvan) zamirinden daha alakalı olarak değerlendireceğini umuyoruz.
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, kelimenin her iki tarafı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 kişisel dikkat mekanizması yalnızca 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 çıktısı, farklı kafaların çıktısının matematiksel bir işlemdir (örneğin, 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 parametreye sahip bir model, tahmin yapmak için daha fazla parametreye sahip bir modelden daha az kaynak kullanır. Ancak araştırmalar, daha fazla parametreye sahip Transformatörlerin sürekli olarak daha az parametreyle Transformatörlerden daha iyi performans gösterdiğini göstermektedir.
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 iki kelimeyi tahmin etmek, temelde çeşitli metin, e-posta ve yazma yazılımında yerleşik olarak bulunan 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 olasılık oluşturabilir. Örneğin:
Probability | Kelime |
---|---|
%3,1 | Örneğin, oturabilir, kalabilir ve yan dönebilir. |
%2,9 | Örneğin, oturmayı, kalmasını ve dönmeyi biliyor. |
Yeterli büyüklükte bir LLM, paragraflar ve tüm makaleler için olasılıklar oluşturabilir. 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, çok çeşitli hedef kitleler için net ve anlaşılması kolay 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şlemler birkaç ay sürer, çok fazla bilgi işlem kaynağı ve elektrik tüketir.
- Paralellikle ilgili zorlukların üstesinden gelme
Tahminleri çıkarmak için LLM'lerin kullanılması şu 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ümeleri üzerinde 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ı sergileyebilir.