paint-brush
Berbat Otomatik Tamamlama'dan ChatGPT'ye: Dil Modellerinin Evrimiile@rosdem
1,202 okumalar
1,202 okumalar

Berbat Otomatik Tamamlama'dan ChatGPT'ye: Dil Modellerinin Evrimi

ile Rostyslav Demush9m2023/03/14
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Dil modelleri yeni değil. Bunları yıllardır telefonlarımızda otomatik tamamlama özelliğiyle saklıyoruz. Bir sonraki olası kelimeyi veya sembolü belirlemek için eğitilirler. Ancak dil çevirisi ve soru cevaplama gibi diğer görevler için de ince ayarlar yapılabilir.
featured image - Berbat Otomatik Tamamlama'dan ChatGPT'ye: Dil Modellerinin Evrimi
Rostyslav Demush HackerNoon profile picture


Mevcut heyecana rağmen dil modelleri yeni değil. Bunları yıllardır telefonlarımızda otomatik tamamlama özelliğiyle kullanıyoruz. Ve her ne kadar bize yazım konusunda birkaç saniye kazandırsalar da, hiç kimse onlara "zeki" ya da " duyarlı " demez.


Teknik olarak tüm dil modelleri yalnızca belirteçlerin olasılık dağılımlarıdır. Öncekiler göz önüne alındığında, hangisi simgeleştirilmişse, bir sonraki olası kelimeyi veya sembolü belirlemek için eğitilirler. Ancak dil çevirisi ve soru cevaplama gibi diğer görevler için de ince ayarlar yapılabilir.

Dil üretimi nedir?

Dil üretimi, bir algoritmaya rastgele bir kelime verme ve böylece eğitim verilerinden öğrendiği olasılıklara göre bir sonraki kelimeyi üretme ve ardından onu sürekli olarak kendi çıktısıyla besleme sürecidir. Örneğin, model "Ben"i görürse "am", ardından "iyi" vb. üretmesini bekleriz.


Anlamlı cümleler oluşturabilme yeteneği referans penceresinin boyutuna bağlıdır. Telefonlarımızda bulunanlar gibi daha eski temel modeller yalnızca bir veya iki kelime geriye bakabilirler, bu yüzden miyopturlar ve ortasına ulaştıklarında cümlenin başlangıcını unuturlar.

RNN'lerden Transformatörlere

Transformatörlerden önce araştırmacılar, kısa bellek sorununu çözmek için Tekrarlayan Sinir Ağlarını (RNN'ler) kullanıyordu. Çok fazla ayrıntıya girmeden, hilelerinin girdi cümlesindeki tüm düğümler hakkında bilgi içeren gizli bir durum vektörü üretmek ve bunu tanıtılan her yeni belirteçle güncellemek olduğunu söyleyebiliriz.


Her ne kadar fikir kesinlikle zekice olsa da, gizli durum her zaman en son girdilere karşı ağır bir önyargıyla sonuçlandı. Bu nedenle, temel algoritmalar gibi, RNN'ler de o kadar hızlı olmasa da hâlâ cümlenin başlangıcını unutma eğilimindeydi.


Daha sonra Uzun Kısa Süreli Bellek (LSTM) ve Geçitli Tekrarlayan Birim (GRU) ağları tanıtıldı. Vanilya RNN'lerinden farklı olarak, üretilen çıktıdan uzak olsalar bile ilgili girdilerin hafızasının korunmasına yardımcı olan yerleşik mekanizmalara (kapılara) sahiptiler. Ancak bu ağlar doğası gereği hâlâ sıralıydı ve çok karmaşık mimarilere sahipti. Bunlar verimsizdi ve paralel hesaplama yasaktı, dolayısıyla ışık hızında bir performans elde etmek için bunları aynı anda birden fazla bilgisayarda çalıştırma şansı yoktu.


Transformatörler ilk olarak 2017 yılında Google tarafından bu makalede anlatılmıştı. LSTM'ler ve GRU'ların aksine, belirli bir aşamada işlemle ilgili olan segmentleri aktif olarak seçme ve bir tahmin yaparken bunlara referans verme becerisine sahiptiler. Daha hızlıydılar, daha verimliydiler ve dikkat ilkesine dayanan daha basit bir mimariye sahiptiler.


Çalışmayı şimdi okursanız, o zamanlar bol miktarda bulunan makine çevirisi üzerine sıradan bir makale gibi görünmesi komik. Yazarlar muhtemelen yapay zeka tarihindeki en önemli mimarilerden birini icat etmiş olabileceklerinin farkında değillerdi.

Dikkat

Makine öğrenimi bağlamında dikkat , bir dizideki konumu ve diğer girdi öğelerine göre önemi hakkında bilgi içeren her bir tokena atanan vektörleri ifade eder. Model, seri işleme gerek duymadan tahmin yaparken bunları kullanabilir. Biraz daha açıklayalım ki daha net olsun.


Transformatörlerden önce, sinir dili çevirisi gibi diziden diziye işlemeye yönelik geleneksel yaklaşım, tüm girdileri bir RNN kullanarak tek bir gizli duruma kodlamak ve ardından başka bir RNN kullanarak hedef dizinin kodunu çözmekti. Kodlama tarafında önemli olan tek şey son durumdu.


2014 yılında Bahdanau ve ark. tüm gizli durumları kod çözücü ağının erişimine açmak ve mevcut çıktıyı oluşturmak için bunlardan hangisinin en önemli olduğunu belirlemesine izin vermek gibi parlak bir fikir önerdi. Ağ ilgili kısımlara dikkat etti ve gerisini görmezden geldi.


Dört yıl sonra Google'ın makalesi yayınlandı. Bu kez yazarlar, RNN'lerin tamamen bırakılmasını ve yalnızca hem kodlama hem de kod çözme aşamalarına dikkat edilmesini önerdiler. Bunu yapabilmek için orijinal dikkat mekanizmasında, kişisel dikkatin gelişmesine yol açan bazı değişiklikler yapmak zorunda kaldılar.

Öz-dikkat

Öz-dikkati düğümler arasında tek bir sıradaki iletişim mekanizması olarak düşünmek muhtemelen en kolay yoldur. Çalışma şekli, tüm giriş belirteçlerine, ilk yerleştirmelerinin farklı yönlerini temsil eden üç vektör (Sorgu (Q), Anahtar (K) ve Değer (V)) atanmasıdır.


  • Sorgu vektörleri (Q) girdinin ne aradığını gösterir. Bunları YouTube arama çubuğuna yazdığınız ifadeler olarak düşünün.

  • Anahtar vektörler (K), girdi için tanımlayıcı görevi görerek sorgu için eşleşmeleri bulmasına yardımcı olur. Bunlar, alakalı başlıklara sahip Youtube arama sonuçlarına benzer.

  • Değer vektörleri (V), her bir belirtecin gerçek içeriğini temsil eder ve modelin, sorguyla ilgili olarak ilgili düğümün önemini belirlemesine ve çıktı oluşturmasına olanak tanır. Bunlar, arama sonuçlarından hangi videoya tıklayacağınıza karar vermenize yardımcı olan küçük resimler ve video açıklamaları olarak düşünülebilir.


Not: Kişisel dikkatte tüm Q'lar, K'ler ve V'ler aynı diziden gelir, oysa çapraz dikkatte bunlar değildir.


Öz-dikkat formülü şuna benzer: Attention(Q,K,V) = softmax((QK^T) / sqrt(d_k)V Ve kısaca prosedür şöyle:


  1. İlgili matrisleri (Q, K, V) oluşturmak için sorgulara, anahtarlara ve değerlere üç doğrusal dönüşüm uygulanır.
  2. Qs ve Ks'nin nokta çarpımları hesaplanır; bize tüm sorguların tüm anahtarlarla ne kadar iyi eşleştiğini söylerler.
  3. Ortaya çıkan matris, d_k tuşlarının boyutunun kareköküne bölünür. Bu, daha istikrarlı bir değişim elde etmek için gerekli olan bir ölçek küçültme prosedürüdür (aksi takdirde değerlerin çarpılması patlama etkisi yaratabilir).
  4. Ölçeklendirilmiş puana softmax fonksiyonu uygulanarak dikkat ağırlıkları elde edilir. Bu hesaplama bize 0'dan 1'e kadar değerler verir.
  5. Her girdinin dikkat ağırlıkları değer vektörleriyle çarpılır ve çıktılar bu şekilde hesaplanır.
  6. Çıktılar bir doğrusal dönüşümden daha geçirilir, bu da kişisel dikkatten elde edilen verilerin modelin geri kalanına dahil edilmesine yardımcı olur.


GPT Ailesi

Transformatörler başlangıçta dizileri kodlamak için RNN'lere basit bir alternatif olarak icat edildi, ancak son beş yılda bilgisayarlı görme de dahil olmak üzere yapay zeka araştırmalarının çeşitli alanlarına uygulandı ve sıklıkla en son teknolojiye sahip modelleri geride bıraktı.


Ancak 2018'de, eğer büyük hale getirilirse (milyonlarca parametreyle), yeterli bilgi işlem gücü sağlanırsa ve web'deki geniş, çeşitli ve etiketsiz metinler üzerinde eğitilirse ne kadar güçlü olabileceklerini bilmiyorduk.


Yeteneklerine ilk bakış, OpenAI tarafından geliştirilen, 117 milyon parametreye sahip ve etiketlenmemiş veriler üzerinde önceden eğitilmiş olan Üretken Ön Eğitimli Transformatörde (GPT) görüldü. Bu algoritmaların görevler için özel olarak eğitilmiş olmasına ve GPT'nin olmamasına rağmen, 12 NLP görevinden 9'unda ayrımcı eğitimli modellerden daha iyi performans gösterdi.


Daha sonra GPT-2 modelleri (en büyüğü 1,5 milyar parametreli) geldi ve onları birçok transformatör takip etti. Ve 2020'de OpenAI nihayet GPT-3'ü piyasaya sürdü; en büyük versiyonu 175 milyar parametreye sahipti ve mimarisi çoğunlukla GPT-2 ile aynıydı.


Görünüşe göre OpenAI'nin amacı, modellerini büyüterek ve ona daha fazla metin ve güç sağlayarak ne kadar yüksek performans elde edebileceklerini belirlemekti. Sonuçlar şaşırtıcıydı.


Not: 175 milyar parametre günümüz standartlarına göre oldukça küçük kabul edilmektedir.



GPT-3, romanlar, şiirler, kılavuzlar, senaryolar, haber makaleleri, basın bültenleri, görsel altyazıları, şarkı sözleri, e-postalar, diyalog yanıtları vb. gibi çeşitli stil ve formatlarda metinler oluşturma kapasitesine sahiptir. Kod yazabilir, özetleyebilir, özetleyebilir, Herhangi bir bilgiyi yeniden ifade edin, basitleştirin, kategorilere ayırın ve çok daha fazlasını yapın. Tüm yeteneklerini listelemek için kelimenin tam anlamıyla başka bir makale gerekir. Ancak özünde bu canavar hala basit bir otomatik tamamlama sistemidir.


SohbetGPT

Tamam, inanılmaz derecede güçlü bir dil modelimiz var. Bunu sadece chatbot olarak kullanabilir miyiz? HAYIR.


GPT-3 ve analogları hâlâ dizi tamamlama araçlarıdır, başka bir şey değildir. Doğru yönlendirme olmadan, sorunuzdan anladıkları konu hakkında gevezelik edecekler ve akıcı, tutarlı ve gramer açısından kusursuz gibi görünebilecek sahte makaleler, haberler, romanlar vb. uyduracaklar, ancak bunlar nadiren yararlı olacaktır.


Gerçekten yararlı bir sohbet robotu oluşturmak için OpenAI, modelin güncellenmiş sürümü olan GPT-3 veya GPT 3.5 üzerinde kapsamlı ince ayarlar gerçekleştirdi; bunu henüz tam olarak bilmiyoruz. Bu süreçle ilgili ayrıntıların çoğu henüz açıklanmamış olsa da botun kardeş modeli InstructGPT ile neredeyse aynı şekilde eğitildiğini biliyoruz. Ayrıca, ikincisinin, DeepMind'in henüz piyasaya sürülmemiş bir 'akıllı diyalog aracısı' versiyonu olan ve biraz sonra ortaya çıkan bu makalede açıklanan Sparrow'a birçok yönden benzediğini de fark ettik.


Dolayısıyla, tüm transformatör tabanlı algoritmaların etkili bir şekilde aynı mimariye sahip olduğunu bilerek, OpenAI'nin blog yazısını okuyabilir, onu Sparrow makalesiyle karşılaştırabilir ve ardından ChatGPT'nin başlığı altında neler olup bittiğine dair bazı bilinçli tahminler yapabiliriz.


Makaledeki ince ayar sürecinin üç aşaması vardı:


  1. Yapay zekaya bir asistanın nasıl davranması gerektiğini gösteren verileri biriktirmek. Bu veri seti, soruların ardından kesin ve faydalı yanıtların geldiği metinlerden oluşur. Neyse ki, önceden eğitilmiş büyük dil modelleri örnek açısından oldukça verimlidir, bu da sürecin muhtemelen o kadar uzun sürmediği anlamına gelir.


  2. Modele, sorgulara yanıt vermesini ve aynı soruya birden fazla yanıt üretmesini sağlayarak ve ardından insanların her yanıtı derecelendirmesini sağlayarak bir deneme yapıyoruz. Ve aynı zamanda arzu edilen yanıtları tanımak için bir ödül modeli eğitmek.


  3. Sınıflandırıcıya ince ayar yapmak ve ChatGPT'nin yanıtlarının politikaya göre yüksek puan almasını sağlamak için OpenAI'nin Yakınsal Politika Optimizasyonunu kullanmak.


Sparrow makalesi benzer bir yöntemi açıklamaktadır ancak birkaç ek adım içermektedir. DeepMind'in tüm diyalog aracıları gibi Sparrow da programcılar tarafından her zaman modele verilen ve kullanıcılar tarafından görülemeyen girdi görevi gören özel el yapımı istemlere göre koşullandırılmıştır. ChatGPT muhtemelen bu tür 'görünmez' istemler tarafından da yönlendiriliyor.


Bir Serçenin ilk istemine örnek.



Etkili bir yardımcı olması için Sparrow'a sorular soruldu ve Sparrow , DeepMind tarafından ortaya konan genel yararlılık ilkelerine ve etik kurallara (nezaket ve doğruluk gibi) dayalı olarak insanlar tarafından değerlendirilen yanıtlar üretti. Ayrıca insanların aktif olarak Sparrow'u başarısızlığa uğratmaya çalıştığı, düşmanca bir eğitim türü de vardı. Daha sonra değerlendirilmesi için iki sinir ağı sınıflandırıcısı eğitildi; yanıtları yararlılık açısından puanlayan ve yanıtların DeepMind'ın kurallarından ne kadar saptığını belirleyen bir tane.


ChatGPT artık rahatsız edici içerik üretmemesi gerektiğini biliyor ancak yayınlandıktan sonra zaman zaman duyarsız yanıtlar üretti; OpenAI'nin zararlı metinlerin geçişine izin vermeyecek şekilde özel olarak tasarlanmış başka bir model eklemiş olabileceğini düşünüyoruz. Ancak elbette henüz kesin olarak bilemeyiz ve ChatGPT'nin kendisi de bu konuda şüpheli davranıyor.




ChatGPT'den farklı olarak Sparrow, kaynaklara atıfta bulunacağı ve Google aramaya erişeceği için söylediklerini destekleyecek kanıtlar da sunabilecek. Modelin bunu yapabilmesini sağlamak için araştırmacılar ilk istemini güncellediler ve iki kişiyi daha eklediler: arama sorgusu ve arama sonucu.



Kanıta dayalı diyalog için bir Serçenin yönlendirmesine örnek


Not: Aynı prensip muhtemelen Google tarafından yakın zamanda duyurulan ChatGPT'nin rakibi Bard'da da uygulanmıştır.



ELI5 veri kümesini ve Sparrow'un önceki yinelemelerinin yanıtlarını kullanarak iki sınıflandırıcıyla yapılan eğitimin ardından model, her soruya birden fazla doğru ve iyi araştırılmış yanıt üretebilir. Kullanıcıya gösterilen yanıt her zaman kullanışlılık sınıflandırıcısında en yüksek, kuraldan sapma sınıflandırıcısında ise en düşük puanı alan yanıttır.


Sırada ne var?

Google'ın LaMDA dil modelini temel alan sohbet robotu Bard , 6 Şubat'ta duyuruldu. Halihazırda ilgi odağı olmaya başladı ancak henüz eğitimine ilişkin spesifik bir ayrıntı ortaya çıkmadı. Sparrow'un beta sürümünün de 2023'te piyasaya sürülmesi bekleniyor. Bu botlardan herhangi birinin ChatGPT kadar popüler olup olmayacağı henüz bilinmiyor. Her ikisinin de kendilerine yeni bir numaralı sohbet robotu olma potansiyelini veren benzersiz özellikleri var, ancak OpenAI'nin süperstar sohbet asistanını güncellemeyi ve geliştirmeyi bırakacağını da düşünmüyoruz.


Belki yakında ChatGPT'yi yeni ve daha iyi özelliklerle göreceğiz. Pazar hakimiyeti açısından hangi şirketin zirveye çıkacağını tahmin etmek imkansızdır. Ancak rekabeti kim kazanırsa kazansın, yapay zeka teknolojisiyle ulaşılabilir olarak algılanan sınırların sınırlarını daha da zorlayacak ve bu kesinlikle heyecan verici olacak.