Yapay Zeka
TensorRT-LLM: Maksimum Performans için Büyük Dil Modeli Çıkarımını Optimize Etmeye Yönelik Kapsamlı Bir Kılavuz

Büyük dil modelleri (LLM) talebi artmaya devam ettikçe, hızlı, verimli ve ölçeklenebilir çıkarımların sağlanması her zamankinden daha önemli hale geldi. NVIDIA'nın TensorRT-LLM LLM çıkarımı için özel olarak tasarlanmış güçlü araçlar ve optimizasyonlar sağlayarak bu zorluğun üstesinden gelmek için devreye girer. TensorRT-LLM, niceleme, çekirdek birleştirme, uçuş sırasında toplu işlem ve çoklu GPU desteği gibi etkileyici bir dizi performans iyileştirmesi sunar. Bu gelişmeler, geleneksel CPU tabanlı yöntemlerden 8 kata kadar daha hızlı çıkarım hızlarına ulaşmayı mümkün kılarak LLM'leri üretimde dağıtma şeklimizi dönüştürür.
Bu kapsamlı kılavuz, TensorRT-LLM'nin mimarisinden ve temel özelliklerinden modelleri dağıtmak için pratik örneklere kadar tüm yönlerini inceleyecektir. İster bir yapay zeka mühendisi, ister yazılım geliştiricisi veya araştırmacı olun, bu kılavuz size NVIDIA GPU'larında LLM çıkarımını optimize etmek için TensorRT-LLM'den yararlanmanız için gereken bilgiyi verecektir.
TensorRT-LLM ile LLM Çıkarımını Hızlandırma
TensorRT-LLM, LLM çıkarım performansında çarpıcı iyileştirmeler sunar. NVIDIA'nın testlerine göre, TensorRT tabanlı uygulamalar 8x daha hızlı CPU-sadece platformlara kıyasla çıkarım hızları. Bu, sohbet robotları, öneri sistemleri ve hızlı yanıtlar gerektiren otonom sistemler gibi gerçek zamanlı uygulamalarda önemli bir gelişmedir.
Nasıl Rezervasyon Yaparım ?
TensorRT-LLM, şu teknikleri kullanarak dağıtım sırasında sinir ağlarını optimize ederek çıkarımı hızlandırır:
- niceleme: Ağırlıkların ve aktivasyonların hassasiyetini azaltır, model boyutunu küçültür ve çıkarım hızını artırır.
- Katman ve Tensör Füzyon: Aktivasyon fonksiyonları ve matris çarpımları gibi işlemleri tek bir işlemde birleştirir.
- Çekirdek Ayarı: GPU hesaplaması için en uygun CUDA çekirdeklerini seçerek yürütme süresini azaltır.
Bu optimizasyonlar, LLM modellerinizin hiper ölçekli veri merkezlerinden gömülü sistemlere kadar çok çeşitli dağıtım platformlarında verimli bir şekilde çalışmasını sağlar.
TensorRT ile Çıkarım Performansını Optimize Etme
NVIDIA'nın CUDA paralel programlama modeli üzerine inşa edilen TensorRT, NVIDIA GPU'larında çıkarım için oldukça uzmanlaşmış optimizasyonlar sağlar. Kantizasyon, çekirdek ayarı ve tensör işlemlerinin birleştirilmesi gibi süreçleri kolaylaştırarak TensorRT, LLM'lerin minimum gecikmeyle çalışmasını sağlar.
En etkili tekniklerden bazıları şunlardır:
- niceleme: Bu, yüksek doğruluğu korurken model parametrelerinin sayısal hassasiyetini azaltır ve çıkarımı etkili bir şekilde hızlandırır.
- Tensör Füzyonu:Birden fazla işlemi tek bir CUDA çekirdeğinde birleştirerek TensorRT, bellek yükünü en aza indirir ve verimi artırır.
- Çekirdek Otomatik Ayarlama: TensorRT, her işlem için otomatik olarak en iyi çekirdeği seçerek, belirli bir GPU için çıkarımı optimize eder.
Bu teknikler, TensorRT-LLM'nin doğal dil işleme, öneri motorları ve gerçek zamanlı video analitiği gibi derin öğrenme görevleri için çıkarım performansını optimize etmesine olanak tanır.
TensorRT ile AI İş Yüklerini Hızlandırma
TensorRT, aşağıdaki gibi hassas optimizasyonları birleştirerek derin öğrenme iş yüklerini hızlandırır: INT8 ve FP16. Bu azaltılmış hassasiyetli formatlar, doğruluğu korurken önemli ölçüde daha hızlı çıkarım sağlar. Bu, düşük gecikmenin kritik bir gereklilik olduğu gerçek zamanlı uygulamalarda özellikle değerlidir.
INT8 ve FP16 optimizasyonlar özellikle şu durumlarda etkilidir:
- Video Streaming: Nesne algılama gibi yapay zeka tabanlı video işleme görevleri, karelerin işlenmesi için gereken süreyi azaltarak bu optimizasyonlardan yararlanır.
- Öneri Sistemleri: TensorRT, büyük miktarda kullanıcı verisini işleyen modeller için çıkarımı hızlandırarak büyük ölçekte gerçek zamanlı kişiselleştirmeye olanak tanır.
- Doğal Dil İşleme (NLP): TensorRT, metin oluşturma, çeviri ve özetleme gibi NLP görevlerinin hızını artırarak bunları gerçek zamanlı uygulamalar için uygun hale getirir.
NVIDIA Triton ile Dağıtın, Çalıştırın ve Ölçeklendirin
Modeliniz TensorRT-LLM ile optimize edildikten sonra, onu kullanarak kolayca dağıtabilir, çalıştırabilir ve ölçekleyebilirsiniz. NVIDIA Triton Çıkarım Sunucusu. Triton, dinamik toplu işleme, model toplulukları ve yüksek verimi destekleyen açık kaynaklı bir yazılımdır. AI modellerini ölçekte yönetmek için esnek bir ortam sağlar.
Temel özelliklerden bazıları şunlardır:
- Eşzamanlı Model Yürütme: Birden fazla modeli aynı anda çalıştırarak GPU kullanımını en üst düzeye çıkarın.
- Dinamik Toplu İşleme: Birden fazla çıkarım isteğini tek bir toplu işte birleştirerek gecikmeyi azaltır ve verimi artırır.
- Akışlı Ses/Video Girişleri: Canlı video analitiği veya konuşmadan metne dönüştürme hizmetleri gibi gerçek zamanlı uygulamalarda giriş akışlarını destekler.
Bu, Triton'u üretim ortamlarında TensorRT-LLM optimize edilmiş modelleri dağıtmak için değerli bir araç haline getirerek yüksek ölçeklenebilirlik ve verimlilik sağlar.
LLM Çıkarımı için TensorRT-LLM'nin Temel Özellikleri
Açık Kaynak Python API'si
TensorRT-LLM son derece modüler ve açık kaynaklı Python API'si, LLM'leri tanımlama, optimize etme ve yürütme sürecini basitleştirir. API, geliştiricilerin CUDA veya derin öğrenme çerçeveleri hakkında derinlemesine bilgi gerektirmeden, ihtiyaçlarına uyacak şekilde özel LLM'ler oluşturmasını veya önceden oluşturulmuş olanları değiştirmesini sağlar.
Uçuş Sırasında Toplu İşlem ve Sayfalanmış Dikkat
TensorRT-LLM'nin öne çıkan özelliklerinden biri Uçuş Sırasında Toplu İşlem, birden fazla isteği aynı anda işleyerek metin üretimini optimize eder. Bu özellik bekleme süresini en aza indirir ve dizileri dinamik olarak toplu olarak işleyerek GPU kullanımını iyileştirir.
Buna ek olarak, Sayfalanmış Dikkat uzun girdi dizileri işlenirken bile bellek kullanımının düşük kalmasını sağlar. Tüm belirteçler için bitişik bellek ayırmak yerine, sayfalanmış dikkat belleği dinamik olarak yeniden kullanılabilen "sayfalara" böler, bellek parçalanmasını önler ve verimliliği artırır.
Çoklu GPU ve Çoklu Düğüm Çıkarımı
Daha büyük modeller veya daha karmaşık iş yükleri için TensorRT-LLM şunları destekler: çoklu GPU ve çoklu düğüm çıkarımıBu yetenek, model hesaplamalarının birden fazla GPU veya düğüme dağıtılmasına olanak tanır, böylece verim iyileştirilir ve genel çıkarım süresi azaltılır.
FP8 Desteği
Çıkışıyla FP8 (8 bit kayan nokta), TensorRT-LLM, optimize edilmiş çıkarım için model ağırlıklarını bu biçime dönüştürmek üzere NVIDIA'nın H100 GPU'larından yararlanır. FP8, özellikle büyük ölçekli dağıtımlarda yararlı olan azaltılmış bellek tüketimi ve daha hızlı hesaplama sağlar.
TensorRT-LLM Mimarisi ve Bileşenleri
TensorRT-LLM'nin mimarisini anlamak, LLM çıkarımı için yeteneklerini daha iyi kullanmanıza yardımcı olacaktır. Temel bileşenleri parçalayalım:
Model Tanımı
TensorRT-LLM, basit bir Python API'si kullanarak LLM'leri tanımlamanıza olanak tanır. API, bir grafik gösterimi Bu sayede GPT veya BERT gibi LLM mimarilerinde yer alan karmaşık katmanların yönetimi daha kolay hale geliyor.
Ağırlık Bağlamaları
Modeli derlemeden önce, ağırlıklar (veya parametreler) ağa bağlanmalıdır. Bu adım, ağırlıkların TensorRT motoruna gömülmesini sağlayarak hızlı ve verimli çıkarım sağlar. TensorRT-LLM ayrıca derlemeden sonra ağırlık güncellemelerine izin vererek sık güncelleme gerektiren modeller için esneklik sağlar.
Desen Eşleştirme ve Füzyon
Füzyon Operasyonu TensorRT-LLM'nin bir diğer güçlü özelliğidir. Birden fazla işlemi (örneğin, aktivasyon fonksiyonlarına sahip matris çarpımları) tek bir CUDA çekirdeğine birleştirerek, TensorRT birden fazla çekirdek başlatma ile ilişkili ek yükü en aza indirir. Bu, bellek transferlerini azaltır ve çıkarımı hızlandırır.
eklentiler
TensorRT'nin yeteneklerini genişletmek için geliştiriciler şunları yazabilir: eklentileri—çok başlı dikkat bloklarını optimize etme gibi belirli görevleri gerçekleştiren özel çekirdekler. Örneğin, Flaş Dikkat eklenti LLM dikkat katmanlarının performansını önemli ölçüde iyileştirir.
Ölçütler: TensorRT-LLM Performans Kazanımları
TensorRT-LLM, çeşitli GPU'larda LLM çıkarımı için önemli performans kazanımları göstermektedir. İşte farklı NVIDIA GPU'larında TensorRT-LLM kullanılarak çıkarım hızının (saniye başına belirteç olarak ölçülen) karşılaştırması:
| Model | Hassas | Giriş/Çıkış Uzunluğu | H100 (80 GB) | A100 (80 GB) | L40S FP8 |
|---|---|---|---|---|---|
| GPTJ6B | FP8 | 128/128 | 34,955 | 11,206 | 6,998 |
| GPTJ6B | FP8 | 2048/128 | 2,800 | 1,354 | 747 |
| LLaMA v2 7B | FP8 | 128/128 | 16,985 | 10,725 | 6,121 |
| LLaMA v3 8B | FP8 | 128/128 | 16,708 | 12,085 | 8,273 |
Bu kıyaslamalar, TensorRT-LLM'nin özellikle daha uzun diziler için performansta önemli iyileştirmeler sağladığını göstermektedir.
Uygulamalı: TensorRT-LLM'yi Kurma ve Oluşturma
Adım 1: Bir Konteyner Ortamı Oluşturun
Kullanım kolaylığı için TensorRT-LLM, modeller oluşturmak ve çalıştırmak için kontrollü bir ortam yaratmak amacıyla Docker görüntüleri sağlar.
docker build --pull \
--target devel \
--file docker/Dockerfile.multi \
--tag tensorrt_llm/devel:latest .












