vLLM 배치 추론
vLLM 배치 추론 (vllm run-batch)
vllm run-batch는 오프라인(offline) 배치 추론을 실행하는 명령이에요. 한 번에 여러 프롬프트를 처리하고 결과를 파일로 저장할 수 있어요. 입력 파일과 출력 파일을 지정하면 서버를 띄우지 않고도 효율적으로 대량 추론을 수행해요.
벤치마크나 데이터셋 일괄 처리가 필요할 때 특히 유용해요.
입출력 파일
- -i, --input-file — 단일 입력 파일의 경로 또는 URL. 로컬 파일 경로 또는 http/https 프로토콜 지원. URL이면 HTTP GET으로 파일을 받아야 함
- -o, --output-file — 단일 출력 파일의 경로 또는 URL. 로컬 파일 경로 또는 http/https 지원. URL이면 HTTP PUT으로 업로드됨
- --output-tmp-dir — 출력 파일을 URL로 업로드하기 전 임시 저장 디렉터리
주요 인자
- --model — 사용할 Hugging Face 모델의 이름 또는 경로. 기본
Qwen/Qwen3-0.6B.served_model_name이 없으면 메트릭 출력의model_name태그로도 사용 - --runner —
auto,draft,generate,pooling중 선택. 각 vLLM 인스턴스는 하나의 모델 러너만 지원. 기본auto - --tokenizer — 사용할 Hugging Face 토크나이저. 미지정 시 모델 이름/경로 사용
- --trust-remote-code, --no-trust-remote-code — 모델·토크나이저 다운로드 시 원격 코드 신뢰. 기본
False - --dtype — 가중치·활성화 데이터 타입.
auto,bfloat16,float,float16,float32,half중 선택. 기본auto - --max-model-len — 모델 컨텍스트 길이(프롬프트+출력). 미지정 시 모델 설정에서 자동 도출.
1k,2M같은 사람이 읽기 좋은 포맷 지원(1k=1000,1K=1024,25.6k=25600,-1또는auto=자동) - --quantization, -q — 가중치 양자화 방법
- --enforce-eager, --no-enforce-eager — 항상 eager-mode PyTorch 사용 여부.
True면 CUDA graph 비활성화. 기본False - --enable-metrics — Prometheus 메트릭 활성화. 기본
False - --host, --port — Prometheus 메트릭 서버 호스트/포트(메트릭 활성화 시). 기본 포트
8000 - --enable-log-requests, --no-enable-log-requests — 요청 정보 로깅. 기본
False
사용 예시
vllm run-batch \
--model meta-llama/Llama-3.1-8B-Instruct \
-i ./inputs.jsonl \
-o ./outputs.jsonl
입력 파일의 각 레코드를 처리해 출력 파일로 저장해요. 배치 추론에 관한 자세한 인자는 vllm run-batch --help로 확인할 수 있어요.
더 알아보기
- vLLM vllm serve 문서: 온라인 서빙
- vLLM vllm bench throughput 문서: 배치 처리량 측정
- vLLM vllm launch 문서: 개별 컴포넌트 실행