vLLM 배치 추론

vLLM 배치 추론 (vllm run-batch)

vllm run-batch는 오프라인(offline) 배치 추론을 실행하는 명령이에요. 한 번에 여러 프롬프트를 처리하고 결과를 파일로 저장할 수 있어요. 입력 파일과 출력 파일을 지정하면 서버를 띄우지 않고도 효율적으로 대량 추론을 수행해요.

벤치마크나 데이터셋 일괄 처리가 필요할 때 특히 유용해요.

출처: vLLM vllm run-batch 문서

입출력 파일

  • -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 태그로도 사용
  • --runnerauto, 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로 확인할 수 있어요.

더 알아보기