Ana sayfaya geri dön

ChatGPT gerçekte nasıl çalışır?

ChatGPT, büyük bir dil modeline (GPT-3.5 veya GPT-4) dayalı bir sohbet botudur. ChatGPT, kaputun altında, internetten etkileyici miktarda kamuya açık metin verisi üzerinde eğitilmiş önceden eğitilmiş bir sinir ağıdır.

Bu büyük miktarda veri, modelin kalıpları, dilbilgisini, bağlamı ve hatta bazı sağduyu bilgilerini öğrenmesini sağlayarak kullanıcı sorgularına anlamlı ve tutarlı yanıtlar üretmesine olanak tanır. ChatGPT, kullanıcılarla etkileşimli ve dinamik konuşmalar yapma konusunda benzersiz bir yeteneğe sahiptir ve bu da onu çok çeşitli uygulamalar için umut verici bir araç haline getirmektedir.

Büyük Dil Modeli Nedir?

Büyük dil modelleri, metni okumak, anlamak, oluşturmak ve tahmin etmek için doğal dil işleme olarak bilinen derin öğrenme tekniklerini kullanan yapay zeka algoritmalarıdır.

Bir soru (istem) yazdığınızda, model cevabı internette aramaz, size cevabı kafasından verir (kafası olmamasına rağmen). Her seferinde bir kelime olmak üzere bir yanıt üretir ve her bir sonraki kelimeyi, üzerinde eğitildiği metin verilerinden ve o ana kadar ürettiği metinlerden elde edilen olasılıklara göre belirler.

11 milyar parametre: soru yanıtlama, aritmetik, dil anlama

11 milyar parametre: soru yanıtlama, aritmetik, dil anlama

Bu nasıl mümkün olabilir? ChatGPT'nin bilgi için internette arama yapmasına gerek yok, çünkü zaten her şeyi biliyor (neredeyse). İnternette mevcut olan tüm bilgiler 175 milyar parametre aracılığıyla ChatGPT'ye dahil edilmiştir.

62 milyar parametre: çeviri, sağduyulu muhakeme, kod tamamlama

62 milyar parametre: çeviri, sağduyulu muhakeme, kod tamamlama

Model parametrelerinin sayısı arttıkça, modelde kimse tarafından kasıtlı olarak tasarlanmamış yeni yetenekler ortaya çıkar.

540 milyar parametre: mantıksal çıkarım zincirleri, örüntü tanıma, okuduğunu anlama

540 milyar parametre: mantıksal çıkarım zincirleri, örüntü tanıma, okuduğunu anlama

ChatGPT nasıl eğitildi?

ChatGPT, yüz binlerce kitap, makale ve diyalog üzerinde eğitilmiştir:

  • WebText2 (45 terabayttan fazla metin verisinden oluşan büyük bir kütüphane)
  • Cornell Film Diyalogları Derlemi (film senaryolarında 10.000 film karakteri arasında 200.000'den fazla konuşmayı içeren bir veri kümesi)
  • Ubuntu Dialogue Corpus (Ubuntu kullanıcıları ve topluluk destek ekibi arasındaki 1.000.000 çok turlu diyalogdan oluşan bir koleksiyon)
  • GitHub'dan milyarlarca satır kod

İlk olarak, GPT'nin erişebildiği tüm verileri herhangi bir insan yönlendirmesi olmadan işlemesine izin verildi ve böylece metin dünyasını belirleyen düzenlemeleri ve bağlantıları bağımsız olarak kavraması sağlandı (buna "denetimsiz öğrenme" deniyor).

Ardından, dil modeline ince ayar yapmak için insan geri bildirimli takviyeli öğrenme (RLHF) adı verilen bir teknik uygulandı:

  • İnsan YZ eğitmenleri, her iki tarafı da (kullanıcı ve YZ asistanı) oynadıkları konuşmalar gerçekleştirdiler. Yanıtların oluşturulmasına yardımcı olmak için model tarafından yazılmış önerilere erişimleri vardı. Model, diyalog geçmişi göz önüne alındığında asistanın bir sonraki mesajını tahmin etmek için denetimli ince ayar kullanılarak eğitildi.
  • Takviyeli öğrenme için bir ödül modeli oluşturmak üzere karşılaştırma verileri toplandı. Yapay zeka eğitmenleri, yanıtın mantıklı olup olmadığı ve yardımcı olup olmadığı gibi hususları göz önünde bulundurarak birden fazla model yanıtını kaliteye göre sıraladı. Seçilen yanıtlar, model tarafından yazılmış yeni mesajlar içeren bir diyalog veri kümesi haline geldi.
  • Bir önceki adımda toplanan karşılaştırma verilerine dayanarak bir yanıtın kalitesini tahmin etmek için bir modelin eğitildiği ödül modelleme adı verilen bir teknik kullanılarak bir ödül modeli oluşturuldu.

Sonunda ChatGPT, herhangi bir durumda nasıl yanıt verileceğini, kesin ve ilgili yanıtların nasıl verileceğini ve potansiyel olarak zararlı konulardan nasıl kaçınılacağını öğrendi.

Transformer mimarisi

ChatGPT'nin eğitim süreci, önceki kelimeler göz önüne alındığında bir cümledeki bir sonraki kelimeyi tahmin etmeyi içerir. Bunu başarmak için, kendi kendine dikkat mekanizmalarının katmanlarından oluşan bir Transformer mimarisi kullanılır (bu arada, ChatGPT'deki T, Transformer anlamına gelir). Öz dikkat, modelin bir sonraki kelimeyi doğru bir şekilde tahmin etmek için bir cümledeki farklı kelimeleri önemlerine ve alaka düzeylerine göre tartmasına olanak tanır.

Daha eski tekrarlayan sinir ağları (RNN'ler) metni soldan sağa doğru okur. Bu, ilgili kelimeler bitişik olduğunda iyi çalışsa da, bir cümlenin zıt uçlarında olduklarında zorlayıcı hale gelir.

Bu nedenle, bir RNN bir sayfalık bir metinle çalışırken, üçüncü paragrafın ortasına gelindiğinde, en başta ne olduğunu çoktan "unutmuş" olacaktır.

Buna karşılık, dönüştürücüler bir cümledeki her kelimeyi aynı anda işleme ve her kelimeyi diğerleriyle karşılaştırma yeteneğine sahiptir. Bu, girdi dizisi içindeki konumlarına bakılmaksızın "dikkatlerini" en alakalı kelimelere odaklamalarını sağlar.

Tokenizasyon

Transformatörlerin tek tek kelimeler üzerinde çalışmadığını (insanlar gibi okuyamadıklarını) belirtmek önemlidir. Bunun yerine, girdi metni kelimeler, noktalama işaretleri ve özel belirteçler dahil olmak üzere ayrı ayrı belirteçlere bölünür. ChatGPT'deki belirteçler, vektörler (yönü ve konumu olan sayılar) olarak temsil edilen metin parçalarıdır.

Belirteç vektörlerinin uzaydaki yakınlığı, ilişkilendirme düzeylerini belirler: ne kadar yakınlarsa, o kadar ilişkilidirler. Ayrıca, dikkat bir vektör olarak kodlanır ve dönüştürücü tabanlı sinir ağlarının bir paragrafın önceki bölümlerinden önemli bilgileri tutmasını sağlar.

Bir kullanıcı ChatGPT ile etkileşime girdiğinde, model hem kullanıcı istemleri hem de model tarafından oluşturulan yanıtlar dahil olmak üzere konuşma geçmişini girdi olarak alır. Girdi tokenize edilir ve ardından sinir ağına beslenir. Her belirteç, konuşma bağlamında anlamını temsil eden bir gömme ile ilişkilendirilir.

GPT-3 yaklaşık 500 milyar belirteç üzerinde eğitilmiştir, bu da dil modellerinin vektör uzayında eşleştirerek daha kolay anlam atamasına ve makul takip eden metni tahmin etmesine olanak tanır. Birçok sözcük tek bir belirteçle eşleşir, ancak daha uzun veya daha karmaşık sözcükler genellikle birden fazla belirtece ayrılır. Ortalama olarak, belirteçler kabaca dört karakter uzunluğundadır.

Modelin yanıtları ürettiği çıkarım aşamasında, otoregresyon olarak bilinen bir süreç kullanılır. Bu, modelin konuşma geçmişine ve daha önce üretilen kelimelere koşullanırken her seferinde bir kelime tahmin ettiği anlamına gelir. Üretilen yanıtın tutarlı ve ilgili olmasını sağlamak için top-p örnekleme ve sıcaklık ölçeklendirme gibi teknikler kullanılır.

Kısacası, top-p parametresi modele aralarından seçim yapabileceği bir seçenek (belirteç) havuzu verirken, sıcaklık belirli bir belirteci seçme olasılığını belirler. Sıcaklık 0 olarak ayarlandığında, model yalnızca en "popüler" belirteçleri (ChatGPT'nin eğitildiği metin verilerinde en sık birlikte bulunan kelimeler) seçecektir:

Bu her zaman harika değildir. Daha yüksek sıcaklıklar sonuçları daha çeşitli hale getirir:

ChatGPT parametreleri hakkında daha fazla bilgi: