TensorRT-LLM的k8s弹性伸缩部署方案
Scaling LLMs with NVIDIA Triton and NVIDIA TensorRT-LLM Using Kubernetes | NVIDIA Technical Blog
一共涉及4个k8s组件:
1. Deployment:跑起来N个pod;指定NVIDIA官方的triton&trt-llm的docker image,指定好model放在哪个volume里;
2. Service: 指向Deployment,指定port;
3. Prometheus:跑起来1个pod;从Service的triton metrics端口(8002)那里拿到metrics指标(queue time, compute time),计算得到新指标(二者的比率);
4. HPA(Horizontal Pod Autoscaler,水平扩展):根据Prometheus的指标数值,和预先配置好的阈值,来自动新增pod或减少pod;
还可用Grafana工具来看triton指标、trt-llm指标:
从上图可看到,TRT-LLM In-Flight Batcher,一直在0~4之间变动,中间没有变到0这种断崖,证明真的是完成一个request就加一个新的request进来。