DEV Community

Elif Albakır for Mantis Stajyer Blogu

Posted on

LLM Nedir, Transformers nasıl Çalışır?

Genel anlamda aslında LLM (Large Language Models) yani bir diğer adıyla Büyük Dil Modelleri hepimizin günlük yaşantısında bir şekilde kullandığı bir yapay zekâ modelidir. Buna örnek göstermek istersek en popüler örneklerinden birisi ChatGPT’dir. LLM’i farklı yapan şey nedir dersek ortaya kesinlikle insan zekasına yakın bir yaratıcılık ve düşünme yetisi diyebiliriz. LLM daha insanvari bir yapıya sahip olarak, insan duygularını analiz edebilme, kelime tahminlerinde bulunabilme ve kelimeler arasında bağlantı kurabilme gibi özelliklere sahiptir. LLM bunu verilen cümlelere göre sonraki kelimeleri tahmin ederek yapıyor. Bunu basitçe cep telefonunuzdaki kelime tamamlama özelliği gibi düşünebiliriz. Elbette LLM bunu kendiliğinden yapmıyor. Büyük miktarda metin verisiyle eğitmek ve üzerinde ince ayarlar yapmak gerekiyor. Yani LLM'ler büyük veri setleri ile eğitilmiş, kelimeler arasındaki bağlamsal ve dilbilgisel bağlantıları anlayarak uygun kelimeleri seçen bir derin öğrenme modelidir.

Bunu da kendi kendine öğrenme teknikleri aracılığıyla yapar. Bu noktada Transformers mimarisi devreye girer. Dönüştürücü yapay sinir ağlarının hatırlama ve önerme gibi yetenekleri için kullanılır. Transformers mimarisi kullanılarak girdilerin nasıl çıktılara dönüştüğünü adım adım anlatmakla başlayalım.

Transformers mimarisi

1.

Modele gelen sorgular token adı verilen modelin anlayabileceği birimlere bölünür. Bu birimler, kelime, ek ya da özel karakterler olabilir. Ama model kelimeleri değil sayıları anlar bu sebeple tokenler, modelin anlayabileceği dile, yani embedinglere çevrilmesi için modelin içerisindeki token id'lere çevrilir.

Tokenizasyon işlemi

Modelin çalışmaya başlaması için girilen sorgunun bittiğini anlaması gerekir. Bunun için başlangıç tokenleri (<|endoftext|>) kullanılır. Başlangıç tokenleri basitçe anlatmak gerekirse cümle sonundaki nokta görevini görürler.

Tokenizasyon işlemi ve token idler

2.

Bu tokenler, model tarafından işlenmeden önce sayıların bulunduğu yüksek boyutlu bir vektöre (tensor) dönüştürülür ve vektör uzayında temsil edilirler. Buna ise embedding yani gömme denir.

Embeding işlemi

3.

Pozisyonel kodlama ile embedinglere tokenlerin sırası eklenerek kodlayıcı (encoder) katmanına gönderilir.

Pozisyonel kodlama işlemi ve encoder katmanı

4.

Encoder katmanı değişken uzunlukta bir veriyi alarak sabit bir değişken haline getirir, embedingler bu kısımda self-attention ve feed forward işlemlerinden de geçer. Self attention, tokenlar arasında bağlantı kurabilme veya kelime öneriminde bulunabilmesi için gereken bir işlemdir. Token arasındaki bağlam ve anlam bütünlüğünü oluşturulmasını sağlar. Buradaki işlemler paralel çalışır.

5.

Encoder katmanında üretilen girdi temsili decoder (çözücü) katmanına gider. Bu katman başlangıç tokenini (<|endoftext|>) gördüğünde bir sonraki kelime için olası cevap kombinasyonları hesaplanır. Ve bu cevap kombinasyonları embedinglere dönüştürülerek olasılıklarının hesaplanması için lineer katmana yollanır ve lineer katmanda oluşturulan olasılıklar softmax katmanında normalize edildikten sonra ilk aday kelime bu katmana geri gönderilir. Bu aday kelime girdi temsili de kullanılarak sonraki kelimeler tahmin edilir. Model cevabı bitirdiğinde başlangıç tokenini (<|endoftext|>) dönerek çıktının bittiğini bildirir.

Decoder katmanı

6.

Lineer katmanda kelime sıralarının korunması ve sıraya dikkat edilir. Modelin tahmin ettiği kelime olasılıkların dağılımını hesaplar.

Lineer katman

7.

Lineer katmanda tahmin edilen kelime olasılıkları softmax katmanına yollanır. Girdi ne olursa olsun (pozitif, negatif vs.) softmax fonksiyonu bu girdiyi 0 ve 1 arasında bir değere dönüştürür. Yani olasılık dağılımını normalize eder.

Softmax katmanı

Sonuç

Bu yazı LLM’in ne olduğu ve transformers mimarisinin nasıl çalıştığını temel olarak anlatmak amacıyla yazılmıştır. LLM’ler gelişmiş büyük bir veri setleriyle eğitilmeleri ve transformers mimarisini kullanmaları sayesinde girilen sorgulara uygun çıktılar verebilmeleri, sonraki kelimeyi tahmin etme ve olasılıklar oluşturarak yaratıcı cevaplar verebilme yeteneğine sahiptirler. Bu yetenekleri NLP’ler için devrim yaratacak seviyelere gelmiştir. Elbette bu seviyelerin temelinde transformers mimarisinin temel yapı taşı olduğunu belirtmek gerekir. LLM’ler insan ve makine arasındaki iletişimin sağlanması ve etkileşimin artmasını sağlamışlardır. LLM’ler sayesinde doğal dil işleme (NLP) kazandığı bu farklı boyut sayesinde gelecekte çok daha ileri seviyelerde olacak bir gelişim göstermeye devam etmektedir.

Referanslar

https://rpradeepmenon.medium.com/introduction-to-large-language-models-and-the-transformer-architecture-534408ed7e61

https://developers.google.com/machine-learning/crash-course/llm/transformers?hl=tr

https://aws.amazon.com/what-is/large-language-model/

https://bulutistan.com/blog/large-language-model-llm-nedir-uygulama-ornekleri/

https://youtu.be/wjZofJX0v4M

Top comments (0)