EC2 G5g Üzerinde Gemma 4 Çalıştırma: Graviton2 ve NVIDIA GPU Entegrasyonu

İçindekiler
AWS EC2 G5g bulut sunucuları, Graviton2 (aarch64) işlemci mimarisi ile NVIDIA T4G (Turing, SM 7.5) grafik işlemcisini bir araya getiren benzersiz bir donanımdır. Google'ın Gemma 4 E2B modelini vLLM kütüphanesiyle bu sistem üzerinde çalıştırmak, standart dışı donanım ortamlarında LLM dağıtımı yapacak yazılım geliştiriciler için kritik optimizasyon ve hata ayıklama dersleri sunar.
1. aarch64 ve SM 7.5 İçin Hazır Paket Eksikliği
Resmi vLLM ve PyTorch Docker imajlarında arm64 mimarisi yalnızca Ampere ve üstü (SM 8.0+) GPU'ları hedefler. G5g platformundaki Turing (SM 7.5) mimarisi bu imajlarda bulunmadığı ve vLLM derleme sırasında PTX bayraklarını filtrelediği için, doğrudan çalıştırma girişimi no kernel image is available hatasıyla başarısız olur.
2. AWS DLAMI Desteği ve Eksik Derleme Araçları
PyPI tekerlekleri sm_75 desteğinden yoksun olsa da, AWS'in sunduğu DLAMI imajları PyTorch 2.12 sürümünde Turing desteğini korur. Ancak bu imajlarda CUDA derleyicisi (nvcc) ve vllm-rs modülünün gerektirdiği Rust araç zinciri (setuptools_rust) yer almaz. Derleme öncesinde bu araçların NVIDIA SBSA deposundan manuel kurulması şarttır.
3. Güncel vLLM Sürümü ve Değişken Dikkat Başları
Gemma 4 mimarisi, katmanlar arasında heterojen dikkat başı boyutlarına (head_dim) sahiptir; kayan katmanlarda 256, global katmanlarda ise 512 değerini kullanır. Eski vLLM sürümleri bu heterojen yapıyı işleyemediği için hata fırlatır. Bu nedenle en az v0.27.2rc0 sürümü kullanılmalı ve sistem Triton Attention (TRITON_ATTN) arka ucuna yönlendirilmelidir.
4. 64 KiB Paylaşımlı Bellek (Shared Memory) Darboğazı
Turing mimarisinde dinamik paylaşımlı bellek sınırı 64 KiB'dir. Triton'un 512 boyutundaki dikkat çekirdeği ~96 KiB bellek talep ettiği için sistem OutOfResources hatası verir. Bu sorun, triton_unified_attention.py dosyası içindeki KV tile boyutları (TILE_SIZE) Ampere öncesi kartlar için küçültülerek çözülebilir.
5. Kernel Derleme Maliyetleri ve Çalışma Zamanı Performansı
vLLM kaynak koddan derlenirken, Turing mimarisinde asla çalışamayacak FlashAttention (sm80/sm90) çekirdeklerini de derler ve süreci 60 dakikanın üzerine çıkarır. Sistem ayağa kalktığında ise T4G'nin GDDR6 bellek bant genişliği (277 GB/s) sınırına takılarak tek akışta yaklaşık 43 tok/s hızında çıkarım sağlar.
Yazılım Geliştiriciler İçin Pratik Çıkarımlar
- Erken Donanım Doğrulaması: Fiziksel donanım üzerinde test yapmadan önce varsayımlara dayalı mimari kurgulamayın; uç donanımlar öngörülmeyen kısıtlar barındırır.
- En Güncel Kütüphaneleri Seçin: Yeni nesil model mimarilerinin gerektirdiği yapılandırma destekleri yalnızca en güncel framework sürümlerinde yer alır.
- Düşük Seviyeli Donanım Limitlerine Hâkim Olun: GPU paylaşımlı bellek (shared memory) ve bant genişliği sınırlarını anlayıp kernel tile boyutlarını bu limitlere göre optimize edin.
- Sağlık Kontrollerini Doğru Yapın: API uç noktası testlerinde boş yanıt kontrolü yerine
/v1/chat/completionsile metin çıktısının doğruluğunu teyit edin.
Orijinal makaleye buradan ulaşabilirsiniz.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →