Tek Bir GPU Üzerinde İki Model Çalıştırmak: Yerel LLM'lerin Arkasındaki Matematik
Bir iş istasyonunda (workstation) bir ajan yığını (agent stack) çalıştırıyorum. Modeller, bir LAN üzerinden DGX Spark üzerinde bulunuyor. Belleği daha iyi yönetmek için Ollama yerine vLLM kullanıyorum.
Hedef, iki modeli aynı anda çalıştırmak:
- Ağır muhakeme (reasoning) için Qwen3-Next-80B.
- Hızlı dönüşler için Qwen3-4B.
Her iki model de bir LiteLLM proxy'si aracılığıyla tek bir URL'ye erişiyor. Doğru matematiği bulmadan önce bu kurulum birkaç kez başarısız oldu.
İşte bu mücadeleden çıkardığım dersler.
Bellek Tuzağı
gpu_memory_utilization ayarı, boş bellek için bir hedef değildir. Toplam GPU belleğinin bir oranıdır.
Eğer 120 GB'lık bir kartınız varsa ve kullanım oranını (utilization) 0.80 olarak ayarlarsanız, vLLM toplam kapasitenin 96 GB'ını rezerve etmeye çalışır. Mevcut boş belleğe bakmaz. İki işlem çalıştırmayı deniyorsanız, yüzdelerinin toplamı 0.95'ten az olmalıdır. CUDA framework overhead (ek yükü) için pay bırakmalısınız.
Modellerle İlgili Ne Oldu?
80B modelinin "Thinking" versiyonunu kullanmayı denedim. Başarısız oldu. Model <think> etiketleri içinde muhakeme yapıyordu ancak asla bir araç çağrısını (tool call) tetiklemiyordu. Sadece duruyordu.
80B ana modelini (backbone) "Instruct" versiyonuyla değiştirmek zorunda kaldım. Bu, ajanın araçları düzgün bir şekilde kullanmasını sağladı.
Gerçek Matematik Test ettikten sonra, kurulumum için şu rakamların işe yaradığını buldum:
• Qwen3-Next-80B (0.80 hedef ile): ~87.8 GiB gerçek bellek kullanıyor. • Qwen3-4B (0.10 hedef ile): ~13.8 GiB gerçek bellek kullanıyor. • Toplam kullanım: ~101.6 GiB. • Boş pay (headroom): ~18 GiB.
Eğer 80B'yi 0.85'e zorlasaydım, 4B modeli başlayamazdı. 80B çok fazla yer kaplayacak ve 4B'nin minimum ihtiyaçları için yer bırakmayacaktı.
Birlikte Çalışan Modeller İçin Uygulama Rehberim
- Önce en büyük modeli yükleyin.
- Yerleşmesine izin verin.
- Kullanılan gerçek belleği görmek için
nvidia-smikomutunu çalıştırın. - Küçük modeli, kalan boş bellekten 5 GB overhead (ek yük) çıkararak boyutlandırın.
- Kararlılığı sağlamak için her iki modeli de iki kez yeniden başlatın.
Bellek ayarlarınızı tahmin etmeyin. Gerçek durumu görmek için şu komutu kullanın:
nvidia-smi --query-gpu=memory.used --format=csv
Hedef tahsisatınız ile gerçek kullanımınız %10'dan fazla fark ediyorsa, matematiğiniz yanlıştır. Ajan yığınınızı yayına almadan (deploy) önce bunu düzeltin.
Optional learning community: https://t.me/GyaanSetuAi