PyTorch (Açık Kaynak Derin Öğrenme Çerçevesi)

PyTorch, dinamik hesaplama grafı ve autograd motoruyla derin öğrenme modellerini Python'da eğitip üretime taşıyan açık kaynak çerçevedir.

PyTorch, Meta AI Araştırma Laboratuvarı (FAIR) tarafından 2016 yılında yayımlanan, Python tabanlı açık kaynaklı bir derin öğrenme çerçevesidir. Lua tabanlı Torch kütüphanesinin modern Python uyarlaması olarak doğan proje, 2022'den bu yana Linux Foundation çatısı altındaki PyTorch Foundation tarafından yönetilir; NVIDIA, AMD, Google, Microsoft, Intel ve IBM gibi şirketler yönetim kuruluna üyedir. Sinir ağlarını tasarlamak, eğitmek ve üretim ortamına almak için tensör işlemlerinden model servisine kadar uzanan eksiksiz bir araç seti sunar. PyTorch'u rakiplerinden ayıran temel özellik, çalışma zamanında inşa edilen dinamik hesaplama graflarıdır (define-by-run). TensorFlow 1.x döneminin statik graflarının aksine, model kodu satır satır yürütülürken graf anlık olarak oluşur; araştırmacı standart Python hata ayıklayıcısını doğrudan kullanabilir, if/else ve döngü içeren değişken mimariler doğal söz dizimiyle yazılır. Autograd sistemi bu grafın üzerinden gradyanları otomatik hesaplar: requires_grad=True atanmış bir tensör üzerindeki tüm işlemler kaydedilir, .backward() çağrısıyla geri yayılım (backpropagation) elle kodlanmadan tamamlanır. Bu iki mekanizmanın birleşimi, özel kayıp fonksiyonlarından deneysel katman tasarımlarına kadar her fikrin sıradan Python koduyla ifade edilebilmesi anlamına gelir. Çerçevenin çekirdeğini dört modül oluşturur: torch.Tensor NumPy benzeri çok boyutlu dizileri CPU ve GPU belleğinde tutar; torch.nn hazır katmanları (Linear, Conv2d, Transformer) ve kayıp fonksiyonlarını barındırır; torch.optim SGD, Adam ve AdamW gibi optimizasyon algoritmalarını sunar; DataLoader ise veri setlerini çok işlemcili mini-batch akışına çevirir. Bir eğitim döngüsü tipik olarak 15-20 satır koddan ibarettir ve her adımı okunabilir Python olarak kalır. 2023'te çıkan PyTorch 2.0, bu esnekliği performansla birleştirdi. torch.compile tek satırlık bir çağrıyla modeli TorchDynamo ve TorchInductor üzerinden derleyerek tipik eğitim iş yüklerinde %30-100 arası hızlanma getirir; 2025 sonunda yayımlanan 2.9 sürümüyle proje FlexAttention, torch.export ve AOTInductor gibi derleyici tabanlı araçları olgunlaştırmıştır. GPU tarafında NVIDIA CUDA ile derin entegrasyonun yanına AMD ROCm, Apple Silicon için MPS ve Intel GPU (XPU) desteği eklenmiştir; model tek satır .to('cuda') ile hızlandırıcıya taşınır. Akademik araştırmada PyTorch 2019-2020'den itibaren TensorFlow'u geçerek fiili standart hâline geldi; Papers with Code üzerindeki yeni makale uygulamalarının %70'ten fazlası PyTorch kullanır. Llama, Whisper, Stable Diffusion ve DINOv2 gibi modellerin resmi kodları PyTorch ile yazılmıştır; Hugging Face Transformers kütüphanesi birincil backend olarak PyTorch'u benimser ve bir milyondan fazla önceden eğitilmiş modele tek API ile erişim verir. Büyük dil modeli çağının kritik altyapısı da aynı ekosistemde yaşar: OpenAI 2020'de araştırma yığınını PyTorch üzerinde standartlaştırdı; vLLM çıkarım motoru, TorchTitan dağıtık eğitim kütüphanesi ve LoRA tabanlı ince ayar araçlarının tamamı doğrudan PyTorch üzerine kuruludur. Ekosistem paketleri kullanım alanlarını genişletir: TorchVision görüntü, TorchAudio ses, PyTorch Lightning eğitim altyapısı, ExecuTorch ise mobil ve gömülü cihazlarda çıkarım için geliştirilmiştir. BSD-3-Clause lisanslı proje, GitHub'da 90 binin üzerinde yıldıza ulaşmıştır ve araştırma prototipinden milyarlarca kullanıcılı üretim sistemlerine kadar aynı kod tabanıyla ilerlemeye imkân tanır. Türkçe kaynak, üniversite müfredatı ve iş ilanları açısından da derin öğrenme kariyerine başlamak isteyenler için ilk öğrenilmesi gereken çerçeve konumundadır.

Dinamik Hesaplama Grafı ve Autograd Nasıl Çalışır?

PyTorch'ta her tensör işlemi anında yürütülür (eager execution) ve eş zamanlı olarak hesaplama grafına kaydedilir. x = torch.tensor([2.0], requires_grad=True); y = x ** 2 + 3 * x satırları çalıştırıldığında Python yorumlayıcısı sonucu hemen hesaplar, PyTorch ise arka planda işlemlerin grafiğini tutar. y.backward() çağrısında graf üzerinden zincir kuralıyla geriye doğru türev alınır ve dy/dx = 2x + 3 = 7 değeri x.grad içinde belirir. Bu define-by-run yaklaşımının iki somut avantajı vardır. Birincisi, if/else veya for döngüsü içeren değişken uzunluklu mimariler — ağaç tabanlı NLP modelleri, dinamik derinlikli ağlar — sıradan Python söz dizimiyle yazılır; statik grafta aynı yapılar karmaşık sembolik kodlama gerektirir. İkincisi, hata ayıklama standart Python araçlarıyla yapılır: bir ara tensörü incelemek için print(x) veya pdb yeterlidir, özel bir "print node" tanımlamak gerekmez. Araştırmacıların PyTorch'a geçişinin ana nedeni bu iki noktadır.

PyTorch 2.x ve torch.compile: Esneklik + Hız

PyTorch 2.0 (Mart 2023), "eager kadar esnek, derlenmiş kadar hızlı" hedefiyle torch.compile'ı tanıttı. model = torch.compile(model) satırı, TorchDynamo ile Python bytecode'unu analiz edip grafı yakalar, TorchInductor ile GPU'ya özel Triton çekirdekleri üretir. Meta'nın ölçümlerinde 160'tan fazla açık kaynak modelde eğitim hızı ortalama %43 artmıştır; kod değişikliği gerekmez. 2024-2025 sürümleri bu temeli genişletti: FlexAttention ile özel dikkat (attention) varyantları birkaç satır Python ile FlashAttention hızında yazılabilir, torch.export ve AOTInductor modeli Python'suz ortamlara derler, DTensor ve FSDP2 çok-GPU eğitimini basitleştirir. Ekim 2025'te çıkan PyTorch 2.9, Python 3.14 desteği ve genişletilmiş Intel/AMD GPU uyumluluğu getirmiştir. Llama 3 ve 4 gibi modellerin binlerce GPU'lu eğitim koşuları, PyTorch'un bu dağıtık eğitim yığını (TorchTitan) üzerinde yürütülür.

PyTorch'un Temel Bileşenleri

tensor torch.Tensor

NumPy dizilerine benzer çok boyutlu matris yapısı; CPU ve GPU belleğinde şeffaf çalışır. requires_grad=True ile gradyan takibini açar.

autograd torch.autograd

Otomatik diferansiyelleştirme motoru. İleri yayılımda işlemleri kaydeder, .backward() ile tüm gradyanları zincir kuralıyla hesaplar.

layers torch.nn

Linear, Conv2d, LSTM, Transformer gibi hazır katmanlar ve CrossEntropyLoss gibi kayıp fonksiyonları. Modeller nn.Module'dan türetilir.

optim torch.optim

SGD, Adam, AdamW gibi optimizasyon algoritmaları. Her iterasyonda optimizer.step() parametreleri gradyanlara göre günceller.

compile torch.compile

PyTorch 2.x'in JIT derleyicisi. Modeli Triton çekirdeklerine derleyerek eğitimde tipik olarak %30-100 hızlanma verir.

data-loader DataLoader

Veri setlerini mini-batch'lere bölen, çok işlemcili ön yükleme ve karıştırma yapan veri besleme altyapısı.

PyTorch Ekosistemi: Resmi ve Topluluk Paketleri

  • check_circle TorchVision: Hazır veri setleri, ResNet/ViT gibi önceden eğitilmiş modeller ve görüntü dönüştürme (augmentation) araçlarını içeren resmi bilgisayarla görü paketi.
  • check_circle TorchAudio: Ses yükleme, spektrogram dönüşümleri ve konuşma tanıma modelleri için resmi ses işleme kütüphanesi.
  • check_circle PyTorch Lightning: Eğitim döngüsü, logging ve checkpoint gibi tekrar eden altyapı kodunu soyutlayan üst düzey çerçeve; çok-GPU eğitime tek parametreyle geçilir.
  • check_circle Hugging Face Transformers: Birincil backend olarak PyTorch'u kullanan model kütüphanesi; from_pretrained() ile bir milyondan fazla hazır modele erişim verir.
  • check_circle vLLM: PyTorch üzerine kurulu yüksek verimli LLM çıkarım motoru; PagedAttention ile aynı GPU'da kat kat fazla istek servis eder.
  • check_circle ExecuTorch: Telefon, gözlük ve gömülü cihazlarda çıkarım için hafif çalışma zamanı; TorchServe'ün bakıma alınmasından sonra uç dağıtımın resmi yolu.

PyTorch Ne İşe Yarar? Kimler Kullanıyor?

Pratikte PyTorch üç ana senaryoda karşımıza çıkar. Birincisi araştırma ve prototipleme: yeni bir mimari fikri, sıradan bir Python sınıfı yazarak birkaç saatte çalışan koda dönüşür. İkincisi ince ayar (fine-tuning): Hugging Face'ten indirilen bir Llama veya Qwen modeli, LoRA gibi tekniklerle birkaç yüz satır kodla kendi verinize uyarlanır. Üçüncüsü üretim dağıtımı: eğitilen model torch.export/ONNX ile sunuculara, ExecuTorch ile mobil cihazlara taşınır. Sektör kullanımı da geniştir: Meta öneri ve içerik anlama sistemlerini PyTorch üzerinde çalıştırır, OpenAI araştırma yığınını 2020'de PyTorch'ta standartlaştırmıştır; Tesla Autopilot'un görü modelleri ve Stable Diffusion ailesi de PyTorch tabanlıdır. Türkiye'de üniversite derslerinden şirket içi makine öğrenimi ekiplerine kadar giriş noktası çoğunlukla PyTorch'tur; Python bilen bir geliştirici, tensör ve autograd kavramlarını öğrendikten sonra günler içinde çalışan bir model eğitebilir.

PyTorch vs TensorFlow vs JAX (2026)

2026 itibarıyla tablo netleşmiştir. PyTorch araştırma ve LLM ekosisteminde açık ara öndedir: yeni makalelerin ve Hugging Face modellerinin büyük çoğunluğu PyTorch ile yayımlanır, torch.compile eski performans açığını kapatmıştır. TensorFlow, Keras 3'ün çoklu-backend yapısına geçmesi ve Google'ın iç ağırlığını JAX'e kaydırmasıyla yeni projelerde gerilemiştir; gücü hâlâ TFLite/LiteRT ile olgun mobil dağıtımda ve mevcut kurumsal sistemlerdedir. JAX ise fonksiyonel programlama ve XLA derleyicisiyle TPU üzerinde büyük ölçekli eğitimde parlar; Google DeepMind'ın Gemini eğitimi JAX tabanlıdır. Buna karşılık öğrenme eğrisi diktir ve hazır model ekosistemi PyTorch'a göre dardır. Özet karar kuralı: LLM ince ayarı, bilgisayarla görü veya genel araştırma için PyTorch; TPU-yoğun büyük ölçekli özgün eğitim için JAX; yalnızca mevcut TensorFlow kod tabanını sürdürüyorsanız TensorFlow mantıklı tercihtir.

Sık Sorulan Sorular

  • check_circle PyTorch nedir, ne işe yarar?: PyTorch, Meta AI'ın 2016'da yayımladığı açık kaynak derin öğrenme çerçevesidir. Görüntü sınıflandırma, doğal dil işleme, konuşma tanıma ve LLM ince ayarı gibi işlerde model tanımlama, eğitme ve üretime alma için kullanılır.
  • check_circle PyTorch mu TensorFlow mu öğrenmeliyim?: 2026'da yeni başlayan biri için PyTorch daha mantıklıdır: araştırma makaleleri, Hugging Face modelleri ve iş ilanlarının çoğu PyTorch ister. TensorFlow bilgisi ağırlıkla eski kod tabanlarını sürdüren ekiplerde aranır.
  • check_circle PyTorch GPU'suz çalışır mı?: Evet, tüm işlemler varsayılan olarak CPU'da yürütülür. Küçük modeller ve çıkarım senaryoları CPU ile mümkündür; büyük modellerin eğitiminde ise CUDA destekli NVIDIA GPU 10-100 kat hız farkı yaratır. Ücretsiz GPU için Google Colab veya Kaggle kullanılabilir.
  • check_circle torch.compile ne yapar, kullanmalı mıyım?: torch.compile modeli Triton GPU çekirdeklerine derleyerek kod değişikliği olmadan tipik olarak %30-100 hızlanma verir. Eğitim süresi önemliyse tek satırlık maliyetle denemeye değer; küçük modellerde derleme süresi kazancı gölgeleyebilir.
  • check_circle PyTorch modelini üretime nasıl alırım?: Sunucu tarafında torch.export + AOTInductor veya ONNX dışa aktarımı, LLM'ler için vLLM, mobil ve gömülü cihazlar için ExecuTorch kullanılır. TorchServe 2025'te bakım moduna alındığından yeni projelerde önerilmez.
  • check_circle PyTorch öğrenmek için Python bilmek şart mı?: Evet, PyTorch bir Python kütüphanesidir; sınıflar, fonksiyonlar ve NumPy temelini bilmek ön koşuldur. Bu temel varsa pytorch.org'daki resmi 60 dakikalık Blitz eğitimiyle ilk modelinizi aynı gün eğitebilirsiniz.