Türkçe Haberler
Son haberler
Yapay Zeka ve Teknoloji

Tensor Çekirdekleri, Triton, artık ağlar ve vision transformer'lar

Açıklayıcı görsel: 1980'lerden bir CPU çipi detayı; GPU değildir.
Açıklayıcı görsel: 1980'lerden bir CPU çipi detayı; GPU değildir.

2015'ten bugüne derin öğrenme, elle ayarlanmış C++ GPU kodundan ve konvolüsyonel ağlardan, donanım hızlandırmalı matris motorlarına ve Transformer mimarilerine evrildi. Bu üç dönüm noktası, modern yapay zekâ modellerinin nasıl tasarlandığını ve ölçeklendiğini belirliyor.

1. Modern CUDA Evrimi: Tensor Çekirdekleri ve OpenAI Triton

2012'de Alex Krizhevsky, standart CUDA çekirdekleri üzerinde tek tek kayan nokta işlemlerini hesaplamak için düşük seviyeli CUDA C++ (cuda-convnet) yazdı. Bugün derin öğrenme, özelleşmiş matris donanımına ve yüksek seviyeli derleyicilere dayanıyor.

  • CUDA Çekirdeklerinden Tensor Çekirdeklerine. Geleneksel CUDA çekirdekleri saat çevrimi başına bir skaler çarpma ve toplama gerçekleştirir. NVIDIA, Volta mimarisinden (2017) itibaren, küçük matrislerin tamamını (4×4 veya 16×16 bloklar gibi) tek bir saat çevriminde çarpan Tensor Çekirdeklerini tanıttı. Modern Tensor Çekirdekleri FP16, BF16 ve FP8 gibi karma hassasiyetli biçimler kullanır ve matris çarpımlarında büyüklük mertebesinde hızlanma sağlar.
  • cuDNN ve Otomatik Çekirdek Seçimi. Araştırmacıların özel C++ konvolüsyonları yazması yerine, NVIDIA’nın cuDNN kütüphanesi artık yüzlerce önceden derlenmiş assembly çekirdeği içeriyor. Çalışma zamanında PyTorch gibi çerçeveler, tam tensör şekliniz için farklı algoritmaları karşılaştırır ve en hızlı Tensor Çekirdeği rutinini otomatik olarak seçer.
  • OpenAI Triton (Python Tabanlı GPU Programlama). Ham CUDA C++ yazmak; iş parçacığı indekslemesini, paylaşılan bellek banka çakışmalarını ve warp senkronizasyonunu elle yönetmeyi gerektirir. OpenAI tarafından yayımlanan Triton, araştırmacıların yüksek performanslı GPU çekirdeklerini doğrudan Python'da yazmasına olanak tanır. İşlemleri blok düzeyinde (veri döşemeleri) tanımlarsınız; Triton derleyicisi bellek birleştirmeyi (coalescing), paylaşılan bellekte döşemeyi ve Tensor Çekirdeği zamanlamasını otomatik olarak halleder ve çoğu zaman elle ayarlanmış CUDA C++ ile eşleşir ya da onu geride bırakır.

2. ResNet Atlamalı Bağlantıları ve Geri Yayılım Akışı

ResNet'ten (2015) önce ~20'den fazla konvolüsyonel katman yığmak eğitim hatasının fırlamasına neden oluyordu. Gradyanlar düzinelerce çarpma adımından geriye doğru ilerlerken sıfıra doğru küçülüyor (kaybolan gradyanlar) ya da kararsız hale geliyordu.

  • Ham Çıktılar Yerine Artıkları Öğrenme. Standart bir ağ bloğunda yığılmış katmanlar, x girdisinden doğrudan bir H(x) eşlemesini öğrenmeye çalışır. ResNet, özgün x girdisini doğrudan bloğun çıktısına ekleyen bir atlamalı bağlantı (kimlik kısayolu) getirir:

y=F(x)+x

Burada F(x), yığılmış konvolüsyonel katmanları temsil eder. Katmanlar tüm temsili sıfırdan yeniden kurmak yerine yalnızca artığı (küçük ayarlama F(x) = y - x) öğrenmek zorundadır. Bir katmana ihtiyaç yoksa ağ F(x)'i kolayca sıfıra doğru itebilir ve temiz bir kimlik geçişi bırakır.

  • Kesintisiz Gradyan Otoyolu. Geri yayılım sırasında zincir kuralı, kaybın (L) x girdisine göre gradyanını hesaplar:

(∂ L)/(∂ x)=(∂ L)/(∂ y)((∂ F(x))/(∂ x)+1)

Kimlik kısayolunun oluşturduğu + 1 terimi sayesinde, yukarı akış gradyanı ((∂ L)/(∂ y)), (∂ F(x))/(∂ x) içindeki küçük ağırlık matrisleri tarafından küçültülmeden doğrudan önceki katmanlara geri akar. Bu, gradyanların 100+ hatta 1.000+ katman boyunca temiz biçimde yayılmasına olanak tanır.

3. CNN'lerden Vision Transformer'lara (ViT) Geçiş

AlexNet'ten sonra yaklaşık on yıl boyunca Konvolüsyonel Sinir Ağları (CNN'ler), görüntüler üzerinde küçük yerel filtreler kaydırarak bilgisayarlı görüye hâkim oldu. 2020'de Google, Transformer mimarisini doğal dil işlemeden görüntülere uyarlayan Vision Transformer'ı (ViT) tanıttı.

ÖzellikKonvolüsyonel Sinir Ağları (CNN'ler)Vision Transformer'lar (ViT)
Girdi İşlemeTam 2B görüntü ızgarasını kayan filtrelerle (ör. 3×3) işler.Görüntüyü sabit boyutlu yamalara (ör. 16×16 piksel) böler ve bunları düzleştirerek bir token dizisine dönüştürür.
Alıcı AlanÖnce yerel. İlk katmanlar yalnızca komşu pikselleri görür; küresel bağlam derin katmanlarda yavaş yavaş oluşur.Hemen küresel. Öz-dikkat (self-attention), daha 1. Katmandan itibaren her görüntü yamasını diğer tüm yamalara bağlar.
Tümevarımsal YanlılıkYüksek. Öteleme değişmezliği ve 2B uzamsal yerellik hakkındaki yerleşik varsayımlar, CNN'lerin daha küçük veri kümelerinde iyi öğrenmesine yardımcı olur.Düşük. Yerleşik 2B uzamsal kurallardan yoksundur (konum gömmelerine dayanır) ve görsel yapıyı öğrenmek için çok büyük veri kümeleri gerektirir.
Donanımda ÖlçeklemeÖzelleşmiş konvolüsyon çekirdeklerine ve karmaşık bellek erişim örüntülerine dayanır.Neredeyse tamamen yoğun matris çarpımlarına (GEMM) dayanır; bunlar modern GPU Tensor Çekirdeklerini azami verimlilikle doyurur.
  • ViT'ler Modern Yapay Zekâyı Neden Ele Geçirdi. CNN'ler hafif mobil ve uç cihazlar için verimli kalsa da Vision Transformer'lar yüz milyonlarca görüntüyle eğitildiğinde çok daha iyi ölçeklenir. Ayrıca ViT'ler görüntüleri metin ve ses için kullanılan formatın tamamen aynısı olan token dizileri olarak temsil ettiğinden, modern çok modlu yapay zekâ modellerinin (GPT-4o ve Gemini gibi) görüntü ve dili tek bir birleşik mimari içinde işlemesini mümkün kıldı.

Diğer haberler: Yapay Zeka ve Teknoloji