엔진 인자

엔진 인자 (Engine Arguments)

엔진 인자는 vLLM 엔진의 동작을 제어합니다. 오프라인 추론에서는 LLM 클래스의 인자로, 온라인 서빙에서는 vllm serve의 인자로 전달됩니다.

출처: 문서

본문

엔진 인자 클래스(EngineArgs, AsyncEngineArgs)는 vllm.config에 정의된 구성 클래스들을 조합한 것입니다. 따라서 개발자 문서가 필요하다면 이 구성 클래스들을 보는 것을 권장합니다. 타입·기본값·docstring의 진실의 원천(source of truth)이 바로 이 클래스들이기 때문입니다.

JSON CLI 인자를 넘길 때, 아래 두 방식은 서로 동등합니다.

--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'

EngineArgs 인자 그룹

vllm serveLLM(...)에서 쓰는 인자는 크게 여러 그룹으로 나뉩니다.

그룹 설명
ModelConfig 모델 및 모델 실행기(runner) 설정
CacheConfig KV 캐시 관련 설정
ParallelConfig 텐서/파이프라인/데이터 병렬화 등
SchedulerConfig 스케줄링(max_num_seqs, max_num_batched_tokens 등)
DeviceConfig 실행 디바이스 설정
LoRAConfig LoRA 어댑터 설정
PromptConfig 프롬프트 관련 설정
EngineConfig 엔진 전반 구성

ModelConfig 핵심 인자

인자 기본값 설명
--model Qwen/Qwen3-0.6B 사용할 Hugging Face 모델의 이름 또는 경로
--runner auto 사용할 모델 러너 종류(auto, draft, generate, pooling). vLLM 인스턴스 하나는 러너 하나만 지원
--convert auto 어댑터로 모델 변환(auto, classify, embed, none, reward)
--task None [DEPRECATED] 모델에 사용할 태스크(generate, embed, reward 등)
--tokenizer None 기본 토크나이저 대신 쓸 토크나이저 이름/경로
--hf-overrides None config.json 오버라이드(예: 아키텍처 지정)

사용 예시:

vllm serve meta-llama/Llama-3.1-8B-Instruct \
    --tensor-parallel-size 2 \
    --max-model-len 8192 \
    --max-num-seqs 128 \
    --gpu-memory-utilization 0.9

전체 인자(수백 개)는 vllm serve --help 또는 LLM 클래스 docstring에서 확인할 수 있습니다.

더 알아보기 (Learn more)