GPU Kümelerinde Yüksek Etkili İş Çizelgeleme
Kaynak: Hugging Face Blog
İçindekiler 4 başlık
Büyük ölçekli yapay zeka modelleri eğitirken GPU kaynaklarını verimli yönetmek, sadece donanımı çalışır durumda tutmaktan çok daha fazlasını gerektirir. Allen Institute for AI (Ai2) bünyesindeki Yapay Zeka Altyapı ekibi, dağıtık eğitim iş yüklerinde yüksek etkiyi korurken küme doluluğunu maksimize eden yeni bir iş çizelgeleme (scheduling) yaklaşımı geliştirdi. Bu strateji, birbiri üzerine inşa edilen dört basamaklı bir metrik piramidine dayanır:
Dört Metrik Piramidi#
- Kullanılabilirlik (Availability - Temel): Donanımın sağlıklı, kesintisiz ve yeni iş yüklerini kabul etmeye hazır olma sıklığı.
- Doluluk (Occupancy): Mevcut ve sağlıklı GPU zamanının belirli bir iş yüküne atanma oranı.
- Etki (Impact): En değerli ve yüksek öneme sahip araştırma iş yüklerinin kaynak almak üzere seçilme sıklığı.
- Kapasite Kullanımı (Utilization - Zirve): Bir iş yükünün yaşam döngüsü boyunca fiilen kullanılan GPU kapasite oranı.
Aşırı Kaynak Talebi ve Çizelgeleme Patolojileri#
Ai2 altyapısında 88 ile 1024 GPU arasında değişen kümelerde binlerce NVIDIA H100, B200 ve B300 çipi bulunmaktadır. Bu altyapı; LLM/VLM eğitimleri, robotik pekiştirmeli öğrenme (RL) simülasyonları ve bilimsel ajan odaklı post-training süreçlerini yürüten yaklaşık 150 araştırmacıya hizmet verir. Talep, arzın 2 ila 3 katıdır; yani her bir GPU saati için yarışan 2-3 farklı araştırma iş yükü mevcuttur.
Geçmişte kullanılan, kesintiye uğratılabilirlik (preemptability) özelliğinin isteğe bağlı bırakıldığı öncelik tabanlı sistem şu üç temel patolojiye yol açmıştır:
- GPU İşgali (Squatting): Araştırmacılar hata ayıklama (debugging) oturumlarını düşük gecikmeyle başlatamadıkları için, ihtiyaç anında bağlanmak üzere içi boş (no-op) iş yükleri park etmiştir.
- Öncelik Enflasyonu: Zamanla tüm iş yükleri
HIGH(yüksek) öncelikle kuyruğa verilmiş; bu durum düşük öncelikli işlerin tamamen kaynaksız kalarak aç kalmasına (starvation) neden olmuştur. - Operasyonel Bakım Yükü: Kesintiye izin vermeyen işler yüzünden nöbetçi mühendisler, arızalı sunuculardaki işleri güvenle durdurabilmek için mesailerinin çoğunu kullanıcılarla müzakere ederek harcamıştır.
Ortak Malların Trajedisi ve Yeni Çözüm#
Yaşanan bu "ortak malların trajedisi" karşısında ilk etapta öncelikleri daha sıkı denetleme ve kritik projelere tekel GPU tahsis etme yöntemleri denense de kalıcı çözüm; GPU zaman bütçeleri, hiyerarşik adil paylaşım (fair-share) ve zaman dilimleme sözleşmeleri ile sağlanmıştır. Böylece GPU dağıtımı, operasyonel çekişmelerden şeffaf bir idari bütçeleme sürecine dönüştürülmüştür.
Yazılım Geliştirme ve MLOps İçin Pratik Çıkarımlar#
- Preemption ve Checkpoint Mimarisi: Dağıtık eğitim betikleri her an kesintiye uğrayabilecek biçimde sık aralıklarla checkpoint almalı ve durum kurtarma yeteneğine sahip olmalıdır.
- Statik Öncelik Yerine Bütçe Kotası:
HIGH/LOWetiketleri yerine ekiplere tüketilebilir GPU saati bütçeleri ve adil paylaşım kuralları tanımlanmalıdır. - Hata Ayıklama (Debug) Kanalları: Geliştiricilerin kaynak işgal etmesini önlemek adına kısa süreli, etkileşimli geliştirme kuyrukları (interactive dev queues) ayrılmalıdır.
Bu konuyu derinlemesine öğrenmek isterseniz: Ölçeklendirme ve Optimizasyon modülüne göz atın.
Kaynak ve atıf
Bu yazı, Hugging Face Blog üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- huggingface.co/blog/allenai/impactful-scheduling