N­v­i­d­i­a­ ­T­e­n­s­o­r­R­T­ ­i­l­e­ ­Y­a­p­a­y­ ­Z­e­k­a­ ­P­e­r­f­o­r­m­a­n­s­ı­n­ı­ ­A­r­t­ı­r­ı­y­o­r­

N­v­i­d­i­a­ ­T­e­n­s­o­r­R­T­ ­i­l­e­ ­Y­a­p­a­y­ ­Z­e­k­a­ ­P­e­r­f­o­r­m­a­n­s­ı­n­ı­ ­A­r­t­ı­r­ı­y­o­r­


Nvidia, AI/ML (Yapay Zeka/Makine Öğrenimi) ve LLM (Geniş Dil Modeli) araçları paketinde daha fazla iyileştirme üzerinde çalışmakla meşgul. En son eklenen TensorRT ve TensorRT-LLM, tüketici GPU’larının ve Stable Diffusion ve Llama 2 metin oluşturma gibi görevleri yürütmek için en iyi grafik kartlarının çoğunun performansını optimize etmek üzere tasarlandı. Nvidia’nın en yeni GPU’larından bazılarını TensorRT kullanarak test ettik ve Stabil Difüzyon performansının %70’e kadar arttığını gördük. TensorRT şu adresten indirilebilir olmalıdır: Nvidia’nın Github sayfası şimdi, bu ilk bakışın amaçları doğrultusunda erken erişime sahiptik.

Geçtiğimiz yıl boyunca Kararlı Difüzyonda çok fazla hareket gördük. İlk bakışımız kullanıldı Otomatik1111’in web arayüzüBaşlangıçta yalnızca Windows altında Nvidia GPU’ları destekliyordu. O zamandan bu yana, görüntü yapay zekası oluşturma araçlarına alternatif metin ve çatalların sayısında patlama yaşandı ve hem AMD hem de Intel, Nvidia’nın performansıyla aradaki farkı bir miktar kapatan daha ince ayarlı kitaplıklar yayınladı. AMD RX 7800 XT ve RX 7700 XT incelemelerimizde en son Kararlı Difüzyon kıyaslamalarımızı görebilirsiniz. Artık Nvidia, TensorRT ile aradaki farkı yeniden genişletmeye hazır.

Temel fikir, AMD ve Intel’in halihazırda yaptıklarına benzer. AI ve ML modelleri ve operatörleri için açık bir format olan ONNX’ten yararlanan temel Hugging Face kararlı dağıtım modeli, bir ONNX formatına dönüştürülür. Buradan, kullandığınız belirli GPU için performansı daha da optimize edebilirsiniz. TensorRT’nin bazı şeyleri ayarlaması birkaç dakika (veya bazen daha fazla) alır, ancak tamamlandığında, daha iyi bellek kullanımıyla birlikte performansta önemli bir artış elde etmelisiniz.

Nvidia’nın en yeni RTX 40 serisi GPU’larının tümünü ayarlama sürecinden geçirdik (optimum performans için her birinin ayrı ayrı yapılması gerekiyor), ayrıca Xformers kullanarak temel Stabil Difüzyon performansını ve performansını test ettik. En yeni optimize edilmiş araçları kullanarak bir dizi ek GPU’yu yeniden test ettiğimiz için AMD, Intel ve Nvidia’nın Stable Diffusion’daki performansını karşılaştıran tam güncellemeye tam olarak hazır değiliz, bu nedenle bu ilk görünüm yalnızca Nvidia GPU’lara odaklanıyor. TensorRT kazanımlarının Nvidia’nın tüm RTX serisine nasıl uygulandığını göstermek için bir RTX 30 serisi (RTX 3090) ve bir RTX 20 serisi (RTX 2080 Ti) ekledik.

Resim 1 ile ilgili 3

Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)
Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)
Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)

Resim 1 ile ilgili 3

Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)
Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)
Kararlı Difüzyon, Nvidia TensorRT Güncellemesi
(İmaj kredisi: Tom’un Donanımı)

512×512 ve 768×768 boyutlarındaki yukarıdaki galerilerin her biri, Stabil Difüzyon 1.5 modellerini kullanır. İçerik oluşturucu topluluğu genellikle 1,5 sonuçlarını tercih ettiğinden 2,1 yerine 1,5 kullanmaya “geri döndük”, ancak sonuçların yeni modellerle hemen hemen aynı olması gerekiyor. Her GPU için, optimum verimi bulmak amacıyla farklı toplu boyutlar ve toplu sayımlar çalıştırdık ve çalıştırma başına toplam 24 görüntü oluşturduk. Daha sonra genel oranı belirlemek için üç ayrı çalışmanın veriminin ortalamasını aldık; böylece her model formatı ve GPU için toplam 72 görüntü oluşturuldu (atılan çalıştırmalar hariç).

Genel verimde çeşitli faktörler rol oynar. Bellek bant genişliği gibi GPU hesaplaması da oldukça önemlidir. VRAM kapasitesi, potansiyel olarak daha büyük görüntü çözünürlüğü hedeflerine veya toplu boyutlara izin vermekten başka, daha küçük bir faktör olma eğilimindedir; başka bir deyişle, 24 GB VRAM ile yapabileceğiniz, ancak 8 GB ile mümkün olmayacak şeyler vardır. L2 önbellek boyutları da bunu hesaba katabilir, ancak bunu doğrudan modellemeye çalışmadık. Söyleyebileceğimiz şey, temelde aynı özelliklere sahip olan (16GB’taki özel model nedeniyle biraz farklı saatler) 4060 Ti 16GB ve 8GB kartların neredeyse aynı performansa ve optimum parti boyutlarına sahip olduğudur.

Kullanılan model formatına bağlı olarak göreceli performansta bazı mütevazı farklılıklar vardır. Temel model en yavaş olanıdır; Xformers performansı 512×512 görüntüler için yüzde 30 ila 80 arasında ve 768×768 görüntüler için yüzde 40 ila 100 arasında artırır. TensorRT daha sonra performansı 512×512’de yüzde 50~65 ve 768×768’de yüzde 45~70 oranında artırır.

İlginç olan, (şu ana kadar test edilen GPU’lar arasında) en küçük kazancın RTX 3090’dan gelmesi. Sınırlayıcı faktörün ne olabileceği tam olarak belli değil, ancak kesin bir sonuca varmak için ek GPU’ları test etmemiz gerekecek. RTX 40 serisinde dördüncü nesil Tensor çekirdekleri, RTX 30 serisinde üçüncü nesil Tensor çekirdekleri ve RTX 20 serisinde ikinci nesil Tensor çekirdekleri bulunur (Volta mimarisi birinci nesil Tensor’dur). Başka bir deyişle, daha yeni mimariler daha yetenekli olmalıdır; ancak Kararlı Yayılımda gerekli olan iş türü çoğunlukla ham bilgi işlem ve bellek bant genişliğine dayanıyor gibi görünmektedir.

Bunu tam Nvidia ile dünya performans karşılaştırması yapmaya çalışmıyoruz, ancak örnek olarak RX 7900 XTX’in güncellenmiş testi, 512×512 için dakikada yaklaşık 18~19 görüntü ve 768×768’de dakikada yaklaşık beş görüntü ile zirveye çıkıyor. AMD GPU’ların en yeni sürümlerle tam olarak test edilmesi üzerinde çalışıyoruz. Otomatik1111 DirectML şubesive bu tamamlandığında güncellenmiş bir Kararlı Yayılım özetine sahip olacağız. Ayrıca Intel Arc A770’in 512×512’de 15,5 görüntü/dakika ve 768×768’de 4,7 görüntü/dakika hızı yönettiğini unutmayın.

Peki TensorRT’de performansı bu kadar artırabilecek tam olarak neler oluyor? Bu konu hakkında Nvidia ile konuştum ve konu çoğunlukla kaynakların ve model formatlarının optimize edilmesiyle ilgiliydi.

ONNX, başlangıçta Facebook ve Microsoft tarafından geliştirildi ancak Apache Lisans modelini temel alan açık kaynaklı bir girişimdir. ONNX, AI modellerinin çok çeşitli arka uçlarla kullanılmasına izin verecek şekilde tasarlanmıştır: PyTorch, OpenVINO, DirectML, TensorRT, vb. ONNX, gerekli yerleşik özelliklerin yanı sıra bir hesaplama grafiği modeli sağlayarak farklı AI modellerinin ortak bir tanımına olanak tanır. operatörler ve bir dizi standart veri türü. Bu, modellerin çeşitli yapay zeka hızlandırma çerçeveleri arasında kolayca taşınmasına olanak tanır.

Bu arada TensorRT, Nvidia GPU’larında daha performanslı olacak şekilde tasarlandı. TensorRT’nin avantajlarından yararlanmak için bir geliştiricinin normalde modellerini doğrudan TensorRT’nin beklediği formata yazması veya mevcut bir modeli bu formata dönüştürmesi gerekir. ONNX bu sürecin basitleştirilmesine yardımcı olur; bu nedenle AMD (DirectML) ve Intel (OpenVINO) tarafından Kararlı Difüzyonun ayarlanmış dalları için kullanılmıştır.

Son olarak TensorRT’nin seçeneklerinden biri de bir modelle en uygun yolu ayarlayabilmenizdir. Bizim durumumuzda 512×512 ve 768×768 boyutunda toplu resimler yapıyoruz. Ürettiğimiz genel TensorRT modeli, 512×512 ila 1024×1024 dinamik görüntü boyutuna, toplu iş boyutu bir ila sekize ve optimum 512×512 yapılandırmasına ve toplu iş boyutu 1’e sahip olabilir. 512×512’lik 8’li toplu iş yapmak %10 daha yavaş olabilir, aşağı yukarı. Yani yapabiliriz bir diğer Özellikle 512x512x8 veya 768x768x4 veya her neyse hedefleyen TensorRT modeli. Tüm bunları her GPU için en iyi yapılandırmayı bulmak amacıyla yaptık.

AMD’nin DirectML çatalının bazı benzer seçenekleri var, ancak şu anda karşılaştığımız bazı sınırlamalar var (örneğin, birden fazla toplu iş boyutu yapamıyoruz). AMD ve Intel modellerinde de daha fazla ayarlama yapılmasını bekliyoruz, ancak zamanla kazanımların azalması muhtemeldir.

Güncellenen TensorRT elbette yalnızca Kararlı Difüzyon için geçerli değil. Nvidia, TensorRT kullanarak Llama 2 7B int4 çıkarımıyla ölçtüğü iyileştirmeleri detaylandıran yukarıdaki slaydı paylaştı. Bu, yedi milyar parametreye sahip bir metin oluşturma aracıdır.

Grafiğin gösterdiği gibi, tek bir metin kümesi oluşturmanın mütevazı bir faydası var, ancak bu durumda GPU (RTX 4090) tam anlamıyla çalışmıyor gibi görünüyor. Toplu iş boyutunun dörde çıkarılması genel verimi 3,6 kat artırırken, toplu iş boyutunun sekiz olması 4,4 kat hızlanma sağlar. Bu durumda daha büyük toplu iş boyutları, birden fazla metin yanıtı oluşturmak için kullanılabilir; bu, kullanıcının tercih ettiği yanıtı seçmesine, hatta yararlıysa çıktının bölümlerini birleştirmesine olanak tanır.

TesorRT-LLM henüz çıkmadı ancak şu tarihte mevcut olması gerekiyor: geliştirici.nvidia.com (ücretsiz kayıt gereklidir) yakın gelecekte.

Son olarak, Yüksek Lisans’lara yönelik yapay zeka odaklı güncellemelerin bir parçası olarak Nvidia, Llama 2’nin temel model olarak kullanılmasına ve ardından daha alana özel ve güncel bilgi için yerel verilerin içe aktarılmasına olanak sağlayacak bir TensorRT-LLM aracı üzerinde de çalışıyor. Bunun neler yapabileceğine bir örnek olarak, Nvidia, araca 30 yeni Nvidia haber makalesini aktardı ve temel Llama 2 modeli ile model arasındaki yanıt farkını bu yerel verilerle görebilirsiniz.

Temel model, anlamlı cümlelerin nasıl oluşturulacağı vb. konularda tüm bilgileri sağlar, ancak son olaylar veya duyurular hakkında hiçbir bilgisi yoktur. Bu durumda işler Alan Wake 2 açıklanmış resmi bir bilgi yok. Ancak güncellenen yerel verilerle daha anlamlı bir yanıt verebiliyor.

Nvidia’nın verdiği bir başka örnek de bu tür yerel verileri kendi e-postanız veya sohbet geçmişinizle kullanmaktı. Daha sonra ona şu tür şeyler sorabilirsiniz: “Chris ve ben geçen yıl hangi filmden bahsediyorduk?” ve bir cevap verebilirdi. Kendi bilgilerinizi kullanarak potansiyel olarak daha akıllı bir arama seçeneğidir.

Bunu kendi HammerBot’umuz için potansiyel bir kullanım durumu olarak görmeden edemeyiz, ancak bunun kendi sunucularımızda kullanılabilir olup olmadığını görmemiz gerekecek (çünkü bir RTX kartına ihtiyaç duyuyor). Tüm Yüksek Lisans’larda olduğu gibi, eğitim verilerine ve sorduğunuz sorulara bağlı olarak sonuçların kalitesi biraz değişken olabilir.

Nvidia ayrıca, artık RTX 20 serisi GPU’ları destekleyen ve yerel yapıyı azaltan Video Süper Çözünürlüğüne yönelik güncellemeleri de duyurdu. İkincisi, 1080p monitörde 1080p yayın izliyorsanız, VSR’nin gürültü giderme ve görüntü iyileştirme konusunda yine de yardımcı olabileceği anlamına gelir. VSR 1.5, Nvidia’nın en yeni sürücüleriyle birlikte sunulmaktadır.

Popular Articles

Latest Articles