serve 인자 — GPU·메모리·병렬 설정
serve 인자 — GPU·메모리·병렬 설정
vllm serve는 그냥 모델 이름만 줘도 돌아가지만, 하드웨어 성능과 서비스 요구에 맞추려면 인자를 조절해야 해요. 인자 하나로 GPU 사용률부터 배치 처리 크기까지 바뀌거든요.
출처: https://docs.vllm.ai/en/latest/configuration/serve_args/
가장 자주 쓰는 인자 몇 개를 볼게요.
--tensor-parallel-size: 텐서 병렬 처리에 쓸 GPU 수예요. 큰 모델을 여러 GPU에 나눠 올릴 때 사용해요.--max-model-len: 모델이 받아들일 최대 컨텍스트 길이예요. 시퀀스 길이를 제한해서 메모리를 아낄 수 있어요.--gpu-memory-utilization: 서빙에 쓸 GPU 메모리 비율이에요. 기본값은 0.9로, GPU 메모리의 90%까지 KV 캐시에 쓸 수 있어요.--max-num-seqs: 한 번에 배치로 처리할 최대 시퀀스 수예요. 이 값을 늘리면 throughput이 올라갈 수 있어요.--max-num-batched-tokens: 배치에 채울 최대 토큰 수예요. 요청이 많은 서비스에서는 이 값을 더 보는 편이예요.
이 인자들은 거의 대부분 환경변수나 설정 파일로도 넣을 수 있어요. 명령줄 인자는 환경변수보다 우선순위가 높으니, 기본값은 환경변수로 두고 필요할 때만 명령줄로 덮는 식으로 운용하면 깔끔해요.
인자 이름과 기본값, 상한은 vLLM 버전마다 조금씩 달라지기 때문에, 프로덕션에 올리기 전에는 해당 버전 문서의 인자 레퍼런스를 꼭 확인해 보는 게 좋아요.