SON DAKİKA

Nvdia

NVIDIA TensorRT İle Video Üretimi İçin Dönüşüm Tabanlı Dağılım Modellerinin Optimizasyonu

Son teknoloji görüntü difüzyon modelleri, tek bir görseli işlemek için onlarca saniye sürebilmektedir. Bu durum, video difüzyonu gibi daha karmaşık işlemleri gerçekleştirme konusunda zorluklar yaratmakta ve önemli ölçüde hesaplama kaynakları ve maliyet gerektirmektedir. NVIDIA’nın Hopper GPU’ları ve NVIDIA TensorRT’nin en son FP8 kuantizasyon özelliklerinden yararlanarak, bu zorlukların üstesinden gelmek mümkün hale gelmektedir. Bu yöntem, inference maliyetlerini önemli ölçüde azaltmakta ve daha az GPU ile daha fazla kullanıcıya hizmet sunma imkanı tanımaktadır. Kuantize edilmiş bir difüzyon modelinin dağıtımı karmaşık olabilir, ancak TensorRT’nin tam ekosistemi bu zorlukların üstesinden gelmeye yardımcı olmaktadır.

Bu yaklaşımı benimseyerek, Adobe, latansiyeyi %60 oranında azaltmayı ve toplam sahiplik maliyetini (TCO) %40 düşürmeyi başardı. Amazon Web Services (AWS) EC2 P5/P5en üzerinde çalışan ve Hopper GPU’larından hızlandırılan TensorRT ile yapılan optimize dağıtım, daha fazla kullanıcıya hizmet vererek ölçeklenebilirliği artırdı.

Bu yazıda, Adobe Firefly video üretim modelinin performansını iyileştirmek için uygulanan stratejileri ve optimizasyonları ele alacağız; özellikle latansiyeyi azaltma, maliyetleri düşürme ve piyasaya daha hızlı sürme konularına odaklanacağız.

Adobe Firefly ve NVIDIA TensorRT ile yaratıcı AI’ın devrimsel değişimi

Firefly ile kullanıcılar, metin istemlerinden detaylı görüntüler üretebilir; bu süreç, yaratıcı işlemleri daha hızlı hale getirmektedir. Örneğin, bir video difüzyon modeli, bir görüntü difüzyon modelinden daha fazla hesaplama gücü gerektirebilir.

Firefly’ın hızlı geliştirilmesi ve Adobe’nun NVIDIA ile süregelen iş birliği, hızlı, etkili ve ölçeklenebilir AI inference ve eğitim çözümlerine duyulan ihtiyaçla yönlendirilmektedir. TensorRT, Adobe’nun yenilikçi üretken modellerini hızla ve ölçekli olarak dağıtabilmesi için gereken donanım hızlandırma ve model optimizasyon araçlarını sunmaktadır.

Project timeline from July to October 2024 showing milestones in video generation model development, including model training, quantization with TRT BF16 and FP8, final checkpoint, and private beta launch at Adobe Max.
Şekil 1. Adobe Firefly video üretim modelinin piyasaya sürülmesi süreci 2024’te dört ay içerisinde tamamlandı.

Adobe Firefly’ın lansmanı

Adobe Firefly’ın lansmanı (Ekim 2024), tarihteki en başarılı beta lansmanlarından biri olmuştur. Rakamlar kendilerini anlatıyor:

  • İlk ayda 70 milyondan fazla görüntü üretildi;
  • Bugüne kadar Firefly, 20 milyardan fazla varlık yaratmaya yardımcı oldu;
  • Adobe Photoshop, Adobe Premiere Pro, Adobe Express ve Adobe Illustrator gibi Adobe’nun yaratıcılık araçlarıyla entegrasyon sağlandı.

TeslaRT ile etkili dağıtım

Difüzyon modellerinin ölçeklenmesine yönelik zorlukları aşmak için, Adobe NVIDIA TensorRT kullanarak yüksek performanslı bir derin öğrenme inference optimizasyonu sağladı. NVIDIA H100 GPU’lar üzerindeki en son FP8 kuantizasyonu sayesinde, aşağıdaki avantajlar elde edildi:

  • Hafıza ayak izi azaltma: FP8, hafıza bant genişliğini önemli ölçüde düşürürken, Tensor Core işlemlerini hızlandırmakta;
  • Inference maliyet tasarrufu: Aynı yük için daha az GPU gerekmektedir;
  • Kesintisiz model taşınabilirliği: TensorRT’nin PyTorch, TensorFlow ve ONNX desteği, dağıtımı verimli hale getirdi.

TensorRT, farklı frameworklerdeki modellerin optimizasyonunu ve dağıtımını sağlar; bu da Adobe’nun kullanım durumu için ideal bir seçimdir. Optimizasyon süreci birkaç kritik adım içeriyordu:

Adım 1: ONNX dışa aktarma

Adobe, çok yönlülüğü ve dışa aktarma kolaylığı nedeniyle ONNX (Açık Sinir Ağı Değişimi) seçti. Bu karar, araştırma ve dağıtım arasında kesintisiz kod paylaşımını sağladı ve zaman alıcı yeniden uygulama gereksinimini ortadan kaldırdı.

Adım 2: TensorRT uygulaması

Ekip, FP8 ve BF16 ile karışık hassasiyete odaklanarak TensorRT’yi uyguladı. Bu yaklaşım, ağırlıklar ve aktivasyonlar için hafıza ayak izini önemli ölçüde azalttı ve hafıza bant genişliğini düşürmeye ek olarak Tensor Core işlemlerini hızlandırdı. FP8 formatı, ağırlıklar ve aktivasyonlar için hafıza ayak izini büyük ölçüde azaltmaktadır. E4M3 FP8 formatı aşağıdaki gibi temsil edilebilir:

x = (-1) - s cdot 2e^{-text{bias}} cdot (1 + f)

Burada:

  • s işaret bitidir (1 bit);
  • e üs (4 bit);
  • f kesir (3 bit);
  • bias E4M3 için değeri 7’dir.

Bu format, yaklaşık 1.52×10-2 ile 4.48×102 arasında bir değer aralığını temsil etmektedir. E4M3, E5M2’ye göre daha ince hassasiyet sunarken, aktivasyonlarda daha yüksek dalgalanmaları önlemektedir. Bu tercih, ilerleme doğrulaması için en uygun olanıdır, geriye yayılma ise daha geniş bir değer aralığından faydalanabilir.

Adım 3: Kuantizasyon teknikleri

Adobe, mevcut değerlendirme süreçlerine uygun olarak NVIDIA TensorRT Model Optimizatörü PyTorch API’sini kullanarak eğitim sonrası kuantizasyon uyguladı. PyTorch FP8 emülasyonu, FP8 uygulamasının gerçek performans iyileştirmelerini tam olarak göstermez, ancak ağın dışa aktarılmasını gerektirmeden hızla kalite değerlendirmesi yapılmasını sağlar.

Diagram of an AWS-based Adobe Firefly video generator AI pipeline. It starts with a prompt input and flows through different encoding modules: Text encoder for text-to-video, LDM encoder for image-to-video, and Latent encoder for video-to-video. The encoded input is processed by a Diffusion DiT model (inference stage) and then passed through a latent decoder and an upsampling module. Finally, video postprocessing runs on the CPU to generate a 5-second, 24 fps, 1080p video. Each pipeline stage is color-coded to indicate hardware usage: green for A100, dark green for H100, and blue for CPU.
Şekil 2. AWS üzerinde çalışan Adobe Firefly video üretici AI pipeline’ı

Bottlenecks tespiti için NVIDIA Nsight derin öğrenme dizaynı

NVIDIA Nsight Derin Öğrenme Tasarımcısı kullanarak mühendisler, difüzyon pipeline’ındaki kritik darboğazları belirlediler, bunlar arasında:

  • Scaled Dot Product Attention (SDPA), ana hesaplama darboğazı olarak, fazla latansiyeye yol açmaktadır.
  • ONNX profilleme, kernel yürütme sürelerinin haritalanmasını sağlayarak yüksek çözünürlüklü görüntü ve video difüzyon modellerindeki verimsizlikleri gösterdi.
Screenshot of GPU profiling tool analyzing the baseline ONNX model. The top section shows a timeline view with 'Inference Stream 0' highlighting kernel executions, including 'gemm' and 'mha' layers. Below it are performance metrics such as Compute Warps in Flight, PCIe Throughput, SMs Active, Tensor Active, and VRAM Throughput. The bottom section displays a table of network metrics, listing layer names, inference times, precisions, and input dimensions. To the right, a bar graph visualizes the average latency per layer type, with 'kgen' and 'gemm' layers contributing most to latency.
Şekil 3. GPU analiz aracı temel ONNX modelini analiz ediyor

Bu performans sorunlarını izole ederek, Adobe ekibi Transformer omurgasını ince ayar yaptı ve yürütme hızını artırarak hafıza tüketimini azalttı.

Kuantize edilmiş difüzörler ile dağıtım zorluklarının üstesinden gelme

Kuantize edilmiş bir difüzörün dağıtımı karmaşık olabilir, bu da model parametrelerinin ve kuantizasyon ayarlarının dikkatle ayarlanmasını gerektirir. Ancak, TensorRT’nin tam ekosistemi, NVIDIA Derin Öğrenme SDK’sı ve TensorRT Model Optimizatorü ile bu zorlukların üstesinden gelmede Adobe’ya yardımcı olmuştur.

Adobe mühendisleri, kuantizasyon kalitesini değerlendirme ve iyileştirme tekniklerini uyguladılar; bu süreç dağılım analizi ve otomatik kuantizasyon için TensorRT Model Optimizatorü kullanımıyla güçlendirildi.

Kuantizasyon süreci

Kuantizasyon, tam hassasiyet kayan nokta değerini BF16’dan FP8 temsiline haritalama sürecidir ve bir ölçek faktörü S kullanır:

q = text{clip}(text{round}(Sx), q_{text{min}}, q_{text{max}})

Burada:

  • q kuantize edilmiş FP8 değeridir;
  • S her Tensor için veya her kanala ait ölçek faktörüdür;
  • q_{text{min}}, q_{text{max}} FP8 dinamik aralığını tanımlar, örneğin:
    • E4M3 için: Yaklaşık [−448,448]
    • E5M2 için: Yaklaşık [−57344,57344]
  • clip değerlerin temsil edilebilir FP8 aralığında kalmasını güvence altına alır.

De-kuantizasyon süreci

Yaklaşık tam hassasiyet değerini geri almak için:

x' = q cdot S

Burada:

  • x' yeniden oluşturulan kayan nokta değeridir;
  • q saklanan FP8 değeridir;
  • S kuantizasyon sırasında kullanılan ölçek faktörüdür.

Ölçek faktörü seçimi

Ölçek faktörü S genellikle şu yöntemlerle belirlenir:

  • Max-tabanlı ölçeklendirme:S = frac{max(|X|)}{q_{max}}
  • Tensor bazında ölçeklendirme: Tam Tensor için tek bir ölçek kullanılır.

Hata analizi (kuantizasyon gürültüsü)

Kuantizasyon hatası genellikle aşağıdaki gibi modellenir:

epsilon = x - x' = x - q cdot S

Bu, düzgün bir şekilde ölçeklenmişse, eşit dağılıma tabi olur.

FP8 formatları ile çalışma

TensorRT, E4M3 ve E5M2 FP8 formatlarını desteklemektedir:

  • E4M3 (1 işaret biti, 4 üs bit, 3 kesir bit): Daha küçük bir dinamik aralıkta daha yüksek hassasiyet sunmaktadır. Yaklaşık ±[1.52×10⁻², 448] aralığındaki değerleri temsil edebilmektedir, NaN’ı da içermektedir.
  • E5M2 (1 işaret biti, 5 üs bit, 2 kesir bit): Daha az hassasiyet ile daha geniş bir dinamik aralık sunmaktadır. Yaklaşık ±[5.96×10⁻⁸, 57344] aralığındaki değerleri temsil edebilir, ±inf ve NaN’ı da içerir.

Seçim, hassasiyet ve dinamik aralık arasında yapılan bir takas ile belirlenir.

AI çalışma yüklerinde ölçeklenebilirlik ve maliyet avantajları

Adobe Firefly’ın AWS üzerindeki dağıtımı, performansı optimize etme ve kesintisiz ölçeklenebilirliği sağlıyordu. AWS’nin yüksek performanslı bulut altyapısını kullanarak ekip, verimliliği artırmayı, latansiyeyi azaltmayı ve büyük ölçekli AI iş yükleri için maliyet etkinliğini sağlamayı başardı.

TeslaRT kullanılarak yapılan optimize dağıtım, difüzyon latansiyesini %60, toplam sahiplik maliyetini %40 oranında düşürerek büyük tasarruflar sağladı. Bu sayede, difüzyon modeli çıkarımında gereken hesaplama kaynakları azaltıldı ve Firefly, daha az GPU ile daha fazla kullanıcıya hizmet verebildi; bu da maliyetlerin düşmesine ve verimliliğin artmasına yol açtı.

This chart compares the runtime of a diffusion model backbone inference across different precision configurations. Using TensorRT with BF16 precision yields a 1.6x speedup over the PyTorch baseline, while combining BF16 and FP8 precision in TRT further improves performance to a 2.5x speedup. These optimizations demonstrate the significant acceleration achieved by leveraging lower precision formats in inference workloads.
Şekil 4.Difüzyon omurgası çıkarım performansı. NVIDIA TensorRT, BF16 ve FP8 ile birlikte kullanıldığında, PyTorch temeline göre 2.5 kat daha hızlı çalışma süresi sunmaktadır.

Gelecek adımlar

Difüzyon model dağıtımını optimize etmek, bu güçlü modellerin daha geniş bir kullanıcı kitlesine erişilebilir hale getirilmesi açısından kritik öneme sahiptir. Adobe, yaratıcı AI alanında sınırları zorlamaya devam ederken, Firefly’ın geliştirilmesi ve dağıtımından alınan dersler, gelecekteki yenilikleri şekillendirecektir. Hızlı geliştirme, stratejik teknik kararlar ve sürekli optimizasyon kombinasyonu, üretken AI dünyasında yeni bir standart oluşturmuştur. NVIDIA, Adobe ve AWS ile iş birliğine devam etmeyi ve difüzyon modelleri ve derin öğrenme alanında olanakları zorlamayı dört gözle beklemektedir.

Daha fazla bilgi için NVIDIA TensorRT belgelerine ve NVIDIA GTC oturumuna göz atabilirsiniz, Büyük Dönüşüm Modelini Kuantize Etmek ve Sonuç Çıkarım Maliyetlerini Düşürmek.

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri