Bildiğiniz üzere son zamanlarda GPU içeren sunucular üzerine talepler oldukça artmış durumda. Bu talepler haliyle donanım OPEX ve CAPEX maliyetleri oldukça yüksek seviyelere getirmektedir. Burada aslında tek konu maliyetler de değil, işin içine tedarik süreçleri de girdiği aşamada istediğiniz bir AI projesini hızlı bir şekilde hayata geçiremiyorsunuz. Yani istediğiniz an elinizde GPU’lu bir sunucu olamıyor maalesef. Talep çok olduğu için tedarik süreçleri 6 aya kadar uzayabiliyor.

Taleplere hızlı cevap vermek ve optimum kaynak kullanımı ile ilerlemek adına sanal GPU dediğimiz MIG, vGPU gibi yapılar çözüm yolu olabiliyor. Yıllar önce sunucu sektöründe artan maliyetleri ve atıl kaynakları daha doğru yönetebilmek için çıkan sanallaştırma teknolojisini, yine bir donanım olan GPU için de kullanmak mümkün. Bu yapı vGPU olarak adlandırılıyor. MIG yapısından biraz farklı ve daha esnek bir yapı sunuyor. Bu esneklik her ne kadar avantaj olsa da MIG’e göre lisans maliyeti ile gelmesi bir yerde dezavantaj olarak değerlendirilebilir.

Kısacası her AI çalışması için fiziksel bir sunucu sağlamaktansa bu yapıyı aynı standart sunucu süreçlerindeki gibi sanallaştırdığımızda kaynaklar ile birçok yapıyı düşük maliyetli vGPU (vRAM + GPU CUDA) yapıları üzerinde çalıştırabiliyoruz.

Kullanacağınız LLM model parametresine ve GPU modeline bağlı olarak, anlatacağım yöntem ile daha çok Inference yani çıktı aldığımız (chatbot) yapıları veya Fine+Tune dediğimiz model üzerinde limitli değişiklik süreçlerini aktif edebileceğiniz yapıları oluşturmak daha uygun olabiliyor. Ayrıca sLM dediğimiz küçük dil modellerini çalıştıracağınız, vektör veri tabanı kullanarak RAG mimari oluşturacağınız yapılar için de uygun olacaktır.

Bazı durumlarda training(Model Eğitimi) için fiziksel sunucu kullanımı daha uygun olabiliyor. Daha yüksek vRAM ve GPU CUDA desteğine ihtiyacınız bulunan parametre sayısı çok yüksek olan modellerde maalesef sanallaştırma yapmak çok uygun olmuyor. Kabaca bir hesaplama yapacak olursak 7B (7 Milyar) parametreli bir model için aşağıdaki hesaplama ile ihtiyaç olan vRAM değerini çıkartabiliriz.

Model ağırlığı 2byte (FP16) olacak şekilde; (integer (INT8-INT4) olarak çalışırsanız ağırlık 1 veya 0,5 byte olacaktır)

7 000 000 000 x 2 byte = 14 000 000 000 byte = 14 GB

Toplam eğitim belleği gereksinimi ağırlığın 3x-6x katıdır. En iyi ihtimali hesaplarsak bu değer;

14 GB X 3 = 45 GB vRAM olacaktır.

Sonuç olarak; Training için 48 vRAM’e sahip olan bir L40S’i sanallaştırmak 7B parametre için bile maalesef olası değildir. Bu model en düşük modellerden biridir. Kurumsal yapılarda daha yüksek modeller kullanılır ve bu modelleri ise NVIDIA DGX H200 veya HGX H200 (4–8 Socket, her socket 141GB vRAM, 16,896 CUDA) ürünleri üzerinde sanallaştırma yaparak kullanabilirsiniz. Öncesinde LLM modele göre kaynak hesaplaması yapmak faydalı olabilir.

Öncelikli olarak konfigürasyon kapsamında bazı gereksinimlerin sağlanması gerekiyor. Elinizde bulunan GPU’lu sunucu bir VMware(farklı bir katman da olabilir, citrix vb) ortamında host olarak tanımlanmalı ve disk, network yapıları standart yapılara göre oluşturulmalıdır. Bu kısım tamamen IaaS operasyonu olarak geçmektedir. Tavsiye olarak; GPU Farm ayrı bir cluster olarak kurulabilir.

Tüm host işlemleri tamamlandıktan sonra, yaklaşık 2.2 GB AI Enteprise paketini kurmalısınız. Eğer kurumunuzda daha önce GPU sanallaştırması yapmadıysanız öncelikli olarak 4. adımı uygulayarak organizsayonu (Firma bilgilerini) tanımlamanız ve bir kullanıcı grubu oluşturmanız gerekmektedir.

Ayrıca bu yapının kurulması için aldığınız ürüne atanmış AI Enterprise lisansı bulunması gerekmektedir. Satıcı firmalardan donanım talebi yapıldığı kapsamda H100, H200 gibi donanımlar çok büyük ihtimalle 5 yıllık AI Enterprise lisans ve desteği ile teslim ediliyor. Yine de satıcı firma ile teyit etmekte fayda var.

Son olarak erişimler için açılması gereken bazı portlar bulunuyor. Bu portlar portal yönünde açılmalı ve işlemlerden önce tanımlamalar yapılmalı.

Kaynak = Lokal Lisans sunucusu

Hedef = https://ui.licensing.nvidia.com/

Port : 443, 7070, 8080

  1. İlk adım olarak License Server hangi ortamda kurulacaksa ilgili ortama uygun olan imaj dosyası indirilmeli. Bu imaj dosyasını ortamınıza upload ettikten sonra karşınıza bir appliance arayüzü çıkıyor ve istenen bilgilerin girilmesi gerekiyor. (IP,hostname, nls kullanıcı adı, şifre, dls kullanıcı adı, şifre gibi)

Press enter or click to view image in full size

Lisans Server Imaj Erişimi

2. Applicance kurulumu tamamlandıktan sonra dls kullanıcı bilgisi talep ediliyor. Sonrasında bu dls kullanıcısı ile giriş yaparak aşağıdaki ekrana ulaşılıyor.

Press enter or click to view image in full size

Lokal Lisans Server

3. Aktivasyon kapsamında ihtiyacımız olan bir başka veri ise, GPU kartlarının seri numaraları olacaktır. ILO üzerinden veya donanım hangi arayüzü destekliyorsa bu arayüz üzerinden GPU seri numaraları alınabilir.

Press enter or click to view image in full size

GPU Seri Numarası

4. Sonrasında alınan GPU seri numaralarının aşağıdaki web sayfasında kaydedilmesi gerekmektedir. Bu sayfada organizasyona ait bilgiler de istenmektedir. Organizasyon bilgileri donanım satışı yapılan firma bilgileri ile eşleşmelidir.

https://org.ngc.nvidia.com/subscriptions

5. Bir süre sonra aşağıdaki web sayfasından kontroller yapılabilir. Lisansların burada görülmesi biraz zaman alabilir. Yoğunluğa göre aktivasyon 10 dakika ile 12 saat arasında değişmektedir. Genelde ilk lisans işlemleri biraz uzun sürmektedir.

Aşağıda görüldüğü gibi 0/40 olarak tanımladığım lisans portale yansıdı.

NVIDIA Licensing Portal

Edit description

ui.licensing.nvidia.com

Press enter or click to view image in full size

6. lisans tanımı tamamlandıktan sonra aşağıdaki gibi bir mail içeriği ile bilgilendirme yapılmaktadır.

Press enter or click to view image in full size

7. DLS register etmeden önce lokal lisans sunucusundan token alınması gerekmektedir. Bu tokenı lokal lisans sunucu web sayfasına girerek aşağıdaki gibi alabilirsiniz.

Press enter or click to view image in full size

8. Bir sonraki adımda DLS Server’ın kaydedilmesi gerekmektedir. Burada eğer lokal bir yapıda ilerlenecek ise “Register” yani 3. sırada bulunan seçenek ile ilerlenir. Cloud üzerinde bir server kurmak isteniyorsa bunun için 1. Seçenek ile ilerlenecektir.

9. Lokal sunucu ile ilerleneceği için “Register DLS instance” seçilerek ilerlenebilir.

Press enter or click to view image in full size

10. DLS kaydetme aşamasında “Register DLS instance” butonuna bastıktan sonra sizden indirmiş olduğunuz token istenecektir. Token seçilir ve lisans server kaydı yapılır.

11. Daha sonra NVIDIA web arayüzünden “Create server” seçeneği ile bir server oluşturulması beklenir. Bu aşamada hem boşta olan GPU’lar hem de token ile kaydilen DLS lokal sunucusu birbiri ile eşleşecektir.

Not : Bu aşamada dikkat edilmesi gereken tek konu 4. Adımda “Standart Networked Licensing” seçeneğinin seçilmesidir.

Press enter or click to view image in full size

12. Tüm DLS register ve Server oluşturma işlemleri tamamlandıktan sonra genel bir kontrol yapmak gerekmektedir.

12.1. Öncelikle DLS sunucusunun “Registered” olduğundan emin olunmalıdır.

Press enter or click to view image in full size

12.2. İkinci olarak oluşturduğumuz server’ın “Installed” olması gerekmektedir.

Tüm kontroller tamam ise bir sonraki adıma geçilebilir.

Press enter or click to view image in full size

13. DLS server seçildikten sonra sağ üst köşede bir “Download” seçeneği çıkacaktır. Bu lisans server için oluşturulmuş bir .bin uzantılı dosyayı işaret etmektedir. Bu dosya lokal sunucuda kullanılmak üzere indirilmelidir.

Press enter or click to view image in full size

14. İndirilen .bin uzantılı dosya artık lokal lisans sunucusunda import edilebilir.

“SELECT LICENSE SERVER FILE” seçeneğinden import edilmesi gerekmektedir. Sonrasında “Install server” seçeneği ile ilerlenebilir.

Press enter or click to view image in full size

Press enter or click to view image in full size

15. Tebrikler!!!

DLS lisans sunucunuz artık lokalde bulunan lisans sunucusu ile senkronize bir yapıdadır.

Press enter or click to view image in full size

16. Kullanım durumu lokal sunucu ara yüzünde görülmektedir.

“Server Feature” ile bu server’a atama yapılan lisanları görebilirsiniz.

Press enter or click to view image in full size

Ortamlarımda H100 kullanıyorum, 2 GPU socket bulunuyor ve her bir soketi 20 parçaya bölebiliyorum. Bu tamamen AI Enterprise lisansın sağladığı bir esnekliktir.

“Lisans Pools” kısmında daha ayrıntılı kullanım görülebilir. Bir sanal sunucu oluşturup istenilen değerde vGPU dediğimiz sanal GPU atanabilir. Sanal sunucu oluşturdukça burada bulunan “IN USE/ALLOCATED” değeri artacaktır.

Press enter or click to view image in full size

“Leases” tabında da yine kullanım değeri görülebilir.

Press enter or click to view image in full size

Tüm bunları tamamladıktan sonra artık orkestrasyon ürünü olan IaaS (Sanallaştırma) altyapısı özelinde paketler indirilerek sunucumuzun GPU sanallaştırmasını aktif edebiliriz. Vmware ortamı için bu süreci ilerletmiştim. 20 Ağustos tarihinde çıkan “AI Enterprise 7.0” paketini kurabilirim. Sonrasında vmware üzerinde oluşturduğum sanal sunucu içerisinde vGPU ataması yapabilmem mümkün olacaktır. Bu sayede sanal sunucularımda vRAM ve buna oranla GPU CUDA kullanımı yapabilirim.

Press enter or click to view image in full size

Nvidia Ai Enterprise
Vgpu
Gpu Virtualization