vLLM 서빙

vLLM 서빙 (vllm serve)

vllm serve는 OpenAI 호환 서버를 띄워서 대규모 언어 모델을 서빙하는 명령이에요. 모델을 지정하면 HTTP 기반의 OpenAI 호환 API 서버가 시작되고, /v1/* 엔드포인트로 추론 요청을 받을 수 있어요. 또한 gRPC 서버로도 실행할 수 있어요.

서버는 기본적으로 OpenAI 호환 HTTP 서버를 띄우는데, --grpc 플래그를 주면 gRPC 서버로 실행해요.

출처: vLLM vllm serve 문서

기본 실행

vllm serve meta-llama/Llama-3.1-8B-Instruct

기본으로 http://localhost:8000/v1에 OpenAI 호환 API가 뜨고, /v1/chat/completions/v1/completions로 요청할 수 있어요.

주요 인자

서버 동작

  • --headless — 헤드리스 모드로 실행. 멀티노드 데이터 병렬 관련. 기본 False
  • --api-server-count, -asc — 실행할 API 서버 프로세스 수. 미지정 시 data_parallel_size
  • --config — YAML 설정 파일에서 CLI 옵션 읽기
  • --grpc — HTTP OpenAI 호환 서버 대신 gRPC 서버. pip install vllm[grpc] 필요. 기본 False
  • --disable-log-stats — 통계 로깅 비활성화. 기본 False
  • --shutdown-timeout — 종료 타임아웃(초). 0=중단, >0=대기. 기본 0
  • --enable-log-requests, --no-enable-log-requests — 요청 정보 로깅. INFO: 요청 ID·파라미터·LoRA. DEBUG: 프롬프트 입력. 최소 로그 레벨은 VLLM_LOGGING_LEVEL로 설정. 기본 False

프론트엔드 (OpenAI 호환 서버)

  • --lora-modules — LoRA 모듈 로드
  • --chat-template — 채팅 템플릿 지정
  • --chat-template-content-formatauto, openai, string 중 선택. 기본 auto
  • --response-role — 응답 역할. 기본 assistant
  • --enable-auto-tool-choice, --no-enable-auto-tool-choice — 도구 선택 자동 활성화. 기본 False
  • --tool-call-parser — 도구 호출 파서
  • --tool-parser-plugin — 도구 파서 플러그인. 기본 ""
  • --enable-prompt-tokens-details, --no-enable-prompt-tokens-details — 프롬프트 토큰 상세 정보 활성화. 기본 False
  • --max-log-len — 최대 로그 길이

JSON CLI 인자

JSON 인자를 전달할 때 다음 두 형태는 동일해요.

  • --json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'
  • --json-arg.key1 value1 --json-arg.key2.key3 value2

리스트 요소는 +로 개별 전달할 수 있어요.

  • --json-arg '{"key4": ["value3", "value4", "value5"]}'
  • --json-arg.key4+ value3 --json-arg.key4+='value4,value5'

더 알아보기