Image 225
Yapay Zekânın Sonsuz Dünyası: ChatGPT

Merhabalar,

Bu yazıda son zamanların oldukça popüler konusu olan ChatGPT’den ve ChatGPT’nin kendi API’lerini kullanarak farklı uygulamalara nasıl implemente edilebileceğinden bahsedeceğim.

ChatGPT, 2022’nin kasım ayında OpenAI tarafından piyasaya sürülen yapay zekâ sohbet robotudur. OpenAI yapay zekâ araştırma platformudur ve kâr amacı gütmeyen bir kurumdur. 2015 yılında Elon Musk ve Sam Altman tarafından kurulmuştur.

ChatGPT piyasaya sürüldükten sonra 1 milyon kullanıcıya sadece 5 günde ulaşarak bu alanda rekor kırmıştır. Aynı kullanıcı sayısına Instagram 2,5 ayda, Spotify 5 ayda, Facebook ise 10 ayda ulaşabilmiştir.

ChatGPT’yi daha iyi anlayabilmek için öncelikle yapay zekânın gelişim aşamalarından da kısaca bahsetmek gerekiyor. Yapay zekânın temelini oluşturan adımlar aslında 700 sene öncesine dayansa da modern anlamda üç aşamadan oluştuğunu söyleyebiliriz.

Birinci aşama Alan Turing’in yapmış olduğu ve bilgisayarların da atası olarak kabul edilen Turing makinesidir. Turing makinesinin bu kadar önemli olmasının sebebi insanlar tarafından yapılması zor olan karmaşık matematiksel hesapların belirli bir düzenek ile kolayca yapılmasını sağlayan bir araç olmasıdır. Burada kullanılan temel mantık ve algoritma kullanımı bugünkü bilgisayar bilimine temel oluşturmuştur.

İkinci aşama yapay sinir ağlarıdır. Yapay sinir ağları insan beyninin bilgiyi işleyebilme tekniğinden esinlenerek geliştirilmiştir. Yapay sinir ağlarında öğrenme işlemi örnekler kullanılarak gerçekleştirilir. Biraz daha açmak gerekirse bu ağlara benzer şeyleri çok defa gösterirseniz bir noktadan sonra kendi kendine öğrenmeye başlar. Örneğin size ait birçok fotoğrafınız gösterildikten sonra yeni bir fotoğrafınız daha gösterilince bunun size ait olduğunu kendi kendine anlaması gibi. Bu sayede yapay sinir ağları kullanılarak yüz tarama, belgelerin özetini çıkarma gibi karmaşık konular yüksek doğruluk oranıyla çözülebilir.

Üçüncü ve son aşama olan ChatGPT ise internetteki bütün metinleri tarayıp dilin akışını öğrenir. Dilin akışını öğrenmekten kasıt belli kelimelerin ardından hangi kelimelerin geleceğini anlayıp mantıklı bir akış oluşturabilmektir. İnternetteki bütün metinleri öğrenip bunlardan istatistiki veriler çıkarırsanız, neredeyse her soruya cevap verebilen bir ürün ortaya koyabilirsiniz. Yani bu formülü çözebilirseniz aslında insanlığın bildiği her şeyi dolaylı yoldan çözmüş olursunuz.

Burada büyülü bir şeyden bahsediyor gibi gözüksek de aslında ChatGPT temelde internette var olan bilgiler üzerinden özet çıkarır. Örneğin “Dünya’nın sorunlarına çözüm üretecek yeni bir buluş yapar mısın?” sorusuna mantıklı bir cevap veremez çünkü buna cevap verebilmesi için o bilginin bir yerlerde var olması gerekmektedir. Her seferinde aynı soruya farklı cevaplar verebilmesinin sebebi de her kelimeden sonra gelecek mantıklı diğer kelime adayları arasından rastgele seçim yapabilmesidir.

Bu noktaya gelmişken ChatGPT’nin de kullanıyor olduğu dil modellerinin öğrenme mantığından kısaca bahsetmek gerekiyor. Buradaki temel mantık insanların kullandıkları sözcüklerin matematiksel karşılıklarının nasıl konumlandırılacağının çözülmesinden geçiyor. Örneğin eskiden mandalina ve portakal derdik ama bunların birbirine yakınlığı ya da uzaklığı gibi matematiksel kavramlar yoktu. Şimdiyse mandalina ve portakalın birbirine yakın ama mesela televizyon kelimesinin bunlara uzak bir kavram olduğunu matematiksel olarak ifade edebiliyoruz. Dil işleme teknolojilerinin çıkış noktası da burasıdır. Çıkış noktası dedim çünkü çıkış noktası da bir yerden sonra yetersiz olmaya başladı çünkü sesteş kelimeler için bu durum hala sıkıntı oluşturuyordu. Örneğin ocak sözcüğü birbirinden alakasız çok farklı anlamlara gelebiliyor ve sadece kelimeye göre sınıflandırma yapmak yetersiz kalıyordu. Bu noktadan sonra kelimeleri gruplamak yerine kelime anlamlarını cümle içerisinde kullanımına bakılmaya başlanıldı. Örneğin “Ben bugün kırmızı bir … yedim” dediğimde buradaki boşluğu doldurabilirsiniz ve bunun gibi binlerce cümle internette var olduğu için ChatGPT de boşluğa gelme ihtimali olan mantıklı kelimeleri kolaylıkla bulabilir.

Yapay zekâ ve dil modellerinden biraz bahsettikten sonra esas konumuza geri dönebiliriz. ChatGPT dil modeli olarak GPT (Generative Pre-trained Transformer) dil model ailesini kullanır. GPT, insan benzeri konuşmaya dayalı metinler üretmek için derin öğrenmeyi kullanan bir dil modelidir. GPT modellerinin sahip olduğu parametre değerleri şu şekildedir;

  • GPT-1: 117 milyon
  • GPT-2: 1.5 milyar
  • GPT-3: 175 milyar
  • GPT-4: 170 trilyon

Mart 2023’te çıkarılan GPT-4 modeli bugüne kadarki açık ara en güçlü modeldir ve kullanımının yaygınlaşmasıyla insanlığın yaşam biçimini bile değiştireceğini söylemek abartı olmayacaktır. Şekil 1’de görüldüğü gibi kendisinden bir önceki modelle Dünya çapında girdikleri bazı sınav sonuçlarının karşılaştırılması verilmiştir.

NOT: Grafikte gözüken GPT-3.5 ara bir modeldir ve aslında yine GPT-3’ün alt kırılımı olan text-davinci-003 modelini kullanmaktadır.

Şekil 1

GPT-4 modelini öncekilerden ayıran en önemli özelliklerden biri de görüntü işlemedeki muazzam kabiliyetidir. Şekil 2’de görüldüğü gibi GPT-4’ün duyurulduğu canlı yayında, Greg Brockman’ın not defterine el yazısıyla yazılmış birkaç satırlık metnin fotoğrafını çekip GPT-4 modeline upload ettikten saniyeler sonra web sitesini oluşturması büyük yankı uyandırmıştı.

 

Şekil 2

Şekil 3’te ise ChatGPT’nin genel çalışma mantığının basit ve anlaşılır bir diyagramı görülmektedir.

Şekil 3

ChatGPT API’leri Nasıl Kullanılır?

OpenAI, ChatGPT’yi kişilerin ve kuruluşların kullanımına sunabilmek için belirli bir ücret karşılığında API’ler aracılığıyla hizmet sağlamaktadır. Bunun için OpenAI hesabı açtıktan sonra API iletişiminde kullanılmak üzere açtığınız hesaba özel bir API key generate etmek gerekmektedir.

Örnek olması açısından bazı API kullanımlarını aşağıya bırakıyorum. İstek atmak için kullanılan parametrelerin detaylı şu şekildedir:

  • Model: Kullanılmak istenilen dil modelidir. Örneklerde GPT-3 ailesinin en yetenekli modeli olan text-davinci-003 tercih edilmiştir.
  • Prompt: ChatGPT’ye girdi olarak verilen değerdir. İstenilen cevabı alabilmek için soruyu doğru şekilde sorabilmek çok önemlidir.
  • Temperature: Randomness olarak ifade edilir ve [0,1] aralığında değer alabilir. Değer 0’a yaklaştıkça daha garanti, 1’e yaklaştıkça daha orijinal fakat doğruluk oranının biraz daha düşük olması beklenen cevaplar verilir.
  • Max_tokens: Sorulan soru ve alınan cevabın toplamda alabileceği maksimum metin uzunluğunu ifade eder. 1 token yaklaşık olarak 4 karaktere denk gelir. API kullanımındaki ücretlendirmeler de token sayıları üzerinden hesaplanır.

Burada dikkat edilmesi gereken bir diğer konuysa Şekil 4 ve Şekil 5’teki örnekte kullanılan GPT-3 modeli 2019 yılına kadar olan verilerle eğitilmiştir. Bu nedenle 2019 yılına ait bir soruya doğru cevap verebilirken günümüzle ilgili bir soruya doğru cevap verememektedir. En son çıkan GPT-4 modeliyse 2021 yılına kadarki verilerle eğitilmiştir.

Şekil 4

 

Şekil 5

ChatGPT piyasaya her ne kadar sohbet robotu olarak çıksa da kodlama konusunda da oldukça başarılıdır. API’leri aracılığıyla yazılım süreçlerine rahatlıkla dahil edilebilir. Şekil 6 ve Şekil 7’de kodlama örneği görülmektedir.

Şekil 6
Şekil 7

Son olarak bahsedeceğim konu da API’leri etkin şekilde kullanabilmek için girdi(prompt) olarak verilen ifadelerin manipüle edilmesidir. Daha doğru sonuçlar elde edebilmek için ChatGPT’yi deyim yerindeyse yönlendirmek gerekmektedir. Örneğin kendi mobil uygulamamızda müşteri deneyimini arttırmak amacıyla sohbet robotu eklemek istiyoruz ve bunu doğrudan ChatGPT API’leri aracılığıyla yapmak istiyoruz. Bunu yaparken API’ye gönderilecek girdilerin uygun şekilde düzenlenmesi gerekmektedir. Örneğin Şekil 8 ve Şekil 9’da görülen müşteriden gelen “Sen kimsin?” sorusunu doğrudan girdi olarak vermek yerine önüne bazı eklemeler yaparak istediğimiz cevabı alma ihtimalimiz daha yüksek olacaktır.

Şekil 8
Şekil 9

Kaynakça:

  1. https://medium.com/@mlubbad/the-ultimate-guide-to-gpt-4-parameters-everything-you-need-to-know-about-nlps-game-changer-109b8767855a
  2. https://platform.openai.com/docs
  3. https://www.analyticsinsight.net/comprehensive-guide-natural-language-processing/
  4. https://blog.bytebytego.com/p/ep-44-how-does-chatgpt-work
  5. https://www.veribilimiokulu.com/yapay-sinir-agiartificial-neural-network-nedir/
  6. https://www.felsefe.gen.tr/turing-makinesi-nedir/
  7. https://www.webtekno.com/gpt-4-duyuruldu-ozellikleri-h132916.html
  8. 50 Soruda Yapay Zekâ – Cem Say
Serhat Memik
Nisan 12 , 2023
Diğer Blog İçerikleri