
Transformer Explainer: GPT-2 dil modelinin içini tarayıcıda görselleştiriyor
Georgia Tech araştırmacılarının hazırladığı tarayıcı aracı GPT-2'yi yerel olarak çalıştırıyor ve token'ların, dikkat mekanizmasının ve örneklemenin bir istemi nasıl sonraki sözcüğe dönüştürdüğünü gösteriyor.
Transformer Explainer, bir transformer dil modelinin istemi nasıl sonraki sözcüğe dönüştürdüğünü adım adım gösteren etkileşimli bir web sitesi. Tarayıcıda doğrudan 124 milyon parametreli bir GPT-2 (small) modeli çalışıyor; sayfadaki her grafik kullanıcının yazdığı metne tepki veriyor. Proje, Georgia Teknoloji Enstitüsü'ndeki sekiz kişilik bir ekip tarafından geliştirildi; ekipte Aeree Cho, Grace C. Kim ve Polo Chau da var. Çalışmaya ACM Digital Library'deki bir makale ve video ders eşlik ediyor.
Token'lardan olasılıklara
Girdi metni token'lara, sözcük ya da parçalara ayrılıyor ve her token 768 boyutlu bir vektöre dönüşüyor. GPT-2'nin sözlüğü 50.257 token içerdiğinden yalnızca gömme matrisi yaklaşık 39 milyon parametre taşıyor. Konum bilgisi ayrıca ekleniyor, çünkü mimarinin sözcük sırasına dair yerleşik bir algısı yok.

Vektörler ardından 12 özdeş transformer bloğundan geçiyor. Her blok, token'ların bilgi alışverişi yapmasını sağlayan çok başlı öz-dikkati, her token'ı tek başına işleyen çok katmanlı algılayıcıyla birleştiriyor. Dikkat puanları maskeleniyor: bir konum yalnızca solundaki token'ları görebiliyor.
Dikkat ve MLP katmanının içi
Query, Key ve Value vektörleri gömme vektörlerinden öğrenilmiş ağırlık matrisleriyle üretiliyor. Site bunları bir web aramasına benzetiyor: sorgu arama kutusuna yazdığınız metin, anahtarlar sonuç başlıkları, değerler ise sayfaların içeriği. GPT-2 (small) bunları 12 başa bölüyor; bir baş söz dizimini, bir diğeri daha geniş anlamı izleyebiliyor. Nokta çarpımları ölçeklenip maskelendikten ve softmax'tan geçtikten sonra değer matrisiyle çarpılıyor.

MLP katmanı her token'ın temsilini 768 boyuttan doğrusal bir katman ve GELU aktivasyonuyla 3.072 boyuta genişletiyor, sonra yeniden 768'e indiriyor. Son doğrusal katman çıktıyı 50.257 token'lık sözlüğün tamamı üzerinde logit'lere dönüştürüyor; softmax da bu logit'leri örnekleme yapılan bir olasılık dağılımına çeviriyor.
Kaydırıcılar, örnekleme ve uygulama
Ziyaretçiler sıcaklık kaydırıcısını değiştirebiliyor: 1'in altındaki değerler dağılımı keskinleştirip çıktıyı daha öngörülebilir kılıyor, 1'in üzerindekiler dağılımı yumuşatıp metne çeşitlilik katıyor. top-k ve top-p ayarları örneklemeyi en olası adaylarla sınırlıyor; dikkat haritalarının üzerine gelmek modelin hangi token'lara odaklandığını gösteriyor.
Demo tamamen tarayıcıda çalışıyor: nanoGPT projesindeki PyTorch GPT uygulaması ONNX Runtime'a dönüştürülmüş; arayüz Svelte ve D3.js ile kurulmuş.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.