High-performance serving med Triton Inference Server
Modelrepository, model config.pbtxt, samtidige modelinstanser, dynamisk batching.
High-performance serving med Triton Inference Server er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad er Triton
NVIDIA Triton Inference Server er et produktionssystem til modelservering, der hoster mange modeller samtidigt på tværs af CPU og GPU. Det understøtter flere backends (TensorRT, ONNX, PyTorch, TensorFlow, Python) bag én HTTP/gRPC-API med indbygget batchbehandling og samtidighed.
Modelrepositoryet
Triton indlæser modeller fra et modelrepository: en mappe, hvor hver model har sin egen mappe, en numerisk versionsundermappe og en config.pbtxt.
model_repository/
resnet50/
config.pbtxt
1/
model.onnx
bert/
config.pbtxt
1/
model.ptconfig.pbtxt: backend
Filen config.pbtxt beskriver, hvordan Triton skal køre en model. Backend (eller platformen) fortæller Triton, hvilket kørselsmiljø der skal bruges.
name: "resnet50"
backend: "onnxruntime"
max_batch_size: 32Inddata- og uddatatensorer
Du angiver hver tensor for inddata og uddata: dens navn, datatype og tensorens dims (form). Formerne skal svare til det, modellen forventer. En indledende batchdimension er underforstået af max_batch_size.
input [
{
name: "input"
data_type: TYPE_FP32
dims: [ 3, 224, 224 ]
}
]
output [
{
name: "output"
data_type: TYPE_FP32
dims: [ 1000 ]
}
]Datatyper
Triton bruger eksplicitte tensor-datatyper, så klienter og modellen er enige om byteformatet:
TYPE_FP3232-bit-flydende tal (almindeligt til billeder)TYPE_FP16halv præcision (hurtigere på GPU'er)TYPE_INT64token-id'er til NLPTYPE_INT8kvantiserede modeller
Dynamisk batchbehandling: idéen
Dynamisk batchbehandling lader Triton samle flere indkommende forespørgsler i én større batch, før modellen køres. GPU'er er langt mere effektive med store batches, så det øger gennemstrømningen markant uden at ændre klientkoden.
Konfiguration af dynamisk batchbehandling
Du aktiverer det i konfigurationen og angiver, hvor længe Triton venter på at samle forespørgsler. En lille max_queue_delay_microseconds bytter lidt latenstid for en langt højere gennemstrømning.
dynamic_batching {
preferred_batch_size: [ 8, 16 ]
max_queue_delay_microseconds: 1000
}Samtidige modelinstanser
Som standard kører Triton én kopi (instans) af en model. Med instance_group kan du køre flere instanser parallelt på én eller flere GPU'er, behandle uafhængige forespørgsler samtidigt og forbedre udnyttelsen.
instance_group [
{
count: 2
kind: KIND_GPU
gpus: [ 0 ]
}
]Batchbehandling kontra samtidighed
De løser forskellige problemer:
- Dynamisk batchbehandling samler forespørgsler i ét modelkald (gennemstrømning pr. kald)
- Samtidige instanser kører flere modelkald på samme tid (parallelisme)
De supplerer hinanden, og produktionskonfigurationer bruger ofte begge dele.
perf_analyzer
perf_analyzer er et Triton-værktøj, der belaster serveren med syntetiske forespørgsler og rapporterer gennemstrømning (inferenser/sek.) og latenstidpercentiler. Brug det til at finde de batch- og samtidighedsindstillinger, der maksimerer gennemstrømningen inden for dit latenstidsbudget.
perf_analyzer -m resnet50 \
--concurrency-range 1:8 \
--percentile 95Læsning af uddata fra perf_analyzer
Værktøjet gennemløber forskellige samtidighedsniveauer og udskriver gennemstrømning samt latenstid for hvert niveau. Du leder efter kurvens knækpunkt: det punkt, hvor yderligere samtidighed ikke længere forbedrer gennemstrømningen eller får P95-latenstiden til at overskride din grænse.
# Concurrency: 4, throughput: 1820 infer/sec, p95 latency: 9.1 ms
# Concurrency: 8, throughput: 1905 infer/sec, p95 latency: 17.4 msHurtigt tjek
Test din viden om Triton.
Opsummering
Du har lært højtydende modelservering med Triton:
- Modelrepository: mapper pr. model med versionsundermapper og
config.pbtxt config.pbtxterklærer backend, inddata- og uddatatensorernes former samt datatyper- Dynamisk batchbehandling øger gennemstrømningen, mens samtidige instanser tilføjer parallelisme
- perf_analyzer måler gennemstrømning i forhold til latenstid for at justere indstillingerne
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “High-performance serving med Triton Inference Server” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “High-performance serving med Triton Inference Server”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “High-performance serving med Triton Inference Server”?
Modelrepository, model config.pbtxt, samtidige modelinstanser, dynamisk batching. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “High-performance serving med Triton Inference Server”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Containerisering af ML-modeller med Docker
- Cloud-deployment: AWS SageMaker
- High-performance serving med Triton Inference Server
- Skalering og autoskalering af model-endpoints