High-performance serving met Triton Inference Server
Modelrepository, modelconfiguratie in config.pbtxt, gelijktijdige modelinstanties, dynamische batching.
High-performance serving met Triton Inference Server is een gratis Leer AI met Python-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat is Triton
NVIDIA Triton Inference Server is een productiesysteem voor modelservering dat veel modellen tegelijk op CPU en GPU host. Het ondersteunt meerdere backends (TensorRT, ONNX, PyTorch, TensorFlow, Python) achter één HTTP/gRPC-API, met ingebouwde batching en gelijktijdige verwerking.
De modelrepository
Triton laadt modellen uit een modelrepository: een map waarin elk model een eigen map, een numerieke versiesubmap en een config.pbtxt-bestand heeft.
model_repository/
resnet50/
config.pbtxt
1/
model.onnx
bert/
config.pbtxt
1/
model.ptconfig.pbtxt: backend
Het config.pbtxt-bestand beschrijft hoe Triton een model moet uitvoeren. De backend (of het platform) vertelt Triton welke runtime moet worden gebruikt.
name: "resnet50"
backend: "onnxruntime"
max_batch_size: 32Invoer- en uitvoertensors
Je declareert elke invoer en uitvoer: de naam, het gegevenstype en de tensor-dimensies (vorm). De vormen moeten overeenkomen met wat het model verwacht. Een voorloopdimensie voor de batch wordt geïmpliceerd door max_batch_size.
input [
{
name: "input"
data_type: TYPE_FP32
dims: [ 3, 224, 224 ]
}
]
output [
{
name: "output"
data_type: TYPE_FP32
dims: [ 1000 ]
}
]Gegevenstypen
Triton gebruikt expliciete tensorgegevenstypen, zodat clients en het model dezelfde byte-indeling gebruiken:
TYPE_FP32getal met 32-bits drijvende komma (gebruikelijk voor afbeeldingen)TYPE_FP16halve precisie (sneller op GPU's)TYPE_INT64token-ID's voor NLPTYPE_INT8gequantiseerde modellen
Dynamische batching: het idee
Met dynamische batching kan Triton meerdere binnenkomende verzoeken combineren tot één grotere batch voordat het model wordt uitgevoerd. GPU's zijn veel efficiënter met grote batches, waardoor de doorvoer sterk toeneemt zonder dat je de clientcode hoeft te wijzigen.
Dynamische batching configureren
Je schakelt dit in de configuratie in en stelt in hoelang Triton wacht om verzoeken te verzamelen. Een kleine waarde voor max_queue_delay_microseconds ruilt een beetje latentie in voor een veel hogere doorvoer.
dynamic_batching {
preferred_batch_size: [ 8, 16 ]
max_queue_delay_microseconds: 1000
}Gelijktijdige modelinstanties
Standaard voert Triton één kopie (instantie) van een model uit. Met instance_group kun je meerdere instanties parallel uitvoeren op een of meer GPU's. Zo worden onafhankelijke verzoeken gelijktijdig verwerkt en verbetert de benutting.
instance_group [
{
count: 2
kind: KIND_GPU
gpus: [ 0 ]
}
]Batching versus gelijktijdigheid
Deze technieken lossen verschillende problemen op:
- Dynamische batching voegt verzoeken samen tot één modelaanroep (doorvoer per aanroep)
- Gelijktijdige instanties voeren meerdere modelaanroepen tegelijk uit (parallellisme)
Ze vullen elkaar aan; configuraties voor productie gebruiken vaak beide.
perf_analyzer
perf_analyzer is een Triton-hulpprogramma dat de server belast met synthetische verzoeken en de doorvoer (inferenties/sec) en latentiepercentielen rapporteert. Gebruik het om de batch- en gelijktijdigheidsinstellingen te vinden die de doorvoer maximaliseren binnen je latentiebudget.
perf_analyzer -m resnet50 \
--concurrency-range 1:8 \
--percentile 95Uitvoer van perf_analyzer lezen
Het hulpprogramma doorloopt verschillende niveaus van gelijktijdigheid en drukt voor elk niveau de doorvoer en latentie af. Je zoekt naar het knikpunt van de curve: het punt waarop extra gelijktijdigheid de doorvoer niet meer verbetert of de P95-latentie boven je limiet duwt.
# Concurrency: 4, throughput: 1820 infer/sec, p95 latency: 9.1 ms
# Concurrency: 8, throughput: 1905 infer/sec, p95 latency: 17.4 msKorte controle
Controleer je kennis van Triton.
Samenvatting
Je hebt geleerd hoe je modellen met hoge prestaties serveert met Triton:
- Modelrepository: mappen per model met versiesubmappen en
config.pbtxt config.pbtxtdeclareert de backend, de vormen en gegevenstypen van invoer- en uitvoertensors- Dynamische batching verhoogt de doorvoer; gelijktijdige instanties voegen parallellisme toe
- perf_analyzer meet doorvoer tegenover latentie om instellingen af te stemmen
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “High-performance serving met Triton Inference Server” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “High-performance serving met Triton Inference Server”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “High-performance serving met Triton Inference Server”?
Modelrepository, modelconfiguratie in config.pbtxt, gelijktijdige modelinstanties, dynamische batching. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “High-performance serving met Triton Inference Server”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- ML-modellen containeriseren met Docker
- Clouddeployment: AWS SageMaker
- High-performance serving met Triton Inference Server
- Model-endpoints schalen en automatisch schalen