Büyük Dil Modeli

From Systems analysis Wiki
Jump to navigation Jump to search

Büyük dil modeli (large language model, LLM) — çok sayıda parametreye (genellikle milyarlarca veya daha fazla) sahip derin bir sinir ağı aracılığıyla gerçekleştirilen ve büyük hacimli metin verileri üzerinde eğitilen bir makine öğrenimi modeli türüdür. Bu bağlamda "büyük" ifadesi hem parametre ölçeğini hem de modern sistemlerde birkaç petabayta ve trilyon token'a ulaşan eğitim külliyatının hacmini aynı anda ifade etmektedir. LLM modelleri, bir dizideki bir sonraki token'ı tahmin ederek dilin istatistiksel örüntülerini öğrenen yarı-denetimli (self-/semi-supervised) yöntemle ağırlıklı olarak eğitilir. Parametre, veri ve hesaplama adımlarındaki artış, scaling laws tarafından doğrulanan öngörülebilir bir kalite iyileşmesine yol açar.

BERT'in (2017) ortaya çıkmasından ve özellikle GPT-3'ün (2020) yayımlanmasından sonra LLM yaklaşımı, doğal dil işleme alanında baskın hale gelmiştir. Modern modeller (GPT-4o, Claude 3, Gemini 1.5, LLaMA 3 vb.) özel bir ayarlama olmaksızın metin ve program kodu yazabilmekte, çeviri yapabilmekte, özetleyebilmekte, soruları yanıtlayabilmekte ve akıl yürütme zincirleri kurabilmektedir; çok modlu sürümler ise görüntü, ses ve video analizi gerçekleştirebilmektedir. Uygulamalı bir göreve uyarlama, ince ayar (fine-tuning) veya istem mühendisliği (prompt engineering, in-context learning) ile yapılmaktadır. LLM'ler elde ettikleri başarıların yanı sıra kaynak verilerinin önyargılarını ve hatalarını da miras alır, "halüsinasyon" eğilimi gösterir ve büyük hesaplama kaynakları gerektirir; bu nedenle günümüzdeki araştırmalar davranış hizalaması, külliyat filtreleme ve enerji verimli mimariler üzerine yoğunlaşmaktadır.

Mimari

Modern LLM'lerde neredeyse her zaman Transformer (transformer) mimarisi kullanılır — öz-dikkat (self-attention) mekanizmasına sahip bir ağdır. Transformer modeli ilk kez 2017 yılında Google geliştiricileri tarafından kaleme alınan "Attention is All You Need" makalesinde önerilmiştir.

Transformer mimarisi, iki mantıksal modül içeren, dizilerle çalışmaya yönelik temel bir sinir ağı şemasıdır: encoder (girdiyi kodlar) ve decoder (çıktıyı üretir). Girdi olarak bir dizi alınır, onun vektör temsili (İng. embedding) oluşturulur, konumsal kodlama vektörü eklenir; ardından dizideki sıra gözetilmeksizin eleman kümesi kodlayıcı bileşene (paralel işleme) iletilir ve sonra kod çözücü bileşen bu dizinin bir bölümünü ve kodlayıcının çıktısını girdi olarak alır. Sonuç olarak yeni bir çıktı dizisi elde edilir.

Transformer'ın kodlayıcı bileşeni, birbirine özdeş birkaç kodlayıcı katmandan oluşur; kod çözücü bileşen de benzer şekilde yapılandırılmıştır. Transformer'ın kendisi, kaynak vektör dizisini her elemanın diğerlerinin bağlamını dikkate aldığı yeni bir diziye dönüştüren bir dikkat modelleri dizisidir. Encoder, girdiler arasındaki ilişkilere dair bilgiyi koruyarak gizli temsiller oluşturur. Decoder ise bu gizli temsiller temelinde çıktı token'ları için yeni bir embedding dizisi üretir. Daha sonra bu embedding'ler kullanılarak dil modeli aracılığıyla nihai çıktı elemanları oluşturulur.

Transformer'lar başlangıçta makine çevirisi gibi görevler için geliştirildiğinden, mimarileri bir encoder (giriş metnini, örneğin kaynak cümleyi işleyen) ve bir decoder (çıktıyı, örneğin çeviriyi üreten) içermektedir. Ancak pek çok dil modelinde yalnızca öz-bağlanımlı (otoregresif) modda çalışan decoder bölümü kullanılmaktadır.

Transformer'lar, encoder ve decoder'ı farklı biçimlerde kullanan ve her biri kendine özgü bir görev kümesine yönelik olan üç temel yapılandırmada kullanılmaktadır:

  • Encoder-transformer'lar (çift yönlü), kasıtlı olarak gizlenen metin parçalarını geri yüklemeyi öğrenir; bu nedenle sınıflandırma, bilgi çıkarma ve anlamsal arama gibi "anlama" görevleri için uygundur.
  • Decoder-transformer'lar (otoregresif), bir sonraki token'ı tahmin etmek üzere optimize edilir ve akıcı çıktının gerektiği yerlerde kullanılır: diyalog ajanları, kod otomatik tamamlama, yaratıcı üretim.
  • Tam "encoder + decoder" şemaları her iki yaklaşımı birleştirir: encoder tüm giriş metninin temsilini oluşturur, decoder ise buna dayanarak sonucu adım adım biçimlendirir. Bu yapılandırma, makine çevirisi, özetleme ve soru-cevap sistemleri için en etkili olanıdır.

Tokenizasyon

Tokenizasyon, büyük dil modellerinde metnin işlenmesindeki temel başlangıç aşamasıdır. Bu aşamada sürekli bir karakter dizisi, token adı verilen ayrı birimlere bölünür. Tokenizasyon, karakter dizisini sinir ağının verimli çalışmasını sağlayan yapılandırılmış elemanlara dönüştürme görevini yerine getirir.

Dilbilimsel açıdan tokenizasyon, kelimeler, morfemler veya bunların parçaları gibi bağımsız anlam ya da işlevsel yük taşıyan dilin minimum birimlerini belirleme sürecine belirli ölçüde karşılık gelebilir. Bununla birlikte, çoğu zaman bir token yalnızca istatistiksel olarak sık karşılaşılan bir karakter dizisidir; dolayısıyla tüm token'ların dilbilimsel anlamlılığını abartmamak önemlidir. Seçilen şemaya bağlı olarak bir token şunlardan biri olabilir: tam bir kelime, alt kelime birimi, tek bir karakter, hizmet etiketi (örneğin dizi başı ve sonu işaretleyicileri).

Tokenizasyon şunlara olanak tanır:

  • Kelime dağarcığı boyutunu kabul edilebilir ölçekte sınırlandırma;
  • Nadir ve yeni kelimeleri doğru biçimde işleme;
  • Metnin sayısal tanımlayıcı dizisine belirsizliksiz eşlenmesini sağlama.

Metni bölmek için alt kelime algoritmaları kullanılır; bunların en yaygın olanları Byte Pair Encoding (BPE), WordPiece ve UnigramLM'dir. Her biri külliyatın en sık görülen parçalarından oluşan bir sözlük oluşturur ve bunu herhangi bir giriş metnini sıralı biçimde bölümlendirmek için kullanır.

Tokenizasyon aşamasının ardından, her metin birimi — token — sinir ağının anlayabileceği sayısal bir temsile dönüştürülür. Bu süreç birbirini izleyen birkaç adımı kapsar:

  • Token'ların tanımlayıcılara dönüştürülmesi: Her token, önceden oluşturulmuş token sözlüğüne dayanılarak benzersiz bir sayısal indeksle eşleştirilir. Metin token'ları, kendilerine özgü sayısal tanımlayıcılarla (ID) değiştirilir. Her ID, önceden oluşturulmuş sözlükteki token numarasıdır; bu sayede sinir ağı kelimeler yerine sayılarla çalışabilir.
  • Tanımlayıcıların embedding'lere dönüştürülmesi: Her token tanımlayıcısı için sabit boyutlu bir vektör — embedding — çıkarılır veya hesaplanır. Bu çok boyutlu sayısal temsil, ID'nin yerini alır ve token'ın anlam ile bağlamsal özelliklerine ilişkin bilgiyi barındırır. Tüm embedding'ler, işleme kolaylığı açısından aynı uzunluğa sahiptir.
  • Konumsal kodlamaların eklenmesi: Transformer mimarisi kendi başına elemanların sırasını dikkate almadığından, embedding'lere token'ın dizideki konumuna ilişkin bilgi sağlayan konumsal kodlamalar (positional encodings) eklenir. Başka bir deyişle, bu sayede model cümlede hangi token'ın birinci, ikinci, üçüncü vb. sırada yer aldığını "bilir".
  • Giriş matrislerinin oluşturulması: Çıktı olarak [длина последовательности × размерность эмбеддинга] boyutlu bir matris elde edilir; bu matris, metnin başlangıç temsili olarak görev yapar ve sinir ağına, özellikle Transformer'ın öz-dikkat (self-attention) bloklarına girdi olarak iletilir. Bu matrisin her satırı bir token'a karşılık gelir ve içerdiği vektör hem token'ın anlamsal değerini (embedding) hem de metindeki konumuna ilişkin bilgiyi (konumsal kodlama) taşır.
Текст → Токены → Идентификаторы → Эмбеддинги + Позиционные кодировки → Вход в модель

Dikkat Mekanizması

Dikkat mekanizması (attention mechanism), Transformer mimarisinin temel bileşenidir ve token'lar arasındaki bağımlılıkların dizideki aralarındaki mesafeden bağımsız olarak dikkate alınmasını sağlar. Giriş metni bir vektör dizisine dönüştürüldükten sonra bu dizi, transformer'ın merkezi elemanı olan dikkat bloğuna (attention block) iletilir.

Dikkat mekanizması, sinir ağının her dizi elemanını işlerken giriş verilerinin hangi bölümlerine daha fazla dikkat etmesi gerektiğini belirlemesinin bir yoludur. Bu mekanizma sayesinde metnin ayrı parçalarına ait vektörler birbirleriyle etkileşime girerek bilgiyle zenginleşebilir ve çevreleyen bağlamı göz önüne alarak değerlerini güncelleyebilir. Böylece model, token'lar arasındaki hem yerel hem de uzak bağımlılıkları etkin biçimde yakalayabilmekte; bu da modelin karmaşık metin yapılarını yorumlama kapasitesini önemli ölçüde artırmaktadır.

Doğal dilde bir kelime ya da ifadenin anlamı yalıtılmış biçimde belirlenmez — bağlama, yani çevresindeki diğer kelime ve yapılara bağlıdır. Sinir ağlarında metin, token'ların sözcüksel ve sözdizimsel özelliklerini sayısal olarak yansıtan vektör temsilleri — embedding'ler — aracılığıyla kodlanır. Doğrudan dikkat mekanizması (Transformer'daki gibi) olmaksızın, bağlam bilgisi ya büyük mesafelerde kaybolur (basit modellerde olduğu gibi) ya da ardışık biçimde iletilir; bu ise uzak bağlantıları yakalamak açısından daha az verimlidir. Ancak doğal dilde bir kelimenin ya da sözdizimsel yapının anlamı dinamiktir ve yorumunun bağlama göre uyarlanması gerekir. Dikkat mekanizması, vektör temsillerini bağlamsallaştırır; bu şu anlama gelir (ya da yalnızca :):

  • Her token, cümledeki diğer token'lara göre kendi önemini "değerlendirir".
  • Güncelleme sürecinde vektör temsilleri, sözdizimsel bağımlılıkları, anlamsal rolleri ve edimbilimsel bağlamı yansıtarak karşılıklı bilgiyle zenginleştirilir.

Bu bilgi alışverişinin sonucunda güncellenmiş vektörler yalnızca token'ın kendi anlamını değil, aynı zamanda dilbilgisel bağlantılarını (sözdizimi), betimlenen durumdaki rolünü (anlambilim) ve bağlamdaki genel anlamını (edimbilim) da kodlamaya başlar.

Входные векторы токенов (с позициями) → Механизм Внимания (Взаимодействие векторов) → Контекстуализированные векторы токенов (Векторы обогащенные информацией о связях с другими токенами)

Dikkat Mekanizmasının Teknik Gerçeklenmesi

Dikkat mekanizmasının iç yapısı, birkaç temel hesaplama adımı ve bileşenden oluşur. Her giriş vektörü için üç vektör üretilir: Sorgu (Query), Anahtar (Key) ve Değer (Value). Bu vektörlerin birbirleriyle etkileşimi temelinde dikkat ağırlıkları hesaplanır; bu ağırlıklar daha sonra güncellenmiş, bağlamsallaştırılmış vektör temsilleri elde etmek için kullanılır. Yaygın bir yaklaşım, bilgiyi paralel biçimde işlemek üzere çok başlı mimari (Multi-Head Attention) kullanmaktır.

Sorgu (Query), Anahtar (Key), Değer (Value)

Dikkat mekanizması hesaplamasının temelinde, her giriş vektörünün (token embedding'inin ve konumsal kodlamasının toplamı olan) üç farklı vektör temsiline dönüştürülmesi yatar: Sorgu (Query, Q), Anahtar (Key, K) ve Değer (Value, V).

Kavramsal olarak bu üç vektör, dikkat mekanizmasında şu rolleri üstlenir:

  • Sorgu (Query): Dizide ilgili bilgiyi arama sürecini başlatan mevcut token'ın vektörünü temsil eder. Mevcut token'a göre diğer token'ların önemini değerlendirmek için kullanılan bir "soru" veya "sonda" olarak düşünülebilir.
  • Anahtar (Key): Her token'ın içeriğinin bir boyutunu tanımlayan bir tanımlayıcı veya "etiket" işlevi görür. Mevcut token'ın Sorgu (Q) vektörü, uygunluk veya ilgililik derecesini belirlemek amacıyla dizideki tüm Anahtar (K) vektörleriyle (kendi vektörü dahil) karşılaştırılır.
  • Değer (Value): Her token ile ilişkilendirilen ve ileriye iletilecek olan gerçek bilgiyi veya temsili içerir. Sorgu ve Anahtarların etkileşimi temelinde dikkat ağırlıkları hesaplandıktan sonra bu ağırlıklar, söz konusu token için dikkat mekanizmasının çıktısı olan nihai ağırlıklı temsili oluşturmak üzere Değer vektörlerine uygulanır.

Büyük Dil Modellerinin Eğitimi

LLM eğitimi ağırlıklı olarak iki aşamada gerçekleşir:

  1. Ön eğitim (Pretraining) Bu aşamada model, öz-denetimli öğrenme (self-supervised learning) yöntemiyle büyük etiketlenmemiş metin külliyatları üzerinde eğitilir. Görev, dizideki bir sonraki token'ı tahmin etmekten (otoregresyon) veya gizlenmiş parçaları geri yüklemekten (maskelenmiş eğitim) oluşur. Ön eğitim, modelin geniş kapsamlı istatistiksel dil örüntülerini, dilbilgisini, dünyaya ilişkin gerçekleri ve temel akıl yürütme biçimlerini özümsemesine olanak tanır.
  2. İnce ayar (Fine-tuning) Ön eğitimin ardından model, yanıt üretimi, metin sınıflandırması veya talimat takibi gibi belirli görevleri yerine getirmek üzere özelleştirilmiş veriler üzerinde yeniden eğitilir. Modern yaklaşımlar şunları kapsar:
    • Etiketlenmiş dataset'ler üzerinde ince ayar (supervised fine-tuning).
    • Modelin davranışını hedef kalite, güvenlik ve kullanışlılık ölçütleri doğrultusunda düzenlemek amacıyla insan geri bildirimiyle pekiştirmeli öğrenme (RLHF, reinforcement learning from human feedback).

Sorunlar ve Sınırlılıklar

Etkileyici ilerlemelere karşın, modern Büyük Dil Modelleri (LLM) bir dizi sorun ve sınırlılığa sahiptir:

I. Hesaplama ve Mimari Sınırlılıklar

  1. Yüksek hesaplama maliyetleri: LLM'lerin eğitimi ve işletimi, yüksek ekonomik ve çevresel maliyetlere yol açan önemli miktarda hesaplama gücü, zaman ve enerji gerektirmektedir. Bunun yanı sıra üretimin otoregresif doğası (token'ların sıralı oluşturulması), paralelleştirmeyi kısıtlamakta ve otoregresif olmayan yaklaşımlara kıyasla çıkarım hızını yavaşlatmaktadır.
  2. Bağlam uzunluğu sınırlaması: Transformer mimarisi, hesaplama maliyetleri ve bellek gereksinimlerinin dizi uzunluğuyla karesel bir bağımlılık ilişkisi içindedir. Bu durum, modelin tek seferde işleyebileceği metin miktarı üzerine sabit bir sınır (bağlam penceresi) belirlenmesini zorunlu kılmakta; uzun belgelerin kırpılmasına ve pencere dışındaki bilgilerin kaybolmasına yol açmaktadır.

II. Üretim Güvenilirliği ve Doğruluğu Sorunları

  1. Halüsinasyonlar: Gerçekte yanlış ancak akla yatkın görünen bilgilerin üretilmesidir. Bu durum, modelin dünyayı gerçek anlamda kavrayamaması, istatistiksel veri örüntülerine dayanması ve üretilen önermeleri doğrulayamamasıyla ilişkilidir.
  2. Hata birikimi (Error Propagation): Üretimin erken aşamalarında yapılan hataların sonraki adımlarda güçlenerek giderek artan tutarsızlıklara yol açtığı; metnin genel kalitesini ve bütünlüğünü düşüren bir süreçtir.
  3. Sınırlı kompozisyonellik: Çok adımlı mantıksal çıkarım veya kesin hesaplama gerektiren görevlerdeki güçlükler (örneğin, çok basamaklı sayıların çarpımı, bulmaca çözme). Modellerin bu tür görevlerdeki doğruluğu, üretimin otoregresif doğası nedeniyle karmaşıklık arttıkça keskin biçimde düşmektedir.
  4. Tekrarlar: Metnin bilgi içeriğini ve okunabilirliğini düşüren, kelime veya ifadelerin aşırı tekrarına yönelik eğilimdir. Bu durum, eğitim ve kod çözme algoritmalarının (bir sonraki token seçiminin) özelliğiyle bağlantılıdır.
  5. Tersine Çevirme Laneti (Reversal Curse): Modelin bilgiyi otomatik olarak ters yönde genelleyememesidir: "A, B'dir" önermesi üzerinde eğitilen model çoğu zaman "B, A'dır" sonucunu çıkaramamaktadır.
  6. Yaratıcılık-doğruluk dengesi: Çeşitli ve özgün yanıtlar üretmek ile olgusal doğruluğu korumak arasında denge kurma gerekliliğidir. Bir boyutun artırılması çoğunlukla diğerini olumsuz etkiler; örneğin yüksek yaratıcılık, artan halüsinasyonlarla ilişkili olabilir.

III. Etkileşim ve Yönetim Sorunları:

  1. Düşük yönetilebilirlik: Üretilen metnin stili, tonu ve içeriği üzerinde ya da karmaşık talimatlara uyum konusunda kesin denetim sağlamanın güçlüğüdür. Yönetilebilirlik, büyük ölçüde giriş talimatlarının ("prompt") kalitesine ve ince ayar (fine-tuning) yöntemlerine bağlıdır.
  2. Biçimlendirmeye duyarlılık: Giriş sorgusundaki (prompt) küçük değişiklikler, sorgunun anlamı korunsa bile önemli ölçüde farklı yanıtlara yol açabilir. Bu durum, tutarlı ve öngörülebilir sonuçlar elde etmeyi güçleştirmektedir.

IV. Etik ve Toplumsal Boyutlar:

  1. Önyargı ve adalet sorunları: Modeller, eğitim verilerinde mevcut olan toplumsal kalıpları, önyargıları veya zararlı içerikleri yeniden üretebilir ve pekiştirebilir. Modellerin adil ve güvenli olmasını sağlamak karmaşık bir görevdir.
  2. Hizalama sorunu (LLM Alignment): Önceki maddeyi de kapsayan daha genel bir sorundur. Bu, model davranışının insan değerleri, niyetleri ve etik normlarıyla uyumlu olmasını sağlama görevidir. Önyargı, halüsinasyon ve zararlı içerik üretimiyle mücadeleyi ve yönetilebilirliğin artırılmasını kapsar.
  3. Kötü niyetli kullanım riskleri: BDM'lerin dezenformasyon, kimlik avı, spam ve zararlı kod oluşturmak ya da ikna edici sahte metinler üretmek amacıyla kullanılma olasılığıdır; bu durum bilgi güvenliği ve kişisel güvenlik açısından tehdit oluşturmakta ve toplumsal güveni sarsmaktadır.

Kaynaklar:

  • "Большая языковая модель" // Vikipedi (Rusça sürüm)
  • Large Language Model // Wikipedia (English version)
  • Grand Modèle de Langage // Wikipédia (Version française)
  • Sprachmodell // Wikipedia (Deutsche version)
  • Naveed H. ve diğ. // A Comprehensive Overview of Large Language Models // arXiv:2307.06435, 2023

Literatür

  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Brown, T. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  • Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
  • OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
  • Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.