English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

konuk
1 / ?
derslere geri dön

Bir Gömme Bir Arama Tablosudur, Fonksiyon Değildir

Tokenizer'dan Sonraki İlk Katman

Bir tokenizer modele tamsayı ID'ler verir: [256, 1842, 7301, ...]. Bir transformer'ın yaptığı ilk şey: her ID'yi d_model boyutunda bir vektöre dönüştürmektir. Bu vektör, d_model boyutlu uzayda yaşar (ANDREA-120M için 768 boyut).


Bir gömme katmanı bir arama tablosudur, fonksiyon değildir. Dev bir matris hayal edin:


shape: (V, d_model)
satır 0:    [e_0_0, e_0_1, ..., e_0_767]
satır 1:    [e_1_0, e_1_1, ..., e_1_767]
...
satır 8448: [e_8448_0, e_8448_1, ..., e_8448_767]

Token ID i, i satırını seçer. Doğrudan dizi erişimi. Aritmetik yok, aktivasyon yok. Sadece bir indeks.


Token & position embedding flow


Eğitilebilir Ondalıklar

Tablodaki her giriş başlangıçta küçük rastgele bir ondalık sayı olarak başlar (genellikle 1/sqrt(d_model) ile ölçeklendirilmiş normal dağılımdan çekilir). Backpropagation, bir satırın token ID’si bir batch’te göründüğünde o satırı günceller. Eğitimden sonra benzer token’lar (cat, dog, pet) benzer vektörlere sahip olur; alakasız token’lar (cat, Tuesday, xylophone) vektör uzayında birbirinden uzak durur.


ANDREA-120M Token Gömme Maliyeti


MiktarDeğer
V8,449
d_model768
Parametreler6,488,832

Yalnızca bir token embedding tablosunda yaklaşık 6.5M parametre bulunur, bu da ANDREA-120M'nin toplamının yaklaşık %5.4'ünü oluşturur. Her kelime dağarcığı yuvası bu 768 float değerini kazanır.

Embedding Tablolarının Boyutlandırılması

İki gelecek varyant için token embedding parametre sayısını hesaplayın. (a) ANDREA-480M: V = 16,641 (16,384-segment tokenizer artı 256 byte artı 1 BOS), d_model = 1536. (b) ANDREA-12M: V = 4,353, d_model = 384. Her biri için V × d_model aritmetiğini gösterin.

Dot Product'ler Benzerliği Ölçer

Vektörler Ok Olarak

768 boyutlu bir vektör, insanların hayal edemeyeceği bir uzayda yaşar, ancak aynı cebir her boyutta çalışır. Transformer'lar için iki temel işlem önemlidir:


Büyüklük (bir okun uzunluğu):


||v|| = sqrt(v_0² + v_1² + ... + v_767²)

Nokta çarpımı (iki ok arasındaki hizalama):


u · v = u_0 × v_0 + u_1 × v_1 + ... + u_767 × v_767

Nokta Çarpımının Anlattıkları

Herhangi bir boyutta geçerli olan iki gerçek:


- u · v = ||u|| × ||v|| × cos(theta), burada theta aralarındaki açıdır.

- Aynı yöne işaret eden vektörler büyük pozitif nokta çarpımları verir.

- Zıt yönlere işaret eden vektörler büyük negatif nokta çarpımları verir.

- Dik açıdaki vektörler sıfır nokta çarpımı verir.


Nokta çarpımı = normalize edilmemiş benzerlik. cat ve dog için eğitilmiş iki token embedding'i yüksek bir nokta çarpımına sahip olur çünkü geriye yayılım onları birbirine yaklaştırmıştır (ikisi de evcil hayvanla ilgili bağlamları tahmin eder). cat ve Tuesday neredeyse dik olur çünkü farklı bağlamları tahmin ederler.


Neden Bir Transformer Önem Verir

Activity 5 (grow_a_language_model_attention) dikkat mekanizmasını nokta çarpımlarıyla oluşturur: bir sorgu vektörünün anahtar vektörlerle nokta çarpımı, bir sonraki token’ı tahmin ederken hangi geçmiş token’ların önemli olduğunu gösteren skorlar üretir. Gömme vektörleri ve nokta çarpımları birlikte bir transformer içindeki her etkileşimi taşır.

Benzerliği Tahmin Et

Eğitimden sonra ANDREA-120M’nin `believ` (token satırı 4287, varsayımsal) için gömme vektörü `know`, `understand`, `learn` ile kabaca hizalanır. Tam değerleri hesaplamadan, nokta çarpımlarını büyükten küçüğe sıralayın: `believ · know`, `believ · stone`, `believ · understand`. Her çift için sıralamayı tek bir cümleyle gerekçelendirin.

ANDREA Öğrenilmiş Konum Gömülerini Kullanır

Bir Sorun

Bir token gömüsü modele bu konumda hangi kelimenin bulunduğunu söyler. Ancak modele kelimenin nerede oturduğunu söylemez. Konum bilgisi olmadan, bir transformer the cat sat on a mat ile mat a on sat cat the cümlelerini aynı şekilde ele alır: aynı token kümesi, hiçbir sıralama sinyali yok.


Transformer literatüründe üç çözüm bulunmaktadır:


Sinüzoidal (Vaswani 2017). Sinüs ve kosinüs fonksiyonlarına dayalı sabit bir matematiksel formül. Konum 0 belirli bir 768-vektör alır; konum 1 başka bir vektör alır; asla eğitilmez, asla güncellenmez. Formül aracılığıyla herhangi bir konuma genelleştirilebilir.


RoPE (Rotary Position Embedding). Sorgu ve anahtar vektörlerini konuma göre döndürür. LLaMA ve Qwen tarafından kullanılır. Ek parametre gerektirmez; döndürme dikkat mekanizmasına entegre edilmiştir.


Öğrenilen. (T, d_model) şeklinde ayrı bir gömme tablosu; burada T bağlam uzunluğudur. Her satır, token gömmeleri gibi geriye yayılım ile eğitilir.


ANDREA'nın Seçimi: Öğrenilen

ANDREA, microGPT’ten devraldığı öğrenilen-konum yaklaşımını kullanır; microGPT bunu nanoGPT’ten, nanoGPT ise GPT-2’den almıştır. Bir gerekçe:


- Basitlik. Attention'da özel matematik gerekmez. Bir pozisyon tablosu, bir token tablosu gibi görünür.

- Özel CUDA ile uyumluluk. ANDREA'nın microgpt_cuda.cu motoru iki embedding aramasını aynı şekilde işler; sin/cos çekirdeklerine gerek yoktur.

- Sabit bağlam için yeterlidir. ANDREA, T'yi 1024 ile sınırlar. Öğrenilmiş bir tablo, sabit uzunluktaki diziler için sorunsuz çalışır.


ANDREA-120M Pozisyon Embedding Maliyeti


MiktarDeğer
T (bağlam)1,024
d_model768
Parametreler786,432

0.79M parametre pozisyon için. Token gömümleriyle birleştirildiğinde: 6.49M + 0.79M = toplam 7.27M gömme parametresi ANDREA-120M için.


Nasıl Birleşirler

Girdi dizisindeki her t pozisyonunda:


x_t = token_embedding[token_id_t] + position_embedding[t]

İki adet 768-boyutlu vektör, eleman bazında toplanır. Ortaya çıkan sonuç, x_t, ilk transformer bloğuna akar. Model bu iki sinyali bir daha asla ayırmaz; birleşik sinyali kullanmayı öğrenir.

Öğrenilen Konumlar ile Sinüs Konumları

Hipotetik bir ANDREA modeli için iki konum gömme stratejisini karşılaştırın. Strateji A: öğrenilen, T = 1024. Strateji B: sinüs temelli, T keyfi (herhangi bir dizi uzunluğu için çalışır). Her birinin bir avantajını belirtin. Ardından ANDREA’nın hangisini seçtiğini ve CUDA / mühendislik açısından bir nedenini belirtin.

Embedding Parametrelerinin Bulunduğu Yer

Tam Bir ANDREA-120M Embedding Katmanı


BileşenŞekilParametreler
Token embedding table8,449 × 7686,488,832
Position embedding table1,024 × 768786,432
Toplam7,275,264

Yaklaşık 7.3M parametre. ANDREA-120M'in toplam parametre sayısı: ~120M. Sadece embedding katmanı: %6. Kalan %94 transformer bloklarında (attention + MLP, 5-7. aktivitelerde işlenecek).


Ayrılmış vs Birleştirilmiş Embeddings

Birçok transformer tasarımı (GPT-2 dahil) bir token embedding’ini son çıktı projeksiyonuna bağlar: aynı V × d_model matrisi hem girişte hem çıkışta (kelime dağarcığı üzerindeki logits) kullanılır. Bağlama işlemi V × d_model parametre tasarrufu sağlar ve genellikle kaliteyi artırır.


ANDREA bağlanmamış embedding kullanır: giriş embedding’i ile çıkış projeksiyonu ayrı matrisler olarak eğitilir. Etkinlik 7 (grow_a_language_model_transformer_block) son katmanı kapsar.


Şimdiye Kadarki İleri Yönlü Geçiş

Giriş: token ID’leri [256, 1842, 7301, ...] (1024 adet). Her ID, 768 boyutlu bir vektör arar. Her konum da 768 boyutlu bir vektör arar. Eleman bazında toplanır. Sonuç: token + konum vektörlerinden oluşan (1024, 768) boyutlu bir matris x. x, transformer bloğu 1’e akar.


Etkinlik 5 (grow_a_language_model_attention), blok 1’in yaptığı işlemi kapsar: nedensel maske ve softmax ile ölçeklendirilmiş nokta-ürün dikkat mekanizması.

Embedding Yapısını Tahmin Et

Düşünün: ANDREA-120M modelinde 8449 token embedding ve 1024 pozisyon embedding bulunuyor; hepsi aynı 768 boyutlu uzayı paylaşıyor. Eğitim sonrası, (a) bir token embedding matrisinin nasıl görüneceğini (küme desenleri?) ya da (b) bir pozisyon embedding matrisinin nasıl görüneceğini (düzgün gradyan?) tahmin edin. Birini seçin ve bir ya da iki cümleyle öngörünüzü yazın. Yanlış cevap yok; önemli olan gerekçeniz.