Het versnellen van inferentie van een encoder-guardmodel: TensorRT, Triton, vLLM, Ray Serve
NVIDIA
vLLM
Ray
Het artikel vergelijkt tools voor het versnellen van een zero-shot PII-encoder-guardmodel dat de invoer en uitvoer van een LLM-app controleert. De auteur test TensorRT, NVIDIA Triton, vLLM, Ray Serve en een Flash DeBERTa-backbone, en meet RPS en latentie. TensorRT FP16 geeft een verbetering van 23% ten opzichte van PyTorch FP16, maar INT8-kwantificatie faalt vanwege aangepaste operaties.
Het artikel beschrijft een poging om een guardmodel te versnellen dat zich tussen een LLM en de gebruiker bevindt en controleert op gevaarlijke inhoud. Het model is een zero-shot PII-encoder: het neemt entiteitstypen als tekstinvoer samen met het document, extraheert entiteiten en classificeert veiligheid in één forward pass. Vanwege de architectuur stelt het zeven technische beperkingen: variabele invoervorm, niet-tensoruitvoer die CPU-span-decoding vereist, specifieke bewerkingen zoals gather en bilineaire scoring, mogelijk niet-standaard aandacht, batchkosten bepaald door het langste element, serving-infrastructuur geoptimaliseerd voor autoregressieve LLM's, en het belang van staartlatentie (P95, P99) omdat de guard tweemaal per dialoogbeurt wordt aangeroepen. Het experiment vergelijkt vijf tools: TensorRT-runtime, NVIDIA Triton, vLLM, Ray Serve en een Flash DeBERTa-backbone, met baselines die LitServe gebruiken. De runtime-track met TensorRT gebruikte een kort belastingsprofiel (één worker, 50 gebruikers, 60 seconden), terwijl serving-tracks een langer profiel gebruikten (vier workers, 100 gebruikers, 15 minuten), dus getallen zijn alleen binnen elke track vergelijkbaar. De TensorRT FP16-variant bereikt 130,72 RPS versus 106,49 RPS voor PyTorch FP16, een verbetering van 23%. Pogingen tot INT8-kwantificering mislukten vanwege het gebrek aan ondersteuning voor aangepaste bewerkingen, wat resulteerde in zeer lage RPS en hoge latentie.
Bron: Habr — хаб ML —
origineel
