CENG 526

Yüksek Başarımlı Yapay Zeka

 

Bu ders, yapay zeka uygulamaları için yüksek performanslı hesaplamayı (HPC) anlamak ve kullanmak için gerekli bilgileri sağlar. Paralel programlama, dağıtık hesaplama ve HPC altyapısı dahil olmak üzere temel HPC kavramlarını açıklar. Öğrenciler, uygulamalı alıştırmalarla yaygın yapay zeka iş yüklerini ve hesaplama gereksinimlerini keşfederek, HPC platformlarının ve paralellik tekniklerinin yapay zeka model eğitimini ve çıkarımını nasıl optimize ettiğine dair bilgiler edineceklerdir.

Dersin Amacı

Bu dersin temel amacı, yapay zeka modellerinin eğitimini ve çıkarımını hızlandırmak için yüksek performanslı platformları ve teknikleri tanıtmaktır. Sistem odaklı bir bakış açısı sunar ve öğrencileri donanım mimarisi ve sistem yazılımından iş planlamasına, paralel yürütmeye, performans ölçümüne ve ölçeklenebilirlik analizine kadar yapay zeka uygulamalarının tüm yürütme iş akışı boyunca yönlendirmektedir.

Önerilen veya Gerekli Kaynaklar

Chris Fregly. AI Systems Performance Engineering: Optimizing Model Training and Inference Workloads with GPUs, CUDA, and PyTorch. O’Reilly Media, 2025.

Jordi Torres. Supercomputing for Artificial Intelligence: Foundations, Architectures, and Scaling Deep Learning Workloads. 2025.

Wen-mei W. Hwu, David B. Kirk, Izzat El Hajj. Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann, 2022.

Dersin Öğrenme Çıktıları

  1. Yapay zeka uygulamaları için paralellik tekniklerini açıklayabilmek.
  2. Paralel GPU sistemlerinde yapay zeka uygulamaları geliştirmek ve performansını analiz etmek.
  3. Derleyici ve çıkarım motoru optimizasyonlarını uygulamak.
  4. Yapay zeka uygulamaları için temel sistem düzeyinde optimizasyon tekniklerini uygulamak.
Hafta Konu
1 Giriş ve yapay zeka sistemine genel bakış – Yapay zeka yazılımlarının temel bileşenleri, yapay zeka sistemlerinin performansının değerlendirilmesi, kıyaslama ve profil oluşturma
2 Yapay zeka için işletim sistemi desteği ve yüksek performanslı bilgi işlem altyapısı – GPU tabanlı yapay zeka sistemleri için işletim sistemi düzeyinde, ağ ve depolama optimizasyonları, Docker konteynerleri ve Kubernetes orkestrasyonu
3 Bilgisayar mimarisi ve GPU sistemleri – Bilgisayar mimarisi incelemesi, GPU mimarisi temelleri
4 Yapay zeka donanımı – NVIDIA yapay zeka sistem donanımı, SIMD yürütme birimleri
5 CUDA programlama – Hesaplama – NVIDIA CUDA programlama temelleri ve CUDA çekirdek optimizasyonları
6 CUDA programlama – Bellek – Bellekle sınırlı yapay zeka hesaplamaları için optimizasyonlar, FlashAttention, Multi-head Latent Attention
7 ARA SINAV
8 Derin öğrenme çerçeveleri (TensorFlow ve PyTorch) – Yapay zeka uygulamaları geliştirmeye yönelik pratik örnekler
9 Yapay zeka GPU yürütmelerinin profillenmesi ve ayarlanması – GPU yürütmesini ve kaynak kullanımını değerlendirmek için profil oluşturma araçları, verimli bellek erişimi için veri yapılarını hizalamak, gereksiz veri yüklemelerini ortadan kaldırmak ve veri aktarımlarını hesaplamayla örtüştürmek için CUDA ve PyTorch optimizasyon teknikleri
10 GPU yürütme ardışık işlem hattı – CUDA akışları, warp-özelleştirilmiş işlem hatları gibi gelişmiş CUDA teknikleri, grid düzeyinde senkronizasyonlu işbirlikçi gruplar, kalıcı çekirdekler
11 Yapay zeka için derleyici desteği – Dinamik PyTorch derleme yığınının temelleri, torch.compile çalışması
12 Çoklu düğüm paralelliği – Dağıtık hesaplamanın temelleri, çıkarım iş yükünü birden fazla GPU düğümünde çalıştırılabilecek aşamalara bölme yöntemleri
13 Çıkarım motoru optimizasyonları – Yapay zeka çıkarımını hızlandırmak için çıkarım sunucularında uygulanan yöntemler, vLLM ve tensorRT ile pratik örnekler
14 Bildiri sunumları

Ödevler: %20

Proje: %20

Ara Sınav: %20

Final Sınavı: %40