Büyük Dil Modelleri
Generative AI uygulamaları, doğal dil işleme (Natural Language Processing – NLP) ile ilgili görevleri yürütmek için tasarlanmış makine öğrenimi modellerinin ayrı bir alt kümesi olan Büyük Dil Modelleri (Large Language Models – LLM’ler) tarafından yönlendirilir; örneğin:
- Duyguyu belirlemek veya doğal dil metnini başka şekilde sınıflandırmak.
- Metni özetleme.
- Anlamsal benzerlik açısından birden fazla metin kaynağının karşılaştırılması.
- Yeni doğal dil üretmek.
Büyük Dil Modellerini (LLM’ler) destekleyen matematiksel kavramlar karmaşık olsa da, mimari tasarımlarının temellerini kavramak, operasyonel mekanizmalarına ilişkin temel bir anlayış sunabilir.
Yıllar geçtikçe, doğal dil işleme makine öğrenimi modelleri önemli bir gelişme gösterdi. Modern, son teknolojiye sahip büyük dil modelleri, NLP görevlerine, özellikle de dil oluşturmaya yardımcı olmak için kelime modellemeye yönelik daha önce etkili olan yöntemleri geliştiren ve genişleten transformatör mimarisinden yararlanır. Transformatör modelleri, kapsamlı metin veri kümeleri üzerinde eğitim alarak kelimeler arasındaki anlamsal bağlantıları yakalayabilir ve bu ilişkileri tutarlı metin dizilerini tahmin etmek için kullanabilir. Yeterince geniş bir kelime dağarcığıyla donatıldığında, bu dönüştürücü modeller, insanlar tarafından üretilenlerden oldukça farklı olmayan dil çıktıları üretebilir.
Transformatör modeli mimarisi iki bileşenden veya bloktan oluşur:
- Eğitim sözlüğünün anlamsal temsillerini oluşturan bir kodlayıcı bloğu.
- Yeni dil dizileri üreten bir kod çözücü bloğu.
Gerçek uygulamada mimari tasarımlar farklıdır; örneğin Google’ın arama motorlarını geliştiren Transformers’tan Çift Yönlü Kodlayıcı Temsilleri (Bidirectional Encoder Representations – BERT) modeli yalnızca kodlayıcı bileşenini kullanırken, OpenAI’nin Üretken Önceden Eğitimli Transformatör (Generative Pretrained Transformer – GPT) modeli yalnızca kod çözücü kısmını kullanır.
Bir transformatör modelinin eğitiminin ilk aşaması, eğitim metninin Tokenlara bölünmesini içerir; bu, her benzersiz metin öğesinin tanımlandığı anlamına gelir. Basitlik adına, eğitim metnindeki her benzersiz kelimeyi bir simge olarak düşünün; ancak pratikte simgeler sözcüklerin parçalarını, tüm sözcükleri ve hatta sözcük ve noktalama işareti kombinasyonlarını temsil edebilir.
Örneğin aşağıdaki cümleyi ele alabiliriz:
Bir köpeğin bir kediye yüksek sesle havladığını duydum
Bu metni Tokenize etmek için her sözcüğü tanımlayabilir ve bunlara token kimlikleri atayabilirsiniz. Örneğin:
Bir (1)
köpeğin (2)
bir (“bir” zaten 1 olarak belirtilmiş durumda)
kediye (3)
yüksek (4)
sesle (5)
havladığını (6)
duydum (7)
Cümle artık şu belirteçlerle temsil edilebilir: [1 2 1 3 4 5 6 7]. Benzer şekilde “Bir kedi duydum” cümlesi de [1 3 7] şeklinde temsil edilebilir.
Modeli eğitmeye devam ettikçe, eğitim metnindeki her yeni token, uygun token kimlikleriyle sözlüğe eklenir:
miyav (8)
kaykay (9)
ve benzeri…
Yeterince geniş bir eğitim metni seti ile binlerce tokendan oluşan bir kelime dağarcığı derlenebilir.
Tokenları belirtmek için basit kimlikleri kullanmak, sözcük dağarcığının kelimeleri için etkili bir katalog oluşturmak pratik görünse de, bu yaklaşım kelimelerin anlamlarını veya aralarındaki ilişkileri aktarmaz. Tokenlar arasındaki anlamsal bağlantıları yakalamak için onlara embeddings olarak bilinen bağlamsal vektörler atarız. Vektörler, bilginin farklı yönlerini temsil eden sayı dizileridir; örneğin [10, 3, 1]; burada her sayı, bilginin belirli bir özelliğine karşılık gelir. Dil tokenları bağlamında, bir tokenın vektörünün her bir bileşeni, tokenın belirli bir anlamsal özelliğini belirtir. Bir dil modelinin vektörlerindeki öğelerin temsil ettiği belirli yönler, kelimelerin birlikte kullanıldığı sıklık ve bağlama dayalı olarak eğitim sırasında oluşturulur.
Bir tokenın embedding vektörünün bileşenlerini çok boyutlu bir alandaki koordinatlar olarak düşünmek, her bir tokenı o alan içinde farklı bir “noktaya” konumlandırmak, anlayışlı olabilir. Herhangi bir boyutta birbirine daha yakın olan tokenlar anlamsal olarak daha benzerdir. Esasen ilgili anlamlara sahip kelimeler birbirine daha yakın konumlandırılır.