GPU Sunucusunu Yapay Zeka Modelleri İçin Kurmak Neden Hayati Önem Taşır?
Derin öğrenme modellerini CPU üzerinde çalıştırmak yalnızca yavaş olmakla kalmaz, milyarlarca parametreye sahip modern modeller için pratikte imkânsız hale gelir. Donanımlı bir GPU sunucusu, bir modelin eğitim süresini haftalardan saatlere indirebilir. Ancak donanımı satın almak veya kiralamak işin yalnızca bir kısmıdır; sürücü, CUDA Toolkit ve ilgili kütüphanelerin doğru kurulumu başarınızı belirleyen unsurdur. Bu makalede, sisteme erişim sağladığınız andan ilk iş yükünüzü çalıştırana kadar bir GPU sunucusu kurmanın tüm yolunu teknik detaylar ve gerçek örneklerle takip ediyoruz.
Ön Koşullar ve Donanım Kontrolü
Herhangi bir işlem yapmadan önce GPU'nuzun işletim sistemi tarafından tanındığından ve uygun bir sürücüye sahip olduğundan emin olmalısınız. Bulut sunucu kullanıyorsanız (örneğin, GPU sunucusu kiralama imkânı sunan ServerNet bulut hizmetleri), genellikle önceden yapılandırılmış bir imaj alırsınız. Ancak özel bir sunucunuz varsa aşağıdaki adımları izleyin.
Linux'ta GPU'yu Tanıma
Çoğu GPU sunucusu Ubuntu 20.04 veya 22.04 LTS ile çalışır. Öncelikle GPU'nun sistem tarafından tanınıp tanınmadığını aşağıdaki komutla kontrol edin:
lspci | grep -i nvidia
Çıktı şuna benzer olmalıdır:
01:00.0 3D controller: NVIDIA Corporation GA102 [GeForce RTX 3080] (rev a1)
Çıktı boşsa, GPU büyük olasılıkla PCIe yuvasına doğru takılmamış veya BIOS'ta devre dışı bırakılmıştır. Bulut sunucularda bu adım genellikle zaten yapılmıştır.
Mevcut Sürücüyü Kontrol Etme
Kurulu sürücü sürümünü (varsa) görmek için aşağıdaki komutu kullanın:
nvidia-smi
Bu komut çalışmazsa, sürücü kurulu değil veya doğru yapılandırılmamış demektir. Başarılı bir çıktı, GPU adını, sürücü sürümünü ve CUDA sürümünü (genellikle sürücüyle birlikte gelir) içermelidir.
Yaygın hata: Birçok kullanıcı CUDA Toolkit kurulumunun tek başına yeterli olduğunu düşünür. Ancak CUDA Toolkit, uygun sürücü olmadan çalışmaz. Sürücü ve CUDA, birbiriyle uyumlu olması gereken iki ayrı katmandır.
NVIDIA Sürücüsünü Kurma
Sürücüyü kurmanın iki ana yöntemi vardır: NVIDIA'nın resmi deposunu veya Ubuntu deposunu kullanmak. İlk yöntem daha yeni bir sürüm sunduğu için önerilir.
Yöntem 1: NVIDIA Resmi Deposundan Kurulum
Öncelikle resmi depoyu ekleyin:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Ardından uygun sürücü sürümünü kurun. En son kararlı sürümü bulmak için arama yapabilirsiniz:
apt search nvidia-driver | grep -E '^nvidia-driver-[0-9]+'
Çıktı genellikle nvidia-driver-535 veya nvidia-driver-545 gibi sürümleri içerir. 535 veya üzeri bir sürümü kurun:
sudo apt install nvidia-driver-535
Kurulumdan sonra sistemi yeniden başlatın:
sudo reboot
Yöntem 2: Ubuntu Deposundan Kurulum
Yukarıdaki yöntem herhangi bir nedenle başarısız olursa, varsayılan depoyu kullanabilirsiniz:
sudo apt install nvidia-driver-535-server
Bu sürüm sunucular için optimize edilmiştir ve daha kararlıdır.
Sürücü Kurulumunu Doğrulama
Yeniden başlatmanın ardından nvidia-smi komutunu tekrar çalıştırın. Çıktı, GPU özellikleri ve sürücü sürümünü içeren bir tablo içermelidir. NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver hatasını alırsanız, sürücü doğru yüklenmemiş demektir. Bu durumda günlükleri kontrol edin:
dmesg | grep -i nvidia
Sorun giderme ipucu: Secure Boot etkinse, sürücü imzasız olduğu için yüklenmeyebilir. BIOS'ta Secure Boot seçeneğini devre dışı bırakın veya sürücüyü MOK anahtarıyla imzalayın.
CUDA Toolkit Kurulumu
CUDA Toolkit, nvcc derleyicisini, runtime kütüphanelerini ve geliştirme araçlarını içerir. CUDA sürümü, sürücü sürümüyle uyumlu olmalıdır. Örneğin, 535 sürücüsü CUDA 12.2'yi destekler.
CUDA İndirme ve Kurulum
Resmi CUDA Toolkit sayfasına gidin ve işletim sisteminize uygun sürümü seçin. Ubuntu 22.04 için aşağıdaki komutları çalıştırın:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install cuda-toolkit-12-2
Kurulumdan sonra CUDA yollarını ortam değişkenlerine ekleyin. Bunu ~/.bashrc dosyasını düzenleyerek yapın:
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
CUDA Kurulumunu Doğrulama
CUDA sürümünü kontrol edin:
nvcc --version
Çıktı, Cuda compilation tools, release 12.2, V12.2.140 gibi bir sürüm içermelidir.
Optimizasyon için cuDNN Kurulumu
cuDNN (CUDA Deep Neural Network library), sinir ağı işlemleri için bir hızlandırıcıdır. Bu olmadan TensorFlow ve PyTorch gibi çerçeveler daha yavaş uygulamalar kullanır.
cuDNN Kurulumu
cuDNN kurmak için NVIDIA sitesine kaydolmanız ve uygun dosyaları indirmeniz gerekir. İndirdikten sonra aşağıdaki adımları izleyin:
tar -xzvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.2/include/
sudo cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.2/lib64/
sudo chmod a+r /usr/local/cuda-12.2/include/cudnn*.h /usr/local/cuda-12.2/lib64/libcudnn*
Kurulumu doğrulamak için cuDNN sürümünü kontrol edin:
cat /usr/local/cuda-12.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
Derin Öğrenme Çerçevelerini Kurma
Artık sürücü, CUDA ve cuDNN hazır olduğuna göre, sıra çerçeveyi kurmaya geldi. PyTorch ve TensorFlow iki ana seçenektir.
CUDA Desteğiyle PyTorch Kurulumu
CUDA 12.1 (CUDA 12.2 ile uyumlu) ile PyTorch kurmak için aşağıdaki komutu kullanın:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
PyTorch'un GPU'yu gördüğünü doğrulayın:
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
Çıktı True ve GPU'nuzun adı olmalıdır.
CUDA Desteğiyle TensorFlow Kurulumu
TensorFlow için 2.15 ve sonrası sürümler varsayılan olarak CUDA 12'yi destekler:
pip install tensorflow
Kurulumu doğrulayın:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
İlk İş Yükünü Çalıştırma
Her şeyin doğru çalıştığından emin olmak için basit bir iş yükü çalıştırın. test_gpu.py adında bir dosya oluşturun ve içine şunları yazın:
import torch
import time
# GPU erişimini kontrol et
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"Using device: {device}")
# Büyük bir tensör oluştur ve matris işlemi yap
a = torch.randn(10000, 10000, device=device)
b = torch.randn(10000, 10000, device=device)
start = time.time()
c = torch.matmul(a, b)
torch.cuda.synchronize()
end = time.time()
print(f"Matrix multiplication time: {end - start:.4f} seconds")
print(f"Result shape: {c.shape}")
Çalıştırın:
python test_gpu.py
Her şey doğruysa, çıktı hesaplama süresini ve matris şeklini içerecektir. Bu süre, CPU üzerindeki benzer bir çalıştırmadan çok daha kısa olmalıdır.
Yaygın Sorunları Giderme
CUDA out of memory hatası
Bu hata, GPU belleği dolduğunda oluşur. Çözümler:
- Model eğitiminde batch boyutunu küçültün
- Önbellek belleğini serbest bırakmak için
torch.cuda.empty_cache()kullanın torch.cuda.ampile mixed precision training kullanın
PyTorch'un GPU'yu tanımaması
torch.cuda.is_available() False değeri döndürürse, PyTorch sürümü kurulu CUDA ile uyumlu değildir. PyTorch sürümünü kontrol edin:
python -c "import torch; print(torch.__version__)"
Sürüm +cpu ile bitiyorsa, CPU sürümü kurulmuştur. CUDA sürümünü kurmanız gerekir.
GPU performansının düşük olması
GPU çalışıyor ancak performans düşükse, aşağıdakileri kontrol edin:
- GPU sıcaklığı:
nvidia-smiile sıcaklığı kontrol edin. 85 santigrat derecenin üzerindeyse, soğutmayı iyileştirin. - Güç tüketimi: GPU'nun maksimum performans modunda olduğundan emin olun:
nvidia-smi -pm 1 - PCIe Gen4 kullanımı: Anakart ve GPU PCIe Gen4 destekliyorsa, BIOS'ta etkin olduğundan emin olun.
Özet
Yapay zeka modelleri için GPU sunucusu kurmak, sürücü, CUDA ve cuDNN kurulumunda dikkat gerektiren çok adımlı bir süreçtir. Bu makaledeki adımları izleyerek modellerinizi eğitmek ve çalıştırmak için kararlı ve optimize bir ortam oluşturabilirsiniz. CUDA ve sürücü sürümlerini her zaman birbiriyle uyumlu tutmayı ve ağır projeleri çalıştırmadan önce GPU performansını test iş yüküyle doğrulamayı unutmayın. GPU'lu bulut altyapısı arıyorsanız, ServerNet bulut hizmetleri başlamak için uygun bir seçenek olabilir, ancak nihai seçim hesaplama ihtiyaçlarınıza ve bütçenize bağlıdır.