“NVIDIA GH200 Süper Çipi, Llama Modelleri ile Çoklu Etkileşimlerde Inferansı 2 Kat Hızlandırıyor”

Büyük dil modelleri (LLM’ler), üretim ortamında dağıtıldıklarında, kullanıcı etkileşimini artırmak ile sistem verimliliğini yükseltmek arasında zor seçimler yapmayı gerektirir. Kullanıcı etkileşimini artırmak, ilk token’a ulaşma süresini (TTFT) minimize etmeyi gerektirirken, sistem verimliliğini artırmak, saniyede arttırılan token sayısını artırmayı gerektirir. Bir alanı geliştirmek, genellikle diğerinin düşmesine sebep olur ve bu durum veri merkezleri, bulut hizmet sağlayıcıları (CSP), ve yapay zeka uygulama sağlayıcıları için doğru dengeyi bulmayı zorlaştırır.

NVIDIA GH200 Grace Hopper Superchip‘ın kullanılması, bu ticaretin minimize edilmesine yardımcı olabilir. Bu yazıda IT liderleri ve altyapı karar vericileri, NVIDIA GH200 Grace Hopper Superchip’in birleştirilmiş bellek mimarisini nasıl kullanarak popüler Llama 3 70B modelinde TTFT’yi 2 katına kadar arttırabileceklerini keşfedeceklerdir. Bu, x86 tabanlı NVIDIA H100 sunucuları ile karşılaştırıldığında, sistem verimliliğinde herhangi bir kayıp olmaksızın mümkündür.

Anahtar-değer önbellek dış yüklemesi

LLM modelleri, soru yanıtlama, özetleme ve kod oluşturma gibi çeşitli kullanım alanlarında hızla benimsenmektedir. Kullanıcının isteğine yanıt vermeden önce bu modeller, inference talebi sırasında alınan ek bilgiler gibi kullanıcı isteminin bağlamsal anlayışını oluşturmalıdır. Bu işlem, kullanıcının isteğini token’lara dönüştürmeyi, ardından bunları çok yoğun vektörlere çevirmeyi ve token’lar arasındaki ilişkiyi temsil eden matematiksel bir gösterim oluşturmak için geniş çaplı çarpma işlemlerini gerçekleştirmeyi içerir. Bu işlemler modelin farklı katmanları arasında tekrarlanır. Gerekli hesaplama miktarı, oluşturulacak bağlamsal anlayışın, girdi diziliminin uzunluğuna göre kare olarak artmaktadır.

Bu hesaplama yoğun süreç, çıktının ilk token’ı oluşturulurken üretilen anahtar-değer önbelleği (KV cache) oluşturmaktadır. Bu değerler daha sonra sonraki çıktı token’ları oluşturulurken yeniden kullanım için saklanır; yeni değerler gerektiğinde eklenir. Bu, yeni token’lar üretmek için gereken hesaplama miktarını önemli ölçüde azaltır ve en nihayetinde LLM’nin bir çıktı üretme süresini kısaltarak kullanıcı deneyimini iyileştirir.

KV önbelleğini yeniden kullanmak, sıfırdan yeniden hesaplama gereksinimini ortadan kaldırarak inference zamanını ve hesaplama kaynaklarını azaltır. Ancak, LLM tabanlı hizmetlerle kullanıcı etkileşimleri aralıklı olduğunda veya çok sayıda LLM kullanıcısının aynı KV önbelleği ile farklı zamanlarda etkileşim kurması gerektiğinde, KV önbelleğinin GPU belleğinde uzun süre tutulması değerli kaynakların israfına neden olabilir ve bu da genel sistem verimliliğini azaltabilir.

Bu sorunu ele almak için KV önbelleği, GPU belleğinden daha yüksek kapasiteli ve düşük maliyetli CPU belleğine dışa aktarılabilir, ardından pasif kullanıcılar etkinliklerine yeniden başladığında veya yeni kullanıcılar aynı içerik parçasıyla etkileşime geçtiğinde GPU belleğine geri yüklenebilir. Bu yönteme KV önbellek dış yüklemesi denir ve KV önbelleğini yeniden hesaplama ihtiyacını ortadan kaldırırken değerli GPU belleğini işgal etmez.

Çok aşamalı kullanıcı etkileşimlerinin zorluklarını aşmak

KV önbellek dış yüklemesi, içeriğe üretken yapay zeka yetenekleri entegre eden içerik sağlayıcıları için faydalar sunar; bu sayede, bir haber makalesinin özetlenmesi gibi aynı içerikle etkileşime geçen çok sayıda kullanıcı, her yeni kullanıcı için KV önbelleğinin yeniden hesaplanmasına gerek kalmadan etkileşimde bulunabilir. Bir haber makalesi için KV önbelleği bir kez hesaplanabilir, CPU belleğinde saklanabilir ve ardından birçok kullanıcı arasında yeniden kullanılabilir; bu, önemli maliyet ve kullanıcı deneyimi optimizasyonları sağlar.

Bu teknik, özellikle entegre geliştirme ortamlarında (IDE’ler) LLM yeteneklerini içeren kod üretimi kullanım durumları için de yararlıdır. Bu senaryoda, bir veya birkaç geliştirici, bir kod script’i ile etkileşimde bulunmak için zaman içinde bir dizi istem gönderebilir. İlk KV önbelleği hesaplamalarını CPU belleğine dış yükleyerek ve ardından sonraki etkileşimler için yeniden yükleyerek, tekrar hesaplamalardan kaçınılabilir ve değerli GPU ve altyapı kaynakları tasarruf edilebilir. KV önbelleğini dış yüklemek ve yeniden kullanmak için ayrıntılı bir kılavuz almak için NVIDIA TensorRT-LLM belgelerine göz atabilirsiniz.

Llama 3 70B modeli, x86 tabanlı NVIDIA H100 Tensor Core GPU’larla PCIe aracılığıyla bağlantılı bir sunucuda çalıştırıldığında, KV önbellek dış yüklemesi TTFT’yi 14 kata kadar hızlandırabilir. Bu, LLM’leri maliyet etkin bir şekilde sunmak isteyen veri merkezleri, CSP’ler ve uygulama sağlayıcıları için cazip bir dağıtım stratejisi yaratmaktadır.

Chart showing performance comparisons of running Llama 3 70B with and without KV cache on an x86-H100 server for different input sequence lengths (ISLs). The x-factor speedups of KV cache offloading start at 5x for 1024 ISLs and go up to 14x for 7168 ISLs.
Şekil 1. Çok aşamalı etkileşimlerde, Llama 3 70B modelinin NVIDIA H100 x86 GPU’su üzerindeki KV önbellek dış yüklemesi, sıfırdan yeniden hesaplamaya kıyasla TTFT’yi 14 kata kadar hızlandırmaktadır.

NVIDIA GH200 ile KV önbellek dış yüklemesini hızlandırmak

Geleneksel x86 tabanlı GPU sunucularında, KV önbelleği dış yüklemesi 128 GB/s PCIe bağlantısı üzerinden gerçekleşmektedir. Birden fazla çok aşamalı kullanıcı istemini içeren büyük bant genişlikleri için yavaş PCIe arayüzü performansı engelleyebilir ve TTFT’nin genellikle gerçek zamanlı kullanıcı deneyimi ile ilişkili 300 ms – 500 ms üst sınırının üzerine çıkmasına neden olabilir.

NVIDIA GH200 Grace Hopper Superchip, düşük hızlı PCIe arayüzlerinin yarattığı zorlukların üstesinden gelir. NVIDIA GH200, Arm tabanlı NVIDIA Grace CPU ve NVIDIA Hopper GPU mimarilerini NVLink-C2C bağlantı teknolojisi ile bir araya getiren yeni bir süperchip sınıfıdır. NVLink-C2C, CPU ve GPU arasında toplamda 900 GB/s’lik bant genişliği sunar. Bu, geleneksel x86 tabanlı GPU sunucularında bulunan standart PCIe Gen5 hatlarından 7 kat daha yüksek bir bant genişliğidir. Ayrıca, GH200 ile CPU ve GPU, tek bir işlem başına sayfa tablosunu paylaşır; bu da tüm CPU ve GPU iş parçacıklarının, fiziksel CPU veya GPU belleğinde yer alan sistem tahsisli belleğine erişmesini sağlar.

Şekil 2. NVIDIA Grace Hopper mimarisi, 900 GB/s NVLink-C2C ile PCIe dar boğazlarını aşmaktadır.

Llama 3 70B modeli için GH200’de KV önbelleğini dış yüklemek, TTFT’yi x86-H100 üzerinde dış yüklemeye kıyasla 2 kat daha fazla hız artışı sağlar. Bu, LLM’leri sık sık çok aşamalı etkileşimler içeren organizasyonlar için kullanıcı etkileşimini artırırken genel sistem verimliliğini etkilemeden gerçekleştirebildiklerini gösterir.

Şekil 3. NVIDIA Grace CPU ile NVIDIA H200 GPU’yu birleştiren 900 GB/s NVLink-C2C sayesinde, Llama 3 70B modeli üzerinde KV önbelleğini dış yüklemek, TTFT’yi x86-H100 GPU’da 2 kat hızlandırmaktadır.

KV önbellek dış yüklemesi, çok aşamalı etkileşimlerde TTFT’yi geliştirirken genel sistem verimliliğini düşürmemesi nedeniyle CSP’ler, veri merkezleri ve yapay zeka uygulama sağlayıcıları arasında giderek daha fazla kabul görmektedir. NVIDIA GH200 süperchip’inde sağlanan 900 GB/s NVLink-C2C’yi kullanarak, popüler Llama 3 modeli üzerindeki yargılama 2 kat hızlandırılabilir ve sistem verimliliğinde bir düşüş olmadan kullanıcı deneyimi geliştirilebilir.

Bugün, NVIDIA GH200, dünya genelinde dokuz süper bilgisayarı güçlendirmektedir ve geniş bir sistem üretici yelpazesinde sunulmaktadır; ayrıca Vultr, Lambda ve CoreWeave gibi bulut sağlayıcılarında talep üzerine erişilebilir durumdadır. NVIDIA GH200’ü ücretsiz denemek için NVIDIA LaunchPad üzerinden buradan ulaşabilirsiniz.

Kaynak

Nvdia Blog

Exit mobile version