Yapay zeka için sunucu seçimi, çoğu ekipte yanlış sırayla yapılıyor: önce bütçeye göre bir GPU seçiliyor, sonra model o karta sığmayınca çareler aranıyor. Doğru sıra tam tersidir. Önce hangi modeli, hangi hassasiyette ve hangi amaçla çalıştıracağınızı netleştirir, oradan VRAM ihtiyacını hesaplar, ancak ondan sonra donanıma bakarsınız. Çünkü bu iş yükünde tek bir sert sınır vardır: model belleğe sığmazsa çalışmaz.
Bu rehberde eğitim, ince ayar ve çıkarım arasındaki bellek farkını somut hesaplarla göstereceğim; nicelemenin (quantization) bu tabloyu nasıl değiştirdiğini, GPU'yu aç bırakmamak için CPU, RAM ve disk tarafında neye ihtiyacınız olduğunu, çoklu GPU ve çok düğümlü kurulumların ne zaman gerektiğini ve kendi sunucunuzu kurmak ile kiralamak arasındaki dengeyi anlatacağım. Sonunda katalogdan kart seçmek yerine ihtiyaç listesiyle alışverişe çıkabileceksiniz.
Önce Sorun: Eğitim mi, İnce Ayar mı, Çıkarım mı#
Bu üç iş yükünün donanım ihtiyacı arasında on kata varan farklar vardır ve bunları ayırmadan yapılan hiçbir hesap doğru çıkmaz.
Sıfırdan eğitim (pretraining), bir modeli baştan öğretmektir ve pratikte küçük ve orta ölçekli ekiplerin işi değildir; onlarca hatta yüzlerce GPU'luk kümeler ister. Bu yazının kapsamı dışında bırakıyorum, çünkü bu ölçekte karar donanım seçimi değil, altyapı projesidir.
İnce ayar (fine-tuning), hazır bir modeli kendi verinizle uyarlamaktır ve çoğu şirketin gerçekten ihtiyaç duyduğu şey budur. Tam ince ayar hâlâ pahalıdır, ancak LoRA gibi düşük ranklı adaptasyon yöntemleri maliyeti dramatik biçimde düşürür: modelin tamamını değil, eklenen küçük bir katman kümesini eğitirsiniz.
Çıkarım (inference), eğitilmiş modeli üretimde çalıştırmaktır. Bellek ihtiyacı eğitimden çok daha düşüktür ama sürekli çalışır, yani asıl işletme maliyeti buradadır. Çıkarımda ölçüt hesap gücünden çok bellek kapasitesi ve bellek bant genişliğidir; üretilen belirteç hızını belirleyen şey genelde ikincisidir.
| İş yükü | Ana kısıt | Süre | Tipik yaklaşım |
|---|---|---|---|
| Sıfırdan eğitim | Çok GPU + ağ | Haftalar | Küme, çoklu düğüm |
| Tam ince ayar | VRAM (optimizasyon durumları) | Saatler–günler | Tek düğüm, çoklu GPU |
| LoRA ince ayar | VRAM (taban model) | Saatler | Tek GPU çoğu zaman yeter |
| Çıkarım | VRAM + bant genişliği | Sürekli | Tek GPU ya da bölünmüş kart |
VRAM Hesabı: Model Belleğe Sığıyor mu#
Kaba ama işe yarayan formül şudur: gereken bellek ≈ parametre sayısı × parametre başına bayt + çalışma alanı. Parametre başına bayt, kullandığınız hassasiyete göre değişir.
| Amaç ve hassasiyet | Parametre başına | 7 milyar parametreli model için |
|---|---|---|
| Çıkarım, FP16/BF16 | 2 bayt | ~14 GB ağırlık |
| Çıkarım, INT8 | ~1 bayt | ~7 GB ağırlık |
| Çıkarım, 4-bit | ~0,5 bayt | ~4 GB ağırlık |
| LoRA ince ayar (4-bit taban) | taban + küçük adaptör | ~10–16 GB |
| Tam eğitim (karışık hassasiyet, Adam) | ~16 bayt | ~110 GB + aktivasyon |
Son satır çoğu kişiyi şaşırtır, açıklayayım: tam eğitimde bellekte yalnızca ağırlıklar durmaz. Ağırlıkların yüksek hassasiyetli bir kopyası, her parametre için bir gradyan ve optimizasyon algoritmasının kendi durum değişkenleri de tutulur. Adam optimizasyonuyla karışık hassasiyetli eğitimde bu toplam, parametre başına kabaca 16 bayta çıkar. Yani çıkarımda 14 GB ile çalışan bir model, tam eğitimde 100 GB'ın üzerine ihtiyaç duyar.
Bir de KV önbelleği vardır ve büyük dil modeli servislerinde sıkça atlanır. Bu önbellek, üretilen her belirteçle birlikte büyür; boyutu bağlam uzunluğuyla ve eşzamanlı istek sayısıyla doğrusal artar. Uzun bağlamlı ve çok kullanıcılı bir serviste KV önbelleği, modelin ağırlıklarından bile fazla yer kaplayabilir. Kapasite planlaması yaparken ağırlık boyutunun üzerine, hedeflediğiniz eşzamanlılık ve bağlam uzunluğu için ayrı bir pay bırakın.
Pratik kural: hesapladığınız değerin üzerine %20-30 pay ekleyin. Çerçevenin kendi ayırdığı tamponlar, bellek parçalanması ve geçici aktivasyonlar bu payı yer. Sınırda kalan bir yapılandırma, ilk uzun istekte bellek yetersizliği hatasıyla düşer.
Niceleme ile Bellek Kazanmak#
Niceleme (quantization), model ağırlıklarını daha az bit ile temsil etmektir ve bellek denklemini kökten değiştirir. 16 bitlik ağırlıkları 8 bite indirdiğinizde bellek ihtiyacı yarıya, 4 bite indirdiğinizde dörtte bire iner. Karşılığında bir miktar doğruluk kaybı olur, ama modern niceleme yöntemlerinde bu kayıp çoğu uygulama için kabul edilebilir seviyededir.
Bunun pratik anlamı büyüktür: 4-bit niceleme sayesinde, normalde iki karta ihtiyaç duyacak bir model tek karta sığar. Tek kart demek, kartlar arası iletişim gecikmesinin ortadan kalkması ve maliyetin yarıya inmesi demektir. Bu yüzden çıkarım tarafında niceleme, bir "optimizasyon" değil varsayılan yaklaşım olarak düşünülmelidir.
Nicelemeyi değerlendirirken üç noktaya dikkat edin. Birincisi, kartınızın o formatı donanımsal olarak destekleyip desteklemediği; desteklemeyen bir kartta düşük bit formatları hız kazandırmaz, yalnızca bellek tasarrufu sağlar. İkincisi, doğruluk kaybının sizin göreviniz için ölçülmesi gerektiği — genel karşılaştırmalar değil, kendi veri kümenizle yapılan bir değerlendirme belirleyicidir. Üçüncüsü, niceleme uygulanmış bir modelin ince ayarının farklı yöntemler gerektirdiği; 4-bit taban model üzerine LoRA adaptörü eğitmek bu alanın en yaygın pratiğidir.
GPU'yu Aç Bırakmayın: CPU, RAM ve Disk Dengesi#
Pahalı bir kart alıp yanına yetersiz bir sistem koymak, bu alandaki en yaygın ve en sinir bozucu hatadır. Belirtisi nettir: nvidia-smi çıktısında GPU kullanımı sürekli düşük seyreder, eğitim ilerlemez ve sorun kartta sanılır. Oysa kart, veriyi bekliyordur.
# Eğitim sırasında kart gerçekten çalışıyor mu?
nvidia-smi --query-gpu=utilization.gpu,memory.used,power.draw --format=csv -l 2
# Kullanım sürekli düşükse darboğazı sistem tarafında arayın
iostat -x 2 5 # disk bekleme süresi (%util, await)
vmstat 2 5 # CPU bekleme (wa sütunu) ve takas kullanımı
Üç kaynak için pratik başlangıç kuralları:
- CPU çekirdeği. Veri yükleme ve ön işleme CPU'da yapılır. GPU başına 4 ila 8 fiziksel çekirdek makul bir başlangıçtır; görüntü artırma (augmentation) gibi ağır ön işleme varsa daha fazlası gerekir. Veri yükleyici işçi sayısını çekirdek sayısına göre ayarlayın, körlemesine artırmak bellek tüketimini patlatır.
- Sistem belleği. Yaygın kural, sistem RAM'inin toplam VRAM'in en az 1,5–2 katı olmasıdır. Model yükleme, kontrol noktası (checkpoint) yazma ve veri kümesi önbellekleme bu belleği kullanır. RAM yetmezse takas başlar ve eğitim süresi kabul edilemez hale gelir.
- Disk. Eğitim verisi rastgele sırayla okunur, yani darboğaz sıralı okuma hızı değil rastgele okuma IOPS'udur. NVMe burada zorunlu sayılır. Veri kümesi, kontrol noktaları ve konteyner imajları hızlıca yer kaplar; disk doluluğunu düzenli izleyin, yöntemler için df, du ve ncdu ile disk kullanımı yazısına bakabilirsiniz. Konteynerle çalışıyorsanız imaj birikmesi ayrı bir sorundur; Docker diski doldurdu, nasıl temizlenir rehberi bu tarafı kapsar.
Kontrol noktaları için ayrı bir uyarı: büyük bir modelin tek bir kontrol noktası onlarca gigabayt tutabilir ve eğitim boyunca düzenli olarak yazılır. Bunlar için ayrı ve bol alanlı bir birim ayırın, aksi halde saatler süren bir eğitim disk dolduğu için sonlanır.
Çoklu GPU ve Ağ: Ne Zaman Gerekir#
Tek karttan çıkmanın iki sebebi vardır: model sığmıyordur ya da iş çok uzun sürüyordur. Bu iki sebep farklı çözümlere işaret eder.
Veri paralelliği, modelin kopyasını her karta koyup veriyi bölmektir. Model tek karta sığıyorsa ve amacınız hızlanmaksa doğru yöntem budur; ölçeklenmesi de iyidir. Kartlar her adımda gradyanları birbirine iletir, dolayısıyla kartlar arası bağlantı hızı verimi doğrudan etkiler.
Model ve tensör paralelliği, modeli katmanlara ya da tensör parçalarına bölüp farklı kartlara dağıtmaktır. Model tek karta sığmadığında zorunlu hale gelir, ancak kartlar arası iletişim çok daha yoğundur; burada yüksek hızlı doğrudan bağlantıya sahip kartlar, yalnızca PCIe üzerinden haberleşenlere göre belirgin biçimde daha iyi ölçeklenir.
Tek makineden çok makineye geçiş, ayrı bir eşik ve ayrı bir maliyet sınıfıdır. Düğümler arası gradyan alışverişi standart Ethernet üzerinde ciddi bir darboğaz yaratır; verimli çok düğümlü eğitim için yüksek hızlı ve düşük gecikmeli bir ağ altyapısı gerekir. Bu eşiğe gelmeden önce şu sırayı izleyin: daha iyi niceleme → daha büyük tek kart → tek makinede çoklu kart → çok düğüm. Her adım bir öncekinden belirgin biçimde daha karmaşıktır ve çoğu ekip ilk iki adımda çözüme ulaşır.
Tek bir kartı birden fazla küçük iş arasında paylaştırmanız gerekiyorsa, ters yönde bir çözüm de var: kartı bölerek her çıkarım servisine kendi payını verebilirsiniz. Yöntemleri vGPU ile GPU paylaşımı yazısında karşılaştırdım.
Kendi Sunucun mu, Kiralık mı, API mi#
Üç seçeneğin de doğru olduğu senaryolar var; karar üç eksende netleşir: maliyet, veri gizliliği ve kontrol.
| Kriter | Hazır API | Kiralık GPU sunucu | Kendi donanımınız |
|---|---|---|---|
| Başlangıç maliyeti | Yok | Yok | Yüksek |
| Birim maliyet (yoğun kullanımda) | Yüksek | Orta | Düşük |
| Veri sizden çıkıyor mu | Evet | Hayır | Hayır |
| Model seçme özgürlüğü | Sağlayıcının listesi | Tam | Tam |
| Başlama süresi | Dakikalar | Saatler | Haftalar |
| Bakım yükü | Yok | Az | Tamamen sizde |
Pratik yol haritası şudur: fikri doğrulamak için hazır bir API ile başlayın; veri gizliliği gerekiyorsa ya da kullanım hacminiz API maliyetini anlamlı kılmayacak kadar büyüdüyse kiralık bir GPU sunucuya geçin; yükünüz sabitlenip doluluk sürekli yüksek çıkmaya başladığında kendi donanımınızı değerlendirin.
Türkiye'de faaliyet gösteren ve kişisel veri işleyen bir şirket için veri gizliliği ekseni çoğu zaman belirleyicidir: müşteri verisini dışarıdaki bir modele göndermek hukuki ve sözleşmesel yükümlülükler doğurur. Kendi altyapınızda çalıştırdığınız bir model, bu sorunu kökten ortadan kaldırır. Deneme aşaması için GPU VDS paketleri hızlı bir başlangıç sunar; yük büyüdüğünde dedicated sunucu ya da kendi kartlarınızı barındıracağınız colocation modeline geçebilirsiniz. Kendi kartınızı alacaksanız güç ve soğutma tarafını önceden hesaplayın; yöntem sunucu güç tüketimi ve maliyeti yazısında.
Sık Yapılan Hatalar#
Hesap gücüne bakıp VRAM'i atlamak. Kart karşılaştırmalarında öne çıkan sayı işlem gücüdür, ama sizi durduran şey bellektir. Önce "kaç GB gerekiyor" sorusunu cevaplayın; yetersiz bellek bir yavaşlık değil, doğrudan bir çalışmama sebebidir.
KV önbelleğini hesaba katmamak. Model ağırlıkları karta tam oturuyorsa iş bitmiş sayılmaz. Uzun bağlamlı ve çok kullanıcılı bir serviste önbellek hızla büyür; kapasiteyi hedef eşzamanlılık üzerinden test etmeden üretime almayın.
Zayıf veri hattıyla güçlü kart almak. GPU kullanımı düşükse sorun genelde disk ya da CPU tarafındadır. Ölçmeden karta suç atmayın; nvidia-smi ile iostat çıktısını yan yana okuyun.
Sürüm uyumunu elle yönetmek. Sürücü, hesaplama kütüphaneleri ve çerçeve sürümleri arasındaki uyum kırılgandır. Ortamı konteyner imajıyla sabitlemek, sonraki aylarda saatlerce hata ayıklamadan kurtarır.
Elektrik ve ısıyı planlamamak. Yüksek segment kartlar tek başına yüzlerce watt çeker ve ciddi ısı üretir. Kabin başına ısı yoğunluğu sınırlı olduğundan, makineyi yerleştirmeden önce tesisin bu yoğunluğu kaldırıp kaldırmadığını doğrulayın. Donanımın geri kalanını dengelerken sunucu donanım seçimi rehberi yazısındaki iş yükü tabloları işinize yarar.
Sıkça Sorulan Sorular#
7 milyar parametreli bir modeli çalıştırmak için kaç GB VRAM gerekir#
Kaba hesap, parametre sayısını hassasiyetin bayt karşılığıyla çarpmaktır. FP16 hassasiyette 7 milyar parametre yaklaşık 14 GB ağırlık demektir; 8 bit nicelemede bu 7 GB'a, 4 bit nicelemede 4 GB civarına iner. Bunun üzerine KV önbelleği ve çerçeve tamponları için %20-30 pay eklemeniz gerekir, yani FP16 için rahat çalışma 18-20 GB civarında bir kart ister.
Eğitim ile çıkarım arasındaki bellek farkı neden bu kadar büyük#
Çıkarımda bellekte yalnızca model ağırlıkları ve üretim sırasında oluşan önbellek tutulur. Eğitimde ise ağırlıkların yüksek hassasiyetli kopyası, her parametre için bir gradyan ve optimizasyon algoritmasının durum değişkenleri de saklanır. Yaygın optimizasyon yöntemleriyle karışık hassasiyetli eğitimde bu toplam parametre başına kabaca 16 bayta çıkar, yani aynı model için ihtiyaç sekiz katına yakın artar.
Yapay zeka için kaç CPU çekirdeği gerekir#
Veri yükleme ve ön işleme CPU'da yapıldığı için GPU başına 4 ila 8 fiziksel çekirdek makul bir başlangıç noktasıdır. Görüntü artırma ya da ağır metin ön işleme varsa bu sayı artmalıdır. Doğru değeri bulmanın en iyi yolu ölçümdür: eğitim sırasında GPU kullanımı düşük ve CPU dolu görünüyorsa veri hattı darboğazdır ve çekirdek sayısı yetersizdir.
Niceleme model kalitesini ne kadar düşürür#
Modern niceleme yöntemlerinde 8 bit hassasiyette kayıp çoğu uygulamada fark edilmeyecek düzeydedir; 4 bitte ise görev tipine göre değişen ölçülebilir bir kayıp olabilir. Kritik olan, kaybı genel karşılaştırmalarla değil kendi veri kümenizle ölçmenizdir. Pratikte çoğu üretim servisi, sağladığı bellek ve maliyet avantajı nedeniyle nicelenmiş modeller kullanır.
Tek güçlü GPU mu, iki orta seviye GPU mu daha iyi#
Model tek güçlü karta sığıyorsa tek kart neredeyse her zaman daha iyidir: kartlar arası iletişim gecikmesi olmaz, yazılım tarafı basitleşir. İki kart, ancak model tek karta sığmadığında ya da bağımsız iki iş yükünü paralel çalıştıracaksanız avantaj sağlar. Bellek toplamının kâğıt üzerinde eşit olması, iki kartın tek kart gibi davranacağı anlamına gelmez.
Yapay zeka sunucusunu kiralamak mı kurmak mı daha mantıklı#
Kullanım oranınıza ve verinizin hassasiyetine bağlıdır. Deneme ve geliştirme aşamasında kiralamak açık ara mantıklıdır; donanım tedariki haftalar sürer ve gereksinimleriniz henüz değişkendir. Yükünüz sabitlenip kart günün büyük kısmında dolu çalışmaya başladığında satın alma bir ya da iki yılda kendini amorti edebilir. Kararı verirken elektrik maliyetini ve donanımın hızlı eskidiğini de hesaba katın.
Kapanış#
Yapay zeka iş yüklerinde donanım seçimi, bir hız yarışından çok bir bellek planlama problemidir. Aklınızda kalması gereken dört alışkanlık şunlar: kart seçmeden önce VRAM ihtiyacını parametre × bayt formülüyle hesaplayın ve üzerine pay ekleyin; çıkarımda nicelemeyi varsayılan kabul edin; GPU'yu besleyecek CPU, RAM ve NVMe tarafını ihmal etmeyin; ve çoklu GPU'ya geçmeden önce daha iyi niceleme ve daha büyük tek kart seçeneklerini tüketin.
Fikri hızlıca denemek isterseniz GPU VDS paketlerinde sürücüsü hazır bir ortamda dakikalar içinde başlayabilirsiniz. Yükünüz büyüyüp sabitlendiğinde dedicated sunucu ya da kendi kartlarınızı barındıracağınız colocation seçeneklerine geçebilir, işletim sistemi ve sürücü bakımını devretmek isterseniz sunucu yönetimi hizmetimizden yararlanabilirsiniz.