Torch'tan PyTorch'a: 25 Yıllık Evrim
Orijinal Torch, 2001'de Idiap Araştırma Enstitüsü'nde C++ ile geliştirildi; destek vektör makineleri ve gizli Markov modelleri gibi klasik makine öğrenimi yöntemlerini destekliyordu. 2011'de Ronan Collobert ve ekibi, kütüphaneyi hafif ve gömülebilir Lua diliyle **Torch7** olarak yeniden yazdı. DeepMind, 2014'e kadar Atari oyunlarını öğrenen DQN dahil birçok çalışmasını Torch7 ile yaptı. Ne var ki Lua'nın dar ekosistemi büyümeyi sınırladı. 2016'da Adam Paszke, Soumith Chintala ve ekibi, Torch'un C çekirdeğini (TH/THC) koruyup üzerine Python API'si inşa ederek **PyTorch 0.1**'i yayımladı. 2018'de Caffe2 ile birleşen proje, aynı yıl Torch7'nin bakımının durdurulmasıyla tek çatı haline geldi. 2022'de yönetim Meta'dan Linux Foundation bünyesindeki PyTorch Foundation'a geçti; bugün AMD, NVIDIA, Google, Microsoft ve IBM gibi şirketler projeye doğrudan katkı veriyor.
torch Paketinin Temel Bileşenleri
tensor torch.Tensor
Çok boyutlu veri dizisi; NumPy dizisine benzer ama .to("cuda") ile GPU'ya taşınır ve gradyan takibi yapabilir.
autograd torch.autograd
İleri geçişteki tüm işlemleri kaydedip .backward() çağrısında gradyanları otomatik hesaplayan türev motoru.
nn torch.nn
Katman, aktivasyon ve kayıp fonksiyonlarını içeren modül; modeller nn.Module sınıfından türetilerek tanımlanır.
optim torch.optim
SGD, Adam ve AdamW gibi optimizasyon algoritmaları; öğrenme oranı zamanlayıcılarıyla birlikte gelir.
data torch.utils.data
Dataset ve DataLoader sınıflarıyla veriyi mini-batch'lere bölme, karıştırma ve paralel yükleme işlerini üstlenir.
compile torch.compile
PyTorch 2.x'in derleyicisi; modeli TorchInductor ile optimize edip tek satırla %30-200 hız kazancı verir.
PyTorch 2.x ve torch.compile Dönemi
PyTorch 2.0 (Mart 2023), projenin en büyük mimari sıçramasıydı: eager (anlık) çalışma modunun esnekliğini korurken `torch.compile` ile derleyici hızını ekledi. Sistem üç katmandan oluşur: **TorchDynamo** Python bytecode'unu analiz edip grafı yakalar, **AOTAutograd** ileri ve geri geçişleri birlikte izler, **TorchInductor** ise Triton tabanlı GPU çekirdekleri üretir. Meta'nın ölçümlerine göre bu zincir, 160'tan fazla açık kaynak modelde ortalama %43 eğitim hızlanması getirdi. 2024-2025'teki 2.4-2.9 sürümleri ise büyük model çağına odaklandı: FP8 ve FlexAttention desteği, `torch.distributed` üzerinde FSDP2 ile parçalı eğitim, torchao ile INT4/INT8 nicemleme ve NVIDIA Blackwell (B200) GPU uyumu. Llama 3 ve 4 serisinin eğitiminde kullanılan **TorchTitan** kütüphanesi, bin GPU'luk kümelerde 4D paralellik kurulumunu birkaç yapılandırma dosyasına indirger.
Torch Ekosisteminin Araçları
- check_circle TorchVision: Görüntü sınıflandırma ve nesne tespiti için hazır veri kümeleri, dönüşümler ve ResNet, ViT gibi önceden eğitilmiş modeller sunar.
- check_circle TorchAudio: Ses yükleme, spektrogram çıkarma ve Wav2Vec2 gibi konuşma modelleri için hazır bileşenler içerir.
- check_circle ExecuTorch: Modelleri telefon, gömülü cihaz ve AR gözlüklerinde çalıştırmak için hafif çalışma zamanı; 1.0 sürümü Ekim 2025'te çıktı.
- check_circle TorchTitan: Büyük dil modellerinin çok düğümlü ön eğitimi için Meta'nın referans kütüphanesi; FSDP2 ve pipeline paralelliğini birleştirir.
- check_circle torchao: Nicemleme ve seyrekleştirme (sparsity) araç kutusu; INT4 ağırlıklarla bellek kullanımını 4 kata kadar düşürür.
- check_circle PyTorch Lightning ve Hugging Face: Topluluk katmanları: Lightning eğitim döngüsünü soyutlar, Transformers kütüphanesi ise on binlerce hazır modeli torch üzerinde çalıştırır.
Torch, TensorFlow ve JAX Karşılaştırması
Üç büyük çerçevenin ayrımı netleşmiş durumda. **TensorFlow**, 1.x dönemindeki statik graf zorunluluğunun mirasıyla araştırma tarafında geriledi; Google bile yeni modellerini ağırlıkla JAX ile eğitiyor. Papers with Code verilerine göre yeni makalelerdeki çerçeve tercihi %75-80 bandında PyTorch lehine. **JAX**, fonksiyonel programlama ve XLA derleyicisiyle TPU kümelerinde parlıyor; Gemini serisinin eğitim altyapısı JAX tabanlı. Torch/PyTorch ise iki dünyanın ortasında konumlanıyor: eager modun Python doğallığı ile `torch.compile`'ın derleyici performansını aynı kod tabanında sunuyor. Endüstri tarafında tablo daha da belirgin: Hugging Face'te barındırılan modellerin %90'dan fazlası yalnızca PyTorch ağırlığıyla dağıtılıyor. OpenAI 2020'de araştırma standardını PyTorch'a taşıdığını açıklamıştı; Tesla Autopilot, Stable Diffusion ve Whisper da torch üzerinde geliştirildi. TensorFlow'un güçlü kaldığı alan, TFLite (yeni adıyla LiteRT) ile olgun mobil dağıtım hattı; PyTorch bu açığı ExecuTorch ile kapatıyor.
Kurulum ve İlk Adımlar
Torch'u kurmanın standart yolu `pip install torch` komutudur; GPU desteği için pytorch.org'daki seçiciden CUDA sürümüne uygun komut alınır (örnek: `pip install torch --index-url https://download.pytorch.org/whl/cu126`). Apple Silicon Mac'lerde ek paket gerekmez; MPS arka ucu M1-M4 çiplerinin grafik çekirdeklerini kullanır. Kurulumu doğrulamak için `torch.cuda.is_available()` (NVIDIA) veya `torch.backends.mps.is_available()` (Mac) çağrılır. Tipik bir iş akışı dört adımdan oluşur: `nn.Module` alt sınıfıyla model tanımlama, `DataLoader` ile veriyi hazırlama, optimizasyon döngüsünde `loss.backward()` ve `optimizer.step()` çağrıları, son olarak `torch.save(model.state_dict(), "model.pt")` ile ağırlıkları kaydetme. Öğrenmeye başlayanlar için pytorch.org'daki "60 Minute Blitz" eğitimi ve ücretsiz Zero to Mastery ders serisi en çok önerilen kaynaklardır; Google Colab, ücretsiz T4 GPU ile ilk denemeler için yeterlidir.
Sık Sorulan Sorular
- check_circle Torch ile PyTorch aynı şey mi?: Pratikte evet: PyTorch projenin adı, torch ise Python'da import edilen paket adıdır. Tarihsel olarak Torch, 2001-2018 arasında yaşayan Lua/C++ tabanlı öncül çerçevedir.
- check_circle Python'da torch nasıl kurulur?: Terminalde `pip install torch` yeterlidir. NVIDIA GPU kullanacaksanız pytorch.org'daki kurulum seçicisinden CUDA sürümünüze uygun komutu alın.
- check_circle torch.cuda.is_available() False dönüyor, neden?: En sık neden, CPU-only paketin kurulmuş olması veya NVIDIA sürücüsünün CUDA sürümüyle uyumsuzluğudur. `nvidia-smi` çıktısındaki CUDA sürümüne uygun torch paketini yeniden kurun.
- check_circle Torch mu TensorFlow mu öğrenmeliyim?: 2026 itibarıyla araştırma makalelerinin yaklaşık %80'i ve Hugging Face modellerinin %90'dan fazlası PyTorch kullanıyor; yeni başlayan için torch daha isabetli bir yatırımdır.
- check_circle torch.compile ne kadar hız kazandırır?: Meta'nın 160+ model üzerindeki ölçümlerinde ortalama eğitim hızlanması %43; modele göre kazanç %30 ile %200 arasında değişir.
- check_circle Torch modelleri telefonda çalışır mı?: Evet. ExecuTorch çalışma zamanı, modelleri Android, iOS ve gömülü cihazlara taşır; Meta'nın Ray-Ban akıllı gözlükleri de bu altyapıyı kullanır.