Backend·2 dk okuma·

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

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

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/completions ile metin çıktısının doğruluğunu teyit edin.

Orijinal makaleye buradan ulaşabilirsiniz.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →