HPC Nedir? Temel Kavramlar
High Performance Computing (HPC), bir problem ya da simülasyonu tek bir bilgisayarın çözemeyeceği kadar büyük ya da karmaşık olduğunda devreye giren bir yaklaşımdır. Yüzler, binler hatta on binlerce işlemci çekirdeğinin bir ağ üzerinden koordineli biçimde çalışmasıyla toplam hesaplama gücü katlanarak artar.
Bu paralel hesaplama modeli; tıp alanında protein katlanma simülasyonlarından finans sektöründe risk analizine, hava tahmininden yapay zeka model eğitimine kadar pek çok kritik uygulamayı mümkün kılmaktadır. HPC sistemleri genellikle özel veri merkezlerinde bulunur ve hesaplama performansları FLOPS (Floating Point Operations Per Second – Saniyedeki Kayan Noktalı İşlem Sayısı) birimiyle ölçülür.
HPC Mimarisi: Düğümler, Ağlar ve Depolama
Bir HPC kümesi üç temel bileşenden oluşur:
Hesaplama Düğümleri: Her düğüm, genellikle bir ya da birden fazla çok çekirdekli CPU ile isteğe bağlı GPU veya TPU içerir. GPU düğümleri, yapay zeka iş yükleri için özellikle kritiktir; NVIDIA A100 ve H100 çipleri günümüzde bu amaçla yaygın olarak kullanılmaktadır.
Yüksek Hızlı Ağ (Interconnect): Düğümler arasındaki veri transferini düşük gecikme ve yüksek bant genişliğiyle gerçekleştirmek için InfiniBand veya NVIDIA NVLink gibi özel ağ teknolojileri kullanılır. Bu ağlar, standart Ethernet'ten çok daha hızlı olup düğümler arası iletişim darboğazını minimize eder.
Paralel Depolama: Lustre ya da IBM GPFS (Spectrum Scale) gibi paralel dosya sistemleri; yüzlerce düğümün eş zamanlı olarak okuyup yazabileceği hızda depolama sunar. Veri erişim hızı, AI eğitiminde belirleyici bir faktördür.
HPC ve Yapay Zeka: Kaçınılmaz Bağ
Modern derin öğrenme modellerinin boyutu her yıl dramatik biçimde büyümektedir. 2017'deki ilk Transformer modelinden 2024'teki çok modlu dev modellere kadar geçen sürede parametrik ölçek milyonlardan yüz milyarlara çıkmıştır. Bu büyüme, tek bir GPU ya da CPU'nun kapasitesini tamamen aşmakta ve HPC altyapısını zorunlu kılmaktadır.
Yapay zeka eğitiminde HPC'nin kritik rolleri:
- Dağıtık Eğitim: Model ağırlıkları ve gradyanlar yüzlerce GPU düğüme dağıtılarak paralelleştirilir (veri paralelliği, model paralelliği, pipeline paralelliği). - Büyük Veri Ön İşleme: Petabayt ölçeğindeki veri kümeleri, HPC depolama ve işleme altyapısıyla hızla hazırlanır. - Hiperparametre Optimizasyonu: Binlerce deneme eş zamanlı çalıştırılarak en iyi model konfigürasyonu belirlenir. - Büyük Ölçekli Inference: Milyonlarca kullanıcıya gerçek zamanlı AI hizmeti sunmak için HPC düzeyinde inference kümeleri gerekir.
Performans Ölçütleri: FLOPS ve TOP500
HPC sistemlerinin gücü FLOPS birimiyle ifade edilir:
- GFLOPS (10⁹): Modern bir dizüstü bilgisayarın GPU performansı - TFLOPS (10¹²): Üst segment GPU'ların (NVIDIA RTX 4090) performansı - PETAFLOPS (10¹⁵): Büyük HPC kümelerinin birleşik performansı - EXAFLOPS (10¹⁸): Günümüzün en güçlü sistemleri (ABD'nin Frontier süperbilgisayarı)
TOP500 Listesi, dünya genelindeki en güçlü 500 HPC sistemini yılda iki kez sıralayan referans bir ölçüttür. HPL (High Performance LINPACK) kıyaslama testi kullanılır.
AI özelinde ise MLPerf kıyaslamaları, farklı HPC donanımlarının derin öğrenme iş yükleri altındaki performansını karşılaştırmak için kullanılmaktadır.
Bulut HPC vs. On-Premise
HPC altyapısına erişimin iki temel yolu bulunmaktadır:
On-Premise (Yerinde): Kurumun kendi veri merkezinde kurduğu ve işlettiği sistemlerdir. Büyük araştırma laboratuvarları (CERN, NASA) ve teknoloji devleri (Google, Meta, Microsoft) kendi HPC kümelerini inşa etmeyi tercih eder. Yüksek başlangıç maliyeti ve bakım yükü gerektirir ancak tam kontrol ve öngörülebilir maliyet sunar.
Bulut HPC: AWS (Amazon EC2 P5 örnekleri), Microsoft Azure (NDm A100 serileri) ve Google Cloud (A3 VM ailesi), kiralık HPC kapasitesi sunmaktadır. Esnek ölçekleme ve düşük ön maliyet avantajı taşır; ancak uzun vadede toplam sahip olma maliyeti yüksek olabilir.
Türkiye'de devlet destekli seçenek olarak TÜBİTAK ULAKBİM'in Truba kümesi, akademik kullanıcılara ücretsiz ya da düşük maliyetle HPC erişimi sağlamaktadır.
Programlama Modelleri: MPI, CUDA ve OpenMP
HPC uygulamaları geliştirmek için çeşitli paralel programlama çerçeveleri kullanılır:
- MPI (Message Passing Interface): Düğümler arası iletişim için endüstri standardı; yüzlerce ya da binlerce işlemi koordine eder. - OpenMP: Çok çekirdekli CPU'larda paylaşımlı bellek paralelliği için kullanılan derleyici direktifleri. - CUDA: NVIDIA GPU'ları için GPGPU programlama ortamı; AI eğitiminde fiilen standart hale gelmiştir. - PyTorch / JAX / TensorFlow: Üst düzey AI çerçeveleri, CUDA ve NCCL üzerine inşa edilerek dağıtık HPC eğitimini otomatikleştirir. - SLURM: HPC kümelerinde iş yükü zamanlama ve kaynak yönetimi için en yaygın kullanılan açık kaynak yazılımı.
Sık Sorulan Sorular
HPC ile normal bulut sunucu arasındaki fark nedir? Normal bulut sunucuları genel amaçlı iş yükleri için optimize edilmiştir. HPC kümeleri ise yüksek hızlı interconnect (InfiniBand), özel hesaplama hızlandırıcılar (GPU/TPU) ve paralel dosya sistemi içerir; düğümler arası gecikme ve bant genişliği kritik tasarım kriterleridir.
Yapay zeka için HPC şart mı? Küçük modeller tek GPU ile eğitilebilir; ancak GPT-4, Llama-3 gibi milyarlarca parametreli modeller ve gerçek zamanlı büyük ölçek inference için HPC kaçınılmazdır.
Türkiye'de HPC'ye nasıl erişilir? TÜBİTAK ULAKBİM Truba kümesi, üniversite araştırmacıları için ücretsiz erişim sunmaktadır. Proje bazlı tahsisat için ULAKBİM'e başvurulabilir.
HPC ve süperbilgisayar aynı şey midir? Süperbilgisayar, HPC'nin en üst spektrumudur. Her HPC kümesi teknik olarak süperbilgisayar sayılmaz; ancak aynı mimari prensipleri paylaşır.