Triton Inference Server Nedir?
NVIDIA'nın 2018'de açık kaynak olarak duyurduğu çıkarım sunucusudur. Mart 2025'te NVIDIA Dynamo-Triton adını alarak daha geniş bir çıkarım platformunun parçası hâline geldi. Aynı sunucu süreci içinde PyTorch, TensorRT, ONNX, vLLM ve OpenVINO gibi farklı çerçevelerden modelleri eş zamanlı çalıştırır. Her backend, belirli bir çerçeve veya runtime için optimize edilmiş bağımsız bir yürütme birimidir; TensorRT backend GPU verimliliğini en üst düzeye çıkarır, ONNX Runtime backend çerçeveden bağımsız modelleri destekler, vLLM backend büyük dil modellerinde paged attention ve KV-cache yönetimini üstlenir, Python backend ise özel ön/son işleme adımları için kullanılır.
Triton'un Temel Özellikleri
Çoklu Framework Desteği
TensorRT, ONNX Runtime, PyTorch, TensorFlow, OpenVINO ve Python backend'i tek sunucu altında barındırır. Farklı model tiplerini karıştırarak tek API sunar.
Dinamik Batching
Gelen istekler otomatik gruplandırılır; GPU kullanımı maximize edilir. preferred_batch_size ve max_queue_delay_microseconds parametreleriyle gecikme-verimlilik dengesi kurulur.
Model Ensemble Pipeline
Ön işleme → model çıkarım → son işleme zinciri DAG olarak tanımlanır. Her adım ayrı model olarak paketlenir; karmaşık ML pipeline'ları tek API çağrısına indirgenir.
gRPC ve HTTP/REST Arayüzü
İki protokolü eş zamanlı destekler. gRPC düşük gecikme için; REST esneklik için. Prometheus metrik endpoint ve sağlık kontrolü dahili gelir.
Dinamik Yığınlama ve Ensemble Pipeline
Dinamik yığınlama (dynamic batching), birden fazla istemci isteğini tek bir çıkarım geçişinde birleştirir; bu yöntem GPU'yu boş bırakmadan maksimum iş hacmine ulaşmayı mümkün kılar. Ensemble Pipeline ise önişleme, model çıkarımı ve sonişleme adımlarını tek bir akış olarak tanımlar ve her adımın çıktısını otomatik olarak bir sonrakine aktarır. Bu sayede karmaşık çok aşamalı AI boru hatları tek bir konfigürasyon dosyasıyla ifade edilebilir.
MLOps ve Kubernetes Entegrasyonu
Triton, Kubernetes operatörleriyle kolayca ölçeklendirilir; Prometheus metrikleri — GPU kullanımı, gecikme, kuyruk boyutu — Grafana panolarına aktarılabilir. Model Registry'de yeni bir sürüm yayımlandığında Triton, mevcut bağlantıları kesmeden sıcak güncelleme (hot-reload) yapabilir. Google Vertex AI, AWS SageMaker ve Azure ML de Triton'ı yerleşik çıkarım motorları olarak kullanır. LLM çıkarımında vLLM ve TensorRT-LLM backend'leri birlikte kullanılabilir; tek bir sunucuda LLM, görüntü enkoderi ve sınıflandırıcı paralel çalıştırılabilir.
rocket_launch Triton ile Hızlı Başlangıç
- check_circle Model deposu yapısı: model_repo/model_name/1/model.plan (TensorRT) veya model.onnx formatında. config.pbtxt içinde giriş/çıkış şeması ve backend tanımlanır.
- check_circle Docker ile başlatma: docker run --gpus all -v model_repo:/models nvcr.io/nvidia/tritonserver:24.01-py3 tritonserver --model-repository=/models
- check_circle Performans testi: perf_analyzer -m model_name --concurrency-range 1:8 ile farklı eşzamanlı istek sayılarında gecikme ve throughput ölçümü yapılır.
- check_circle TensorRT optimizasyonu: ONNX modelini TensorRT engine'e dönüştürme: trtexec --onnx=model.onnx --saveEngine=model.plan --fp16. %2-4× latency azalması yaygın.
- check_circle Kubernetes deploy: NVIDIA'nın Helm chart'ı ile Kubernetes dağıtımı. HPA (Horizontal Pod Autoscaler) GPU metriklerine göre pod sayısını otomatik ayarlar.
Sık Sorulan Sorular
- check_circle Triton Inference Server ile vLLM arasındaki fark nedir? vLLM yalnızca LLM çıkarımı için optimize edilmiş bir kütüphanedir. Triton ise vLLM dahil onlarca backend'i tek sunucuda barındıran genel amaçlı bir çıkarım çatısıdır; LLM'lerle birlikte görüntü ve ses modellerini de aynı anda yönetebilir.
- check_circle Triton GPU olmadan çalışır mı? Evet. x86 ve ARM CPU ile AWS Inferentia üzerinde çalışabilir. GPU olmadan daha düşük iş hacmiyle test ve geliştirme ortamlarında kullanılabilir.
- check_circle Hangi metrikler izlenebilir? Prometheus endpoint'i üzerinden model gecikme süresi, kuyruk bekleme süresi, GPU bellek kullanımı, istek kuyruk boyutu ve başarısız istek sayısı gibi metrikler izlenebilir.
- check_circle Dynamic batching nasıl yapılandırılır? Her model için config.pbtxt dosyasındaki dynamic_batching bloğunda max_queue_delay_microseconds ve preferred_batch_size değerleri ayarlanır. Bu değerler, gecikme-throughput dengesini kontrol eder.
- check_circle Triton, NVIDIA Dynamo ile nasıl bir ilişki içinde? Mart 2025'te NVIDIA, Triton'ı Dynamo çıkarım platformuna entegre etti. Dynamo-Triton olarak anılan yeni isim altında Triton'ın çekirdek mimarisi korunurken dağıtık çıkarım ve çok düğümlü GPU yönetimi özellikleri eklendi.