Generative AI: Inferencing ve LLM Üzerine Mimari ve Kaynak Planlama

Evren Baycan
Turk Telekom Bulut Teknolojileri
18 min readMay 30, 2024

Traditional AI (Geleneksel Yapay Zeka) üzerine henüz yeni entegre olmuşken şimdide Generative AI (Üretken Yapay Zeka) ile yeni bir döneme geçiş yapmış bulunuyoruz. Özellikle GPT ve DALL-E gibi modellerle bu yeni yapay zekandan oldukça faydalanır olduk.

Bugün bir çok konuda LLM (Large Language Model) ve Inferencing (Çıkarım) üzerinden her konuda destek alabiliyoruz. Oldukça gelişmiş olan bu öğrenme modelleri bir o kadar da büyük hesaplama gücüne ihtiyaç duymaktadır. Yüksek hesaplama gereksinimlerinden dolayı da gelişmiş donanım kaynakları, maliyet, enerji ve altyapı gereksinimleri ortaya çıkmaktadır.

Çok detaylı bir konu olduğundan oldukça sadeleştirilmiş detaylar ile belirli donanım alternatiflerini kullanarak size bu konudan bahsedeceğim.

Peki nedir bu Traditional AI (Geleneksel Yapay Zeka) ve Generative AI (Üretken Yapay Zeka)

Geleneksel AI daha çok spesifik kurallara dayalı sistemlerdir. Bu sistemler, önceden tanımlanmış kurallar, algoritmalar ve basit makine öğrenimi modelleri kullanarak işlev görür. Veri analizi, basit tahminler ve otomatik kontrol sistemleri gibi görevler için uygundur.

Örnek vermek gerekirse veri işleme, otomasyon, rutin görevlerin otomatikleştirilmesi, finansal tahminler ve müşteri hizmetleri gibi daha düzenli ve kurallara bağlı işlerde etkilidir.

Veri işleme, otomasyon, rutin görevlerin otomatikleştirilmesi, finansal tahminler ve müşteri hizmetleri gibi daha düzenli ve kurallara bağlı işlerde etkilidir.

Generative AI, çeşitli veri türlerini (metin, görsel, ses vs.) kullanarak yeni içerik üretebilir. Örnekler arasında metin yaratma (ChatGPT gibi) ve resim üretme (DALL-E gibi) sayılabilir. Generative AI, genellikle büyük ölçekli makine öğrenimi modelleri ve derin öğrenme teknikleri kullanarak eğitilir.

Sanat eseri üretme, yazılı içerik oluşturma, yüzler veya manzaralar oluşturma gibi yaratıcı işler için idealdir. Ayrıca, simülasyon, veri takviyesi ve eğitim materyalleri üretimi gibi daha teknik alanlarda da kullanılabilir.

AI Inferencing

Eğitilmiş bir yapay zeka modelinin yeni verilere dayanarak kararlar vermesi veya tahminlerde bulunması sürecidir. Bu modelin eğitim aşamasından sonra gerçekleşir ve genellikle gerçek zamanlı uygulamalarda, ürünlerde veya hizmetlerde kullanılır. Inferencing süreci önceden öğrenilen bilgileri uygulayarak görüntü tanıma, ses tanıma, metin analizi gibi alanlarda sonuçlar üretir.

AI Inferencing Türleri

Edge Inferencing: Veri kaynağına fiziksel olarak yakın bir konumda gerçekleşir. Örneğin IoT cihazları, akıllı telefonlar veya yerel sunucular. Edge inferencing, düşük gecikme süresi gerektiren ve sürekli ağ bağlantısı olmayan uygulamalar için idealdir.

Cloud Inferencing: Inferencing işlemleri bulut tabanlı veri merkezleri üzerinde gerçekleştirilir. Bu yaklaşım, geniş ölçeklenebilirlik ve güçlü hesaplama kaynakları sunar ancak veri iletimi için gecikme süreleri yaşanabilir.

Hybrid Inferencing: Bu yöntem edge ve cloud inferencing’in bir kombinasyonunu kullanır. Kritik zamanlama gereksinimleri olan işlemler edge’de, büyük ölçekli hesaplamalar ise bulutta yapılır.

Kullanılan iş yükleri;

Görüntü ve Video Analizi: Güvenlik kameraları, tıbbi görüntüleme ve otomatik araç sistemleri gibi alanlarda kullanılır. AI modeli nesne tanıma, yüz tanıma ve hareket tespiti gibi görevlerde bulunabilir.

Ses ve Konuşma Tanıma: Akıllı asistanlar, müşteri hizmetleri otomasyonu ve dil çeviri uygulamalarında kullanılır. Model konuşmayı metne çevirme, anlam analizi veya dil tanıma gibi işlemleri gerçekleştirir.

Doğal Dil İşleme (NLP): Sosyal medya izleme, müşteri yorum analizi ve chatbotlar gibi alanlarda kullanılır. NLP modeli duygu analizi, anahtar kelime çıkarımı ve metin özetleme gibi işlemleri yapar.

Tavsiye Sistemleri: E-ticaret, medya akışı ve içerik sağlayıcılar tarafından kullanılır. Model kullanıcıların geçmiş davranışlarına ve tercihlerine dayanarak kişiselleştirilmiş ürün veya içerik önerileri sağlar.

Anomali Tespiti: Finans, üretim ve altyapı izleme gibi sektörlerde kullanılır. Model normalden sapmaları tespit ederek, potansiyel sorunları erkenden belirler.

AI LLM (Large Language Model)

Geniş kapsamlı metin veri kümeleri kullanılarak eğitilmiş yapay zeka sistemleridir ve doğal dil işleme (NLP) görevlerini gerçekleştirebilirler. Bu modeller, milyarlarca kelime veya cümle üzerinde eğitilerek dilin yapısal ve anlamsal özelliklerini öğrenirler ve bu sayede metni anlama ve üretme yeteneği kazanırlar.

LLM’ler, çok çeşitli dil işleme görevlerinde kullanılır:

  • Makaleler, öyküler, raporlar veya kod gibi çeşitli metin türlerini üretmek için kullanılır.
  • Bir dilden diğerine doğru ve anlaşılır çeviriler yapar.
  • Uzun metinleri kısa ve öz bilgilerle özetler.
  • Kullanıcı sorgularını anlama ve uygun yanıtlar üretme.
  • Metindeki duygusal tonu analiz eder ve sınıflandırır.
  • Siri, Alexa gibi asistanlar, kullanıcıların sözlü komutlarını anlama ve cevaplama işlevini görür.

LLM Tipleri

Genellikle mimari ve eğitim stratejilerine göre sınıflandırılır.

Transformer Tabanlı Modeller: Bu modeller, “attention mekanizmaları” kullanarak önemli bilgilere odaklanır ve gereksiz detayları görmezden gelir. Örnekler arasında GPT (Generative Pre-trained Transformer), BERT (Bidirectional Encoder Representations from Transformers) ve RoBERTa bulunur.

Autoregressive Modeller: GPT gibi modeller bir sonraki kelimeyi tahmin etmeye çalışırken önceki metinlerden gelen bilgileri kullanır.

Autoencoding Modeller: BERT gibi modeller metin içinden rastgele kelime veya token’ları gizler ve modelin bu eksik kısımları tahmin etmesini sağlar.

Multimodal Modeller: Metin ile birlikte görüntü veya ses gibi diğer veri türlerini işleyebilen modellerdir. Örneğin, DALL-E görüntüleri metin açıklamalarına göre üretebilir.

Domain-Specific Modeller: Belli bir sektöre veya konuya özgü olarak eğitilmiş modellerdir. Örneğin, tıbbi metinler veya hukuki belgeler üzerine optimize edilmiş modeller.

GPU Bağlantı ve Form Faktörleri

Örneklerimde NVIDIA L40s ve NVIDIA H100 üzerinden ilerleyeceğim.

PCIe (Peripheral Component Interconnect Express)

En yaygın GPU formudur. Her tip GPU için kullanılabilir ve her sunucu üreticisi tarafından desteklenir.

Özellikler;

  • PCIe, yaygın olarak kullanılan bir bağlantı standardıdır ve GPU’lar genellikle anakarta bu arabirim üzerinden bağlanır.
  • PCIe 4.0 x16 bağlantısı teorik olarak 32 GB/s’ye kadar bant genişliği sağlar. PCIe 5.0 x16 ise 64 GB/s’ye kadar çıkabilir.
  • PCIe, geniş bir uyumluluk yelpazesine sahiptir ve çeşitli anakartlarla çalışabilir. Bu, masaüstü bilgisayarlardan sunuculara kadar geniş bir kullanım alanı sağlar.
  • PCIe slotları, çeşitli kart türleri (ağ kartları, depolama kartları, vb.) için kullanılabilir.
  • PCIe tabanlı GPU’lar genellikle daha düşük maliyetlidir ve daha kolay erişilebilir donanımlarla uyumludur.

NVLink Bridge

PCIe formunda kullanılan GPU’ların NVlink Bridge arabirimi ile birbirine bağlanarak daha yüksek kapasitede çalışabilmesini sağlar.

Özellikler;

  • NVLink, NVIDIA’nın yüksek hızlı, düşük gecikmeli GPU-GPU iletişimi sağlamak için geliştirdiği bir ara bağlantı teknolojisidir. NVLink Bridge, iki veya daha fazla GPU’yu birbirine bağlar.
  • NVLink, PCIe’den daha yüksek bant genişliği sunar. NVLink 2.0 ile bağlantı başına 25 GB/s’ye kadar (iki yönlü toplam 50 GB/s) bant genişliği sağlanabilir.
  • NVLink, GPU’lar arasında doğrudan bellek paylaşımını mümkün kılar ve bu sayede yüksek performanslı hesaplama ve derin öğrenme uygulamalarında verimliliği artırır.
  • NVLink, belirli NVIDIA GPU’ları ve anakartları ile sınırlıdır. Tüm sistemler NVLink’i desteklemez.
  • NVLink, genellikle yüksek performanslı bilgi işlem (HPC), yapay zeka ve derin öğrenme uygulamaları gibi yüksek veri aktarım hızları gerektiren senaryolarda kullanılır.

SXM

Destekleyen GPU’lar için en yüksek performansı sağlayan bağlantı arabirimidir. (Örneğin NVIDIA H100)

4 ya da 8 SXM olarak konfigüre edilebilir. Maliyet olarak oldukça yüksektir çok fazla enerji ve soğutma gereksinimi vardır. Air-Cooling soğutma ile kullanılabildiği gibi Direct-to-chip Liquid Cooling olarak da sıklıkla kullanılır.

NVIDIA haricinde belirli sunucu üreticileri tarafından da desteklenir.

Özellikler;

  • SXM modülleri, doğrudan anakarta lehimlenen veya özel yuvalara takılan GPU formlarıdır. SXM modülleri PCIe yerine NVLink kullanarak bağlantı sağlar.
  • SXM modülleri yüksek bant genişliği ve düşük gecikme süreleri sunar. Özellikle veri merkezleri ve süper bilgisayarlar için optimize edilmiştir.
  • SXM form faktörü, daha iyi soğutma çözümleri ve daha yüksek güç bütçesi sunar. GPU’ların daha yüksek performans seviyelerinde çalışmasına olanak tanır.
  • SXM modülleri, genellikle belirli NVIDIA platformları (örneğin, NVIDIA HGX ya da DGX sunucuları) ile uyumludur. Özelleştirilmiş ve optimize edilmiş sistemlerde kullanılır. (Belirli sunucu üreticileri tarafından da desteklenebilmektedir)
  • SXM, yüksek yoğunluklu GPU kurulumları, veri merkezleri, HPC ve derin öğrenme eğitimleri gibi yüksek performans gerektiren ortamlarda kullanılır.

L40s PCIe, H100 PCIe, H100 NVLink, H100 SXM karşılaştırılması (GPU başına)

NVIDIA SM

NVIDIA’da SM (Streaming Multiprocessor), GPU mimarisinin temel işlem birimidir. SM’ler, NVIDIA GPU’larının paralel işlem yeteneklerini yöneten ve yürüten mikro mimarinin bir parçasıdır. Özellikle CUDA çekirdekleri, bellek yolları ve diğer işlem birimleri gibi bileşenleri içerirler. Her SM çok sayıda işlemi eş zamanlı olarak işleyebilir bu da NVIDIA GPU’larının yüksek derecede paralel işlem yapabilme kabiliyetinin temelini oluşturur.

NVIDIA SM’lerin Özellikleri

CUDA Çekirdekleri: Her SM birden fazla CUDA çekirdeği içerir. CUDA çekirdekleri işlemlerin paralel olarak gerçekleştirildiği işlem birimleridir. Örneğin NVIDIA’nın Ampere mimarisi altındaki her SM, 128 CUDA çekirdeği içerir.

Tensor Çekirdekleri: Yeni nesil NVIDIA GPU’ları (Volta ve sonrası) yapay zeka ve derin öğrenme işlemleri için optimize edilmiş Tensor çekirdekleri içerir. Bu çekirdekler, matris işlemlerini hızlandırarak, özellikle derin öğrenme modellerinin eğitimi için büyük performans artışları sağlar.

Hafıza Yönetimi: Her SM kendi yerel bellekine (register ve L1 cache) erişim sağlar. Veri transferlerini azaltarak ve hafıza erişim sürelerini iyileştirerek işlem performansını artırır.

Programlanabilirlik: SM’ler CUDA, OpenCL ve diğer paralel programlama dilleriyle programlanabilir. Bu, geliştiricilerin özel algoritmaları ve işlemleri GPU üzerinde doğrudan uygulamalarına olanak tanır.

Dinamik Paralellik: Bazı NVIDIA GPU modelleri SM’lerin kendilerinin yeni iş parçacıkları başlatmasına izin veren dinamik paralellik özelliğine sahiptir. Daha kompleks ve bağımlılıklar içeren algoritmaların verimli bir şekilde çalıştırılmasını sağlar.

Örnek SM Mimarisi

NVIDIA CUDA Core

NVIDIA’nın grafik işlemcilerinde (GPU) bulunan temel hesaplama birimidir. CUDA (Compute Unified Device Architecture) NVIDIA tarafından geliştirilen bir paralel hesaplama platformu ve programlama modelidir. Bu platform geliştiricilere GPU’ların yüksek paralel işlem kapasitesinden faydalanarak uygulamaların performansını artırma olanağı sunar. CUDA çekirdekleri GPU’nun ana hesaplama birimleridir ve grafik işlemlerinin yanı sıra genel amaçlı hesaplamalar (GPGPU) için de kullanılabilir.

CUDA Core’un Temel Özellikleri ve İşlevleri

Paralel İşlem: CUDA çekirdekleri, büyük veri kümeleri üzerinde paralel olarak işlem yapabilir. Hesaplamaların aynı anda birçok veri elemanı üzerinde gerçekleştirilmesini sağlar.

Yüksek Performans: CUDA çekirdekleri, yüksek işlem gücü ve veri işleme kapasitesi sunar. Grafik render’den bilimsel hesaplamalara kadar geniş bir uygulama yelpazesinde performans artışı sağlar.

Programlanabilirlik: CUDA geliştiricilere C, C++ ve Fortran gibi programlama dillerinde kod yazma olanağı sunar. GPU’ların genel amaçlı hesaplamalar için daha esnek ve erişilebilir olmasını sağlar.

Verimlilik: CUDA çekirdekleri, enerji verimliliği yüksek işlemler gerçekleştirebilir. Özellikle büyük veri merkezlerinde ve yüksek performanslı hesaplama (HPC) ortamlarında önemlidir.

Geniş Uygulama Alanı: CUDA çekirdekleri yapay zeka ve derin öğrenme, bilimsel simülasyonlar, görüntü ve video işleme, kriptografi, finansal modelleme gibi çeşitli alanlarda kullanılır.

NVIDIA Tensor Core

NVIDIA’nın GPU’larında bulunan ve yapay zeka, özellikle derin öğrenme uygulamaları için optimize edilmiş özel bir donanım birimidir. Tensor Core’lar matris çarpım ve toplama (matrix multiply-and-accumulate) işlemlerini hızlandırmak için tasarlanmıştır. Bu işlemler derin öğrenme algoritmalarının temel yapı taşlarıdır ve Tensor Core’lar sayesinde bu işlemler son derece hızlı ve verimli bir şekilde gerçekleştirilebilir.

Tensor Core’un Temel Özellikleri

Matris İşlemleri: Tensor Core’lar, özellikle yoğun matris çarpım ve toplama işlemlerini hızlandırır. Derin öğrenme modellerinin eğitim ve çıkarım süreçlerinde büyük performans artışları sağlar.

Desteklenen Veri Türleri: Tensor Core’lar, FP16 (16-bit floating point), BFLOAT16, INT8 (8-bit integer), FP8, TF32 (Tensor Float-32), ve FP64 (64-bit floating point) gibi çeşitli veri türlerini destekler. Bu çeşitlilik farklı hassasiyet ve performans gereksinimlerine uygun esneklik sağlar.

Yüksek Performans: Tensor Core’lar, geleneksel CUDA çekirdeklerine kıyasla belirli hesaplama görevlerinde çok daha yüksek performans sunar. Örneğin FP16 veri türüyle yapılan işlemler FP32'ye göre daha yüksek hızlarda gerçekleştirilir.

Verimlilik: Tensor Core’lar, enerji ve alan verimliliği sağlayarak aynı güç tüketimiyle daha fazla hesaplama yapılmasına olanak tanır.

Tensor Core Veri Türlerinin Karşılaştırılması

GPU hesaplamalarında kullanılan farklı sayısal formatlar, çeşitli veri tipleri ve hassasiyet seviyelerini ifade eder. Bunlar arasında INT8, FP8, FP16, BFLOAT16, TF32 ve FP64 bulunur.

INT8: 8-bit tam sayı formatıdır ve genellikle derin öğrenme inferansında kullanılır. Düşük hassasiyeti sayesinde daha hızlı işlem yapılmasına olanak tanır ancak hesaplama doğruluğu sınırlıdır.

FP8: 8-bit kayan nokta formatıdır. FP8, daha yeni bir format olup yapay zeka uygulamalarında hem hız hem de yeterli doğruluk arasında dengeli bir seçenek sunar.

FP16 (Half Precision): 16-bit kayan nokta formatıdır. Yüksek performanslı bilgisayarlamada ve derin öğrenme eğitim aşamalarında kullanılır. FP16, FP32'ye göre daha az veri bant genişliği ve depolama gereksinimi sunar.

BFLOAT16: Google tarafından geliştirilen 16-bit kayan nokta formatıdır. BFLOAT16, FP32 ile aynı büyüklükte bir üs kullanır ancak daha az hassas bir mantissa bölümüne sahiptir. Bu format derin öğrenme modellerinin eğitimi için FP32’ye yakın doğruluk sağlar.

TF32 (Tensor Float 32): NVIDIA’nın Ampere mimarisiyle tanıtılan bu format FP32'nin uyumluluğunu ve FP16'nın performansını birleştirir. TF32, özellikle derin öğrenme eğitiminde kullanılır ve yüksek verimlilik sağlar.

FP64 (Double Precision): 64-bit kayan nokta formatıdır. Bilimsel hesaplamalar ve mühendislik uygulamaları gibi yüksek doğruluk gerektiren işlemlerde kullanılır. FP64 en yüksek hesaplama doğruluğunu sunar ancak diğer formatlara göre daha yavaş işlem yapar ve daha fazla bellek kaplar.

Kullanım Alanları

INT8 ve FP8, özellikle yapay zeka inferans işlemleri için kullanılır çünkü hızlı ve verimli hesaplamalar sağlarlar.

FP16 ve BFLOAT16, yapay zeka model eğitiminde kullanılır burada hızlı hesaplamalar ve makul bir doğruluk seviyesi gerekir.

TF32, derin öğrenme modellerinin eğitimi için idealdir ve Ampere GPU’larında yüksek verimlilik sağlar.

FP64, uygulamanın yüksek doğruluk gerektirdiği bilimsel araştırmalar ve mühendislik simülasyonları gibi alanlarda tercih edilir.

Örnek bir Tensor Core INT8 Matrisi

NVIDIA MIG ve vGPU Mimarisi

NVIDIA MIG (Multi-Instance GPU)

MIG, bir GPU’nun donanım düzeyinde birden fazla izole edilmiş örneğe bölünmesine olanak tanır. Her GPU örneğinin (instance) kendi belleğine, işlemcilerine ve bant genişliğine sahip olduğu anlamına gelir. Bu sayede her bir GPU örneği birbirinden bağımsız olarak çalışabilir ve diğer örneklerin kaynak kullanımından etkilenmez.

GPU’yu yediye kadar ayrı örneğe bölebilir. Kullanıcıların veya uygulamaların ihtiyaç duyduğu GPU kaynak miktarına göre ölçeklenebilirlik sağlar.

Kullanım alanı olarak MIG, yapay zeka ve makine öğrenimi uygulamalarında özellikle de veri merkezlerinde ve bulut ortamlarında geniş çapta kullanılır. Yüksek izolasyon ve performans gerektiren durumlar için idealdir.

MIG Mimari olarak aslında kritik sistemlerde kullanılan LPAR mimarine benzer NVIDIA tarafından belirli GPU modelleri tarafından desteklenir.

MIG mimarisini destekleyen GPU modelleri aşağıdaki gibidir.

NVIDIA vGPU (Virtual GPU)

vGPU, fiziksel bir GPU’nun kaynaklarını sanallaştırarak birden fazla sanal makine (VM) arasında paylaşılmasını sağlar. vGPU, bir hypervisor (sanallaştırma katmanı) üzerinde çalışır ve GPU kaynaklarını dinamik olarak atayarak farklı sanal makinelerin bu kaynaklardan yararlanmasına olanak tanır.

vGPU, GPU kaynaklarını sanal makineler arasında paylaştırabilir ve bu kaynakların kullanımını ihtiyaca göre dinamik olarak ayarlar. Genel amaçlı sanallaştırma ortamlarında kullanışlıdır.

Kullanım Alanları: Genellikle uzaktan masaüstü hizmetleri, sanal masaüstü altyapıları (VDI) ve genel amaçlı iş istasyonları için kullanılır. Çok kullanıcılı ortamlarda, özellikle grafik yoğun uygulamalarda yüksek verimlilik sağlar.

Time-Sliced vGPU Mimarisi nasıl çalışır?

Fiziksel GPU, birden fazla sanal GPU’ya (vGPU) bölünür. Her bir vGPU, belirli bir GPU kaynağına (örneğin, CUDA çekirdekleri, bellek) erişim sağlar.

Zaman Dilimlemesi (Time Slicing) fiziksel GPU üzerinde çalışan vGPU’lar, GPU kaynaklarına eş zamanlı olarak değil belirli zaman dilimleri boyunca erişir. Hypervisor katmanı, bu zaman dilimlerini yönetir ve her bir sanal makineye sırayla GPU kaynaklarına erişim hakkı tanır.

Hypervisor gereksinimlere bağlı olarak GPU kaynaklarını dinamik olarak atayabilir. Yüksek talep durumlarında kaynakların yeniden dağıtılmasını ve optimum kullanımı sağlar.

Time-Sliced mimarisi, GPU’nun tam kapasitesinin her bir sanal makine tarafından aynı anda kullanılmasına izin vermez, ancak gerektiğinde kaynakların verimli bir şekilde paylaşılmasını sağlar. Bu, kullanıcı başına düşen GPU performansını dengeler ve kaynakların adil kullanımını sağlar.

NVIDIA vGPU Lisans Tipleri

NVIDIA GRID: GRID, masaüstü sanallaştırma için kullanılır. Bu lisans, özellikle sanal masaüstü altyapısı (VDI) ve uygulama sanallaştırma senaryoları için tasarlanmıştır. GRID lisansları, grafik yoğun uygulamaları ve video akışını destekleyerek sanal masaüstlerine yüksek performanslı grafik işleme sağlar.

NVIDIA Quadro Virtual Data Center Workstation (Quadro vDWS): Bu lisans, profesyonel grafik ve gelişmiş hesaplama iş yükleri için tasarlanmıştır. Mühendislik, tasarım ve diğer grafik yoğun uygulamaları çalıştırmak için idealdir. Quadro vDWS, yüksek performans gerektiren profesyonel iş istasyonu kullanıcılarına yöneliktir.

NVIDIA Virtual Compute Server (vCS): vCS yapay zeka, derin öğrenme ve bilimsel hesaplama gibi hesaplama yoğun iş yükleri için optimize edilmiştir. Bu lisans GPU kaynaklarını sanallaştırarak bu tür iş yüklerinin verimli bir şekilde işlenmesine olanak tanır.

NVIDIA AI Enterprise: Bu lisans yapay zeka ve makine öğrenimi uygulamaları için kapsamlı bir çözüm sunar. VMware VCF ve Red Hat OpenShift gibi platformlar için AI ve ML iş yüklerini desteklemek üzere tasarlanmıştır ve entegre yazılım ve altyapı çözümleri içerir.

NOT: NVIDIA AI Enterprise, vGPU lisans tiplerini de kapsamaktadır.

MIG ve vGPU Karşılaştırması

MIG, vGPU’ya göre daha yüksek performans izolasyonu sunar çünkü her bir instance donanım düzeyinde ayrılır ve bağımsız çalışır. Diğer kullanıcıların aktivitelerinden kaynaklanan performans dalgalanmalarından etkilenmez.

vGPU, geniş ölçeklendirme ve esnek kaynak yönetimi sağlar MIG ise daha kesin ve sabit kaynak sunar.

MIG, yapay zeka ve makine öğrenmesi gibi spesifik uygulamalar için daha uygunken vGPU daha genel sanallaştırma ve çok kullanıcılı ortamlar için tercih edilir.

NVIDIA AI Enterprise Essentials ve NVIDIA IGX

NVIDIA AI Enterprise Essentials, işletmelerin yapay zeka projelerini hızlı bir şekilde geliştirmeleri ve dağıtmaları için tasarlanmış bir çözümdür. Bu platform yapay zeka uygulamalarının kurumsal düzeyde kullanımını kolaylaştırmak üzere optimize edilmiştir.

VMware gibi popüler sanallaştırma teknolojileriyle uyumlu çalışır, bu sayede işletmeler mevcut IT altyapıları üzerinde AI uygulamalarını kolayca entegre edebilir.

Veri bilimi, makine öğrenimi ve derin öğrenme için gerekli tüm araçları içerir. Kullanıcıların modellerini eğitme, test etme ve dağıtma süreçlerini hızlandırır.

AI projelerini finans, sağlık, perakende ve diğer sektörlerde etkin bir şekilde kullanmaya yönelik destek sunar.

NOT: NVIDIA AI Enterprise Essentials H100 PCIe GPU’lar ile dahili olarak gelmektedir. H100 SXM ve L40s gibi diğer GPU’lar için Add-on olarak GPU başına satın alınması gerekmektedir.

NVIDIA AI Enterprise Essentials Özellikleri

NVIDIA AI Enterprise Essentials Kütüphaneleri

TensorFlow
Geliştirici: Google
Özellikler: Derin öğrenme ve makine öğrenimi için kapsamlı bir kütüphanedir. Çok katmanlı ağların modellenmesine, eğitilmesine ve dağıtılmasına olanak tanır.
Kullanım Alanları: Görüntü ve ses işleme, metin analizi, tahmin modelleri ve daha fazlası.

NVIDIA TensorRT
Geliştirici: NVIDIA
Özellikler: Yüksek performanslı derin öğrenme çıkarımı (inference) için bir optimizasyon aracıdır. Modelleri hızlandırarak daha hızlı ve verimli hale getirir.
Kullanım Alanları: Video işleme, gerçek zamanlı uygulamalar ve GPU üzerinde hızlı çıkarım gerektiren diğer durumlar.

NVIDIA TensorRT-LLM
Geliştirici: NVIDIA
Özellikler: Büyük dil modelleri için özel olarak tasarlanmış bir çözüm. Yüksek ölçekli çıkarımlar için optimize edilmiştir.
Kullanım Alanları: Doğal dil işleme, metin tabanlı AI uygulamaları, çeviri ve daha fazlası.

PyTorch
Geliştirici: Facebook
Özellikler: Araştırmacılar arasında popüler olan bir makine öğrenimi kütüphanesidir. Dinamik hesaplama grafikleri ve kolay prototipleme özellikleri ile bilinir.
Kullanım Alanları: Akademik araştırmalar, prototip geliştirme, derin öğrenme uygulamaları.

Python
Özellikler: Genel amaçlı bir programlama dili. Makine öğrenimi, web geliştirme, veri analizi ve daha fazlası için geniş kütüphane desteği sunar.
Kullanım Alanları: Hemen her türden yazılım geliştirme ve otomasyon.

ONNX (Open Neural Network Exchange)
Özellikler: Farklı platformlar ve araçlar arasında makine öğrenimi modellerinin taşınabilirliğini sağlamak için bir formattır.
Kullanım Alanları: Model eğitimi ve çıkarım süreçlerinin farklı platformlar arası uyumlu olmasıdır.

RAPIDS cuML
Geliştirici: NVIDIA
Özellikler: GPU hızlandırmalı makine öğrenimi kütüphanesi. Scikit-learn benzeri API’lar kullanarak yüksek performans sunar.
Kullanım Alanları: Büyük veri kümeleri üzerinde hızlı veri bilimi ve makine öğrenimi işlemleridir.

XGBoost
Özellikler: Yüksek performanslı, ölçeklenebilir ve taşınabilir bir gradyan artırma (gradient boosting) kütüphanesidir.
Kullanım Alanları: Rekabetçi makine öğrenimi platformlarında ve endüstriyel uygulamalarda tahmin modellemesi için kullanılır.

scikit-learn RandomForest
Özellikler: Açık kaynak makine öğrenimi kütüphanesi içinde yer alan bir ensemble öğrenme yöntemidir.
Kullanım Alanları: Sınıflandırma, regresyon ve diğer tahmin görevleridir.

OpenVINO
Geliştirici: Intel
Özellikler: Modelleri çeşitli Intel donanımlarında hızlandırmak için optimize edilmiş bir çıkarım motoru.
Kullanım Alanları: Görsel uygulamalar, gerçek zamanlı analiz, robotik ve IoT cihazlarında hızlı çıkarım.

NVIDIA IGX

Özellikle endüstriyel uygulamalar ve IoT (Internet of Things) projeleri için tasarlanmış bir platformdur. Bu platform özellikle kenar (edge) computing yapay zeka kullanımını desteklemek üzere geliştirilmiştir.

IGX, verilerin kaynağında işlenmesini sağlayacak şekilde optimize edilmiş yüksek performanslı, güvenli bir Edge AI platformudur.

IGX platformu fabrika otomasyonu, video analizi ve robotik gibi gerçek zamanlı işleme gerektiren uygulamalar için idealdir.

Güvenli başlatma, uzaktan cihaz yönetimi ve cihaz üzerinde çalışan AI modelleri için güvenliğe odaklanmış özellikler içerir.

Temel Farklar
AI Enterprise Essentials, geniş bir endüstri yelpazesinde kullanım için tasarlanmışken, IGX özellikle endüstriyel ve EDGE Computing’e yönelik durumlarda kullanılır.

AI Enterprise, mevcut sanallaştırma altyapılarına entegrasyonu desteklerken, IGX daha çok donanım odaklı ve özel donanım gereksinimlerine sahiptir.

IGX, özellikle zorlu çevresel koşullarda bile yüksek performans ve güvenlik sunacak şekilde tasarlanmıştır.

NOT: NVIDIA IGX ayrı olarak lisanslanmaktadır.

Destekleyen GPU Computing Sunucu Üreticileri

Destekleyen EDGE Computing Sunucu Üreticileri

AI Inferencing, LLM ve EDGE Computing için DPU Kullanımı

DPU (Data Processing Unit) ağ, depolama, güvenlik ve yönetim gibi çeşitli veri işleme görevlerini daha hızlı ve verimli bir şekilde gerçekleştirmek için tasarlanmış özel bir hızlandırıcıdır. NVIDIA DOCA platformu ile tamamen programlanabilir.

DPU Özellikleri

DPU’lar, ağ paketlerinin işlenmesini hızlandırarak geleneksel CPU’lara kıyasla çok daha yüksek performans sunar. Özellikle veri merkezlerinde ağ trafiğinin yönetilmesi ve işlenmesi açısından kritik öneme sahiptir.

DPU’lar, veri merkezlerinde güvenlik görevlerini hızlandırmak için kullanılır. Veri şifreleme, güvenlik duvarı yönetimi ve diğer güvenlik protokollerini donanım düzeyinde işleyerek, güvenlik tehditlerine karşı daha hızlı ve etkili bir koruma sağlar.

Veri depolama işlemlerini hızlandırarak, veri erişim sürelerini kısaltır ve veri merkezlerinin genel performansını artırır. Depolama sanallaştırma ve veri sıkıştırma gibi işlemleri optimize eder.

HPC (High Performance Computing) uygulamalarında veri işleme yükünü CPU’lardan alarak CPU’ların daha karmaşık hesaplamalar için kullanılmasına olanak tanır. Bu özellikle büyük veri analitiği ve yapay zeka gibi yoğun işlem gerektiren görevlerde performansı artırır.

Veri merkezlerinin yönetim ve orkestrasyon süreçlerini optimize ederek, işletim maliyetlerini düşürür ve verimliliği artırır. Veri merkezi operasyonlarının daha sorunsuz ve etkili bir şekilde yürütülmesini sağlar.

DPU’nun Kullanım Alanları

DPU’lar, büyük ölçekli veri merkezlerinde ağ, depolama ve güvenlik işlemlerini optimize etmek için kullanılır. Veri merkezlerinin genel performansını ve verimliliğini artırır.

HPC ortamlarında karmaşık hesaplamaların daha hızlı ve verimli bir şekilde gerçekleştirilmesini sağlar. Büyük veri analitiği, simülasyonlar ve yapay zeka eğitim modelleri gibi uygulamalarda kullanılır.

DPU’lar, telekomünikasyon ağlarının yönetimi ve optimizasyonu için kullanılır. Ağ trafiğinin verimli bir şekilde yönetilmesini sağlar ve ağ performansını artırır.

Frekanslı ticaret ve gerçek zamanlı veri analitiği gibi yoğun veri işleme gerektiren finansal hizmetlerde kullanılır. İşlem sürelerini kısaltarak, daha hızlı ve verimli ticaret yapma olanağı sağlar.

NVIDIA DOCA Mimarisi

NVIDIA DOCA (Data Center Infrastructure on a Chip Architecture), NVIDIA’nın veri merkezleri için geliştirdiği bir mimari ve yazılım platformudur. DOCA, NVIDIA’nın BlueField DPU’ları (Data Processing Units) ile birlikte kullanılır ve veri merkezi altyapısını daha verimli, güvenli ve esnek hale getirmek için tasarlanmıştır. DOCA, yazılım geliştirme araçları ve SDK’lar (Software Development Kits) içerir bu da geliştiricilere DPU’ların sunduğu performans ve güvenlik avantajlarını uygulamalarına entegre etme imkanı sağlar.

NVIDIA DOCA Mimarisi ve Özellikleri
DOCA, veri merkezi ağ trafiğini optimize etmek için tasarlanmıştır. BlueField DPU’lar, ağ işleme görevlerini CPU’dan alarak daha hızlı ve verimli bir şekilde gerçekleştirir. Veri merkezlerinin ağ performansını önemli ölçüde artırır.

DOCA, veri merkezleri için gelişmiş güvenlik özellikleri sunar. Donanım düzeyinde şifreleme, güvenlik duvarı yönetimi ve izinsiz giriş tespiti gibi güvenlik görevleri DPU’lar tarafından işlenir. Veri merkezlerinin güvenliğini artırır ve veri ihlallerini önlemeye yardımcı olur.

DOCA, veri depolama işlemlerini hızlandırmak ve optimize etmek için tasarlanmıştır. Depolama sanallaştırma, veri sıkıştırma ve veri çoğaltma gibi işlemler DPU’lar tarafından yönetilir bu da veri erişim sürelerini kısaltır ve depolama verimliliğini artırır.

DOCA, konteynerler ve sanal makineler (VM’ler) gibi sanallaştırma teknolojilerini destekler. Veri merkezi altyapısının daha esnek ve yönetilebilir olmasını sağlar.

DOCA, geliştiricilere DPU’ları programlama ve özelleştirme imkanı sunar. Bu, belirli iş yüklerine göre optimize edilmiş çözümler geliştirmeyi mümkün kılar. DOCA SDK, API’ler ve geliştirme araçları ile birlikte gelir bu da uygulama geliştiricilerinin DPU’ların avantajlarından faydalanmasını kolaylaştırır.

AI Inferencing ve LLM için Örnek Sunucu Tipleri

Farklı sunucu üreticileri ile sizin için üç tip sunucu konfigürasyonu oluşturdum. Her sunucu tipi farklı GPU Computing kapasitesinde farklı GPU arabirimleri ile hazırlandı.

Konfigürasyon-1 (DELL PowerEdge R760xa)

Giriş seviyesi L40s GPU ile temel seviyede AI/ML/LLM/MLOps iş yükleri için kullanılabilir. Ayrıca VDI tarafında NVIDIA RTX™ Virtual Workstation (vWS) olarak da kullanılabilir.

Oldukça yüksek Compute gücüne sahip bir GPU modelidir. H100'e göre uygun fakat MIG mimarisini desteklemektedir. H100 ile gelen NVIDIA AI Enterprise L40s ile Add-on olarak ayrıca satın alınmalıdır.

H100 GPU’dan bir diğer farkı NVLink Bridge desteklememesidir.

NOT: DELL ayrıca XE serisi High-End AI sunucuları ile uçtan uca NVLink Bridge ve SXM bağlantı arabirimini de hazır olarak desteklemektedir. (Örneğin XE9680 ve XE8640)

Konfigürasyon-2 (HPE DL380a Gen11)

Orta seviye LLM ve Inferencing iş yükleri için kullanılabilir. NVLing Bridge ile bu konfigürasyona ayrıca NVIDIA AI Enterprise lisansı da dahil olarak gelmektedir.

NOT: H100 PCIe üzerinde gömülü gelen NVIDIA AI Enterprise lisanları GPU seri numarası ile aktive edilebilmektedir.

Bu konfigürasyonda artan hesaplama gücünden dolayı 100G Ethernet NIC kullanılmıştır.

Konfigürasyon-3 (Lenovo ThinkSystem SR675 V3)

Üst seviye LLM ve Inferencing iş yükleri için kullanılabilir. SXM arabirimi ile 4 adet H100 GPU ile konfigüre edilmiştir.

Alternatif CPU olarak Intel yerine AMD EPYC kullanılmıştır. Ayrıca NIC olarak BlueField-3 DPU dahil edilmiştir. Bu konfigürasyon ile hem Ethernet hem de InfiniBand bağlantıyı desteklemektedir. NVIDIA QM9700/QM9790 switch’ler ile DPU başına network kapasitesi 400G’ye kadar çıkabilmektedir.

SXM arabirimi dahili NVIDIA AI Enterprise ile gelmediğinden bu konfigürasyonda ayrıca 4 adet lisans Add-on olarak eklenmiştir.

Peki ne tür network altyapısı tercih etmeliyiz.

Eğer NVLink Bridge ya da SXM arabirimi ile kullanacaksanız 100G üzeri bir network kullanmanızdır. Eğer çok daha yüksek performans ile programlanabilir, şifrelenebilir, optimize edebilir bir network arayüzü istiyorsanız o zaman DPU kullanmanız kesinlikle önerilir.

En üst network sınıfında AI iş yükleri için NVIDIA QM9700/QM9790 modeli switchleri önermektedir.

Hem Ethernet hem de InfiniBand olarak kullanabileceğiniz bu model port başına 40, 56, 100, 200, 400 Gb/s hızları desteklemektedir.

Switch başına toplam Throughput 25.6Tbps olarak oldukça yüksektir.

NOT: QM9790'nın tek farkı Un-managed olmasıdır.

CPU ve Memory seçiminde neye dikkat etmelisiniz?

Intel CPU’larda Y serisi tercih edebilirsiniz. Bu işlemciler Speed Select özelliği ile geldiğinden eğer işlemci çekirdeğinden feragat ederseniz Ghz’i otomatik olarak artırabilirsiniz. Ya da Ghz hızından feragat ederseniz Core sayınızı artırabilirsiniz.

Aşağıda 6442Y modeli için örnek değerleri görebilirsiniz.

Bu özellik Intel CPU tarafında size oldukça esneklik sağlayabilir.

Memory olarak toplam ne kadar GPU memory’e sahipseniz sunucu tarafında bunun 2 katını kullanmalısınız. Örneğin 2 adet 80GB H100 PCIe GPU için 320GB atanmış memory olması tavsiye edilmektedir.

OS ve diğer servisleri de hesaba katarsak sunucu üzerinde en az 512G ya da 1024G arası bir memory kullanmanız iyi olacaktır.

NOT: Sanallaştırma katmanında VM ve vGPU/MIG iş yükleri için kullanacaksanız VM Size profilinize göre memory kullanım oranının ayrıca hesaplanıp artırılması gerekecektir.

Özet olarak GPU Computing kullanılan iş yüklerine göre oldukça farklı donanım özelliklerine ihtiyaç duymaktadır.

Örneğin ChatGPT 4, 1.7 trilyon parametreden oluşmaktadır. Bu nedenle 2023 yılında H100 GPU’ların tedarik süresini 60 haftaya kadar çıkarmıştır :)

Görüşmek üzere…

--

--