0Pricing
Learn AI with Python · Lektion

Hochperformantes Serving mit Triton Inference Server

Modell-Repository, model config.pbtxt, gleichzeitig ausgeführte Modellinstanzen, dynamisches Batching.

Hochperformantes Serving mit Triton Inference Server ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was ist Triton

NVIDIA Triton Inference Server ist ein produktionsreifes Serving-System, das gleichzeitig viele Modelle auf CPU und GPU hostet. Es unterstützt mehrere Backends (TensorRT, ONNX, PyTorch, TensorFlow, Python) über eine gemeinsame HTTP/gRPC-API sowie integriertes Batching und Nebenläufigkeit.

Das Modell-Repository

Triton lädt Modelle aus einem Modell-Repository: einem Verzeichnis, in dem jedes Modell einen eigenen Ordner, einen numerischen Versionsunterordner und eine config.pbtxt besitzt.

model_repository/
  resnet50/
    config.pbtxt
    1/
      model.onnx
  bert/
    config.pbtxt
    1/
      model.pt

config.pbtxt: Backend

Die Datei config.pbtxt beschreibt, wie Triton ein Modell ausführen soll. Das Backend (oder die Plattform) gibt an, welche Laufzeit Triton verwenden soll.

name: "resnet50"
backend: "onnxruntime"
max_batch_size: 32

Eingabe- und Ausgabetensoren

Sie deklarieren jede Eingabe und Ausgabe mit ihrem Namen, Datentyp und ihren Tensor-Dimensionen (Shape). Die Shapes müssen den Erwartungen des Modells entsprechen. Eine führende Batch-Dimension wird durch max_batch_size impliziert.

input [
  {
    name: "input"
    data_type: TYPE_FP32
    dims: [ 3, 224, 224 ]
  }
]
output [
  {
    name: "output"
    data_type: TYPE_FP32
    dims: [ 1000 ]
  }
]

Datentypen

Triton verwendet explizite Tensor-Datentypen, damit Clients und Modell dasselbe Byte-Layout verwenden:

  • TYPE_FP32 32-Bit-Gleitkommazahl (üblich für Bilder)
  • TYPE_FP16 Halbpräzision (schneller auf GPUs)
  • TYPE_INT64 Token-IDs für NLP
  • TYPE_INT8 quantisierte Modelle

Dynamisches Batching: die Idee

Dynamisches Batching ermöglicht es Triton, mehrere eingehende Anfragen vor der Modellausführung zu einem größeren Batch zusammenzufassen. GPUs arbeiten mit großen Batches wesentlich effizienter, daher erhöht dies den Durchsatz drastisch, ohne den Client-Code zu ändern.

Dynamisches Batching konfigurieren

Sie aktivieren es in der Konfiguration und legen fest, wie lange Triton auf das Sammeln von Anfragen wartet. Ein kleiner Wert für max_queue_delay_microseconds erhöht die Latenz geringfügig zugunsten eines deutlich höheren Durchsatzes.

dynamic_batching {
  preferred_batch_size: [ 8, 16 ]
  max_queue_delay_microseconds: 1000
}

Nebenläufige Modellinstanzen

Standardmäßig führt Triton eine Kopie (Instanz) eines Modells aus. Mit instance_group können Sie mehrere Instanzen parallel auf einer oder mehreren GPUs ausführen. Dadurch werden unabhängige Anfragen gleichzeitig verarbeitet und die Auslastung verbessert.

instance_group [
  {
    count: 2
    kind: KIND_GPU
    gpus: [ 0 ]
  }
]

Batching vs. Nebenläufigkeit

Diese beiden Ansätze lösen unterschiedliche Probleme:

  • Dynamisches Batching führt Anfragen zu einem Modellaufruf zusammen (Durchsatz pro Aufruf)
  • Nebenläufige Instanzen führen mehrere Modellaufrufe gleichzeitig aus (Parallelität)

Sie ergänzen sich; Produktionskonfigurationen verwenden häufig beide.

perf_analyzer

perf_analyzer ist ein Triton-Tool, das den Server mit synthetischen Anfragen belastet und den Durchsatz (Inferenzvorgänge/Sekunde) sowie Latenzperzentile ausgibt. Verwenden Sie es, um die Batch- und Nebenläufigkeitseinstellungen zu finden, die innerhalb Ihres Latenzbudgets den maximalen Durchsatz erzielen.

perf_analyzer -m resnet50 \
  --concurrency-range 1:8 \
  --percentile 95

Die Ausgabe von perf_analyzer lesen

Das Tool testet verschiedene Nebenläufigkeitsstufen und gibt für jede den Durchsatz sowie die Latenz aus. Suchen Sie nach dem Knick der Kurve: dem Punkt, an dem zusätzliche Nebenläufigkeit den Durchsatz nicht mehr verbessert oder die P95-Latenz über Ihr Limit hinaus erhöht.

# Concurrency: 4, throughput: 1820 infer/sec, p95 latency: 9.1 ms
# Concurrency: 8, throughput: 1905 infer/sec, p95 latency: 17.4 ms

Kurzer Test

Testen Sie Ihr Wissen über Triton.

Zusammenfassung

Sie haben leistungsstarkes Serving mit Triton kennengelernt:

  • Modell-Repository: Ordner pro Modell mit Versionsunterordnern und config.pbtxt
  • config.pbtxt definiert Backend, Formen und Datentypen der Eingabe- und Ausgabetensoren
  • Dynamisches Batching erhöht den Durchsatz; nebenläufige Instanzen sorgen für zusätzliche Parallelität
  • perf_analyzer misst den Durchsatz im Verhältnis zur Latenz, um die Einstellungen zu optimieren

Häufig gestellte Fragen

Ist die Lektion „Hochperformantes Serving mit Triton Inference Server“ kostenlos?

Ja — der vollständige Text von „Hochperformantes Serving mit Triton Inference Server“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Hochperformantes Serving mit Triton Inference Server“?

Modell-Repository, model config.pbtxt, gleichzeitig ausgeführte Modellinstanzen, dynamisches Batching. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Hochperformantes Serving mit Triton Inference Server“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ML-Modelle mit Docker containerisieren
  2. Cloud-Deployment: AWS SageMaker
  3. Hochperformantes Serving mit Triton Inference Server
  4. Modell-Endpunkte skalieren und automatisch skalieren
← Zurück zu Learn AI with Python