1 puan yazan GN⁺ 2024-02-25 | 1 yorum | WhatsApp'ta paylaş

Veritabanı sorgularını optimize etme yöntemleri

  • Veritabanı sorgularını hızlandırma yöntemlerine dair açıklama.

GPT modelini SQL ile uygulamak

  • GPT modelini SQL ile uygulamanın teorisi ve gerçek uygulama süreci.
  • GPT modeli, verilen metin dizisini alıp bir dizi metin ve sayı döndüren bir fonksiyondur.
  • Bu fonksiyon deterministiktir; aynı girdi için her zaman aynı çıktıyı döndürür.

Teori

  • GPT modelinin iç çalışma prensibine dair kısa bir açıklama.
  • Üretici büyük dil modelinin teknik açıdan ne olduğuna dair açıklama.
  • Fonksiyonun dönüş değeri, verilen promptu devam ettirecek kelimeyi ve onun olasılığını gösteren tuple'lardan oluşan bir dizidir.

Değerlerin anlamı

  • Fonksiyonun döndürdüğü değer, kelime ve o kelimenin promptu devam ettirme olasılığını gösteren sayıdan oluşan tuple'lardan meydana gelen bir dizidir.

Çeşitli metin üretim yöntemleri

  • Büyük dil modelleri metin uygulamalarında kullanılır ve modelin önerdiği kelimeler seçilip prompta eklenerek çalışır.
  • Bu süreç, insan dilinin dilbilgisini, sözdizimini, zekâsını ve akıl yürütmesini içeren metin üretir.

Generative Pre-trained Transformer'ın anlamı

  • "Generative", metin ürettiği anlamına gelir; "Transformer" ise belirli bir tür sinir ağının kullanıldığını gösterir.
  • "Pre-trained", modelin metni devam ettirme yeteneğinin başlangıçta özel görevler için bir ön eğitim aşaması olarak düşünüldüğünü, ancak yeterince büyük modellerin ek eğitim olmadan da insan dilindeki talimatları takip edebildiğini ifade eder.

Üretim

  • GPT2 kullanarak bir prompttan metin üretme sürecinin açıklaması.
  • Metin, bir token listesine dönüştürülür ve aday token'ların olasılıklarını hesaplamak için algoritma çalıştırılır.
  • Sonraki token seçilip token listesine eklenir; yeterli sayıda kelime üretilene kadar bu işlem tekrarlanır.

Tokenizer

  • Metni sinir ağına girmeden önce sayı listesine dönüştürme süreci.
  • GPT2, tokenizer'ı uygulamak için Byte pair encoding algoritmasının bir varyasyonunu kullanır.

Embedding

  • Token'lar insan dilinin bir bölümünü temsil ettiğinden, metin tamamlama için gerekli token'lar arası ilişkilerin kodlanması gerekir.
  • GPT2, her token için 768 boyutlu bir vektör kullanarak embedding yapar.

Dikkat mekanizması

  • Transformer mimarisinin çekirdeği olan self-attention mekanizmasına dair açıklama.
  • Her token'ın vektörünün birbirini etkilemesini sağlayarak özellikleri son vektöre taşır.

Feedforward

  • Derin sinir ağlarında gerçekleştirilen, girdiyi birden çok katmandan geçirerek işleyen adım.
  • Her katman, öğrenilmiş parametreleri kullanarak girdiyi dönüştürür.

Blok

  • Önceki aşamalarda açıklanan süreç, birden çok katman (blok) boyunca tekrarlanır.
  • Her bloğun çıktısı, bir sonraki bloğun girdisi olarak kullanılır.

GN⁺ Görüşü

  • Bu yazı, veritabanı uzmanları veya yazılım mühendisleri için oldukça faydalı; GPT modelini SQL ile uygulamanın karmaşık sürecini anlamaya yardımcı olabilir.
  • GPT modelinin temel ilkelerini ve uygulama yöntemini açıklayarak, okurların yapay zeka dil modellerinin nasıl çalıştığına dair içgörü kazanmasını sağlar.
  • Teknik içerik barındırsa da, yapay zeka ile veritabanı teknolojilerinin birleşimine dair ilgi çekici bir örnek sunarak bu alandaki güncel eğilimleri anlamaya yardımcı olur.

1 yorum

 
GN⁺ 2024-02-25
Hacker News görüşleri
  • Bu çok güzel bir çalışma. Yazar aynı doğrultuda SQLite kullanarak araştırma yapıyormuş ve sinir ağlarını işin içine katmak için henüz erken olduğunu söylüyormuş. makemore ders serisinden ilham almış; yaklaşık 1 saat sonra sinir ağlarını kullanmaya başlamış ve yazarın ulaştığı nokta da bu olmuş. Bunu ilişkisel modele bölmek gerçekten çok iyi bir alıştırma oluyor.
  • Demo güzel, ancak yazıdaki nedensel maskeleme açıklaması kafa karıştırıcı. Nedensel maskeleme, modelin eğitim sırasında gelecekteki token'lara "göz atmasını" engellemek için vardır ve GPT gibi mimarilerde çıkarım sırasında öz yinelemeli yönü zorunlu kılmak için bulunur. Çıkarım sırasında zaten yalnızca son token kullanılır, dolayısıyla bu token tüm girdi dizisine dikkat edecektir. Bu yüzden bu token kesinlikle yalnızca son token'ın embedding'ine göre belirlenmez.
  • Bunun GPT sürücü döngüsünün doğru bir ifadesi olup olmadığını soruyor. Kodun bir string'i token listesine dönüştürdüğü, algoritmayı çalıştırıp token olasılıklarını döndürdüğü, aday listesinden bir sonraki token'ı seçtiği, bunu token listesine eklediği ve üretimi durdurup durdurmayacağına karar verdiği süreci tekrar ettiği görülüyor. Son olarak token listesini tekrar string'e çevirip döndürüyor gibi görünüyor. Bu, Shlemiel the painter algoritmasını uygulayan bir durum makinesine çok benziyor ve üretim işinin doğasında bulunan hesaplama maliyeti konusunda soru işaretleri yaratıyor.
  • Modern makine öğrenimi Turing tamlığını gerektirmiyor, ama insanlar AGI olasılığını düşünüyor. Eğer Turing tamlığı gerekmiyorsa bu oldukça ilginç olurdu.
  • İlgili bağlantı: "NumPy ile yapılmış 60 satırlık GPT" - Şubat 2023 (146 yorum)
  • Buna bayıldım. Bir yıl önce bir tür sihir gibi görünen şey, artık son derece iyi açıklanıyor ve neredeyse çocukça denebilecek kadar sade bir şekilde anlatılıyor.
  • GPT ve LLM'lerden tamamen uzak durmuştum. Bu, metin çıktısında belli bir akıcılık düzeyi üretecek gibi görünüyor, ancak soruları ayrıştırıp yanıtlamak için kullanılabilecek gibi gelmiyor. Bunların nasıl çalıştığını ya da Python gibi bir dilde oyuncak bir motoru gösteren basit blog yazıları veya eğitimler olup olmadığını merak ediyorum. Şimdiye kadar gördüğüm tüm eğitimler platformların nasıl kullanılacağına odaklanıyor.
  • Bu harika. Benzer bir bağlamda, yazar GPT'yi yalnızca elektronik tablo işlevlerini kullanarak da uyguluyor ve yanında video eğitimleri de sunuyor.
  • Beklenmedik derecede içgörü dolu ve başta aklımda olan bazı sorulara yanıt veriyor: yalnızca "nasıl" değil, "neden" sorularına da. softmax kalıbını çok sık görüyoruz. İnsanlara doğrudan formülü vermek yerine bunu "türevlenebilir argmax" olarak öğretmelerini isterdim. Hepsi bundan ibaret değil, ama çoğu zaman bu şekilde kullanılıyor.
  • GPT'nin sadece bir sonraki kelimeyi belli bir olasılıkla kusan daha "akıllı", daha "karmaşık" bir Markov modeli olduğunu okumaya devam ediyorum. Ama deneyimime göre bu doğru değil; bir şekilde öğrenme gerçekleşiyor olmalı. Örneğin bugün olan bir şeyi ve geçmişle çelişen bir durumu söyleyip (bunu Katar Dünya Kupası ile test etmek için kullanıyorum), ardından o olaydan etkilenen bir soru sorduğunuzda doğru yanıt veriyor. Basit bir cümlenin (verdiğiniz bilginin) sonraki token olasılıklarını bu kadar ileride nasıl değiştirebildiğini merak ediyorum.