vllm-project/guidellm
Evaluate and Enhance Your LLM Deployments for Real-World Inference Needs
GuideLLM – LLM 추론을 위한 SLO 인식 벤치마킹
개요 – GuideLLM은 실제 프로덕션 워크로드에서 대규모 언어 모델이 어떻게 동작하는지 평가할 수 있는 Python 기반 플랫폼입니다. OpenAI 호환 엔드포인트(vLLM 서버 포함)와 통신하고, 구성 가능한 트래픽 패턴을 생성하며, 상세한 지연 시간 및 토큰 수준 메트릭을 기록하여 배포가 서비스 수준 목표(SLO)를 충족하는지 확인할 수 있습니다.
사용 이유
- SLO 중심 메트릭 – 첫 토큰 지연 시간, 토큰 간 지연 시간, 종단 간 지연 시간 분포, 토큰 처리량을 캡처합니다.
- 현실적인 트래픽 생성 – 동기, 동시, 고정 비율, 푸아송, 스윕 프로파일을 지원하며, 워밍업/쿨다운 처리를 포함합니다.
- 유연한 데이터 소스 – 합성 텍스트, 합성 이미지/비디오, HuggingFace 데이터셋, 로컬 JSON/CSV/텍스트 파일 또는 사용자 지정 로더.
- 멀티모달 지원 – 비전 입력을 합성하여 VLM 서비스를 벤치마킹할 수 있습니다.
- 표준화된 출력 – 대시보드 또는 회귀 추적을 위한 JSON, CSV, HTML, 플롯 파일.
- 확장 가능한 CLI/API – 스크립팅이나 CI 파이프라인에 쉽게 통합 가능. Kubernetes/Openshift용 컨테이너 이미지도 제공.
빠른 시작
# 설치 (Python 3.10‑3.13)
pip install guidellm[recommended]
# vLLM 서버 시작 (예제 모델)
vllm serve "neuralmagic/Meta-Llama-3.1-8B-Instruct-quantized.w4a16"
# 스윕 벤치마크 실행 (최대 30초)
guidellm run \
--backend kind=openai_http,target=http://localhost:8000 \
--profile kind=sweep \
--constraint kind=max_duration,seconds=30 \
--data kind=synthetic_text,prompt_tokens=256,output_tokens=128
이 명령은 진행 상황을 출력한 후 benchmarks.json/benchmarks.csv(또는 요청 시 HTML/플롯)를 결과 디렉토리에 작성합니다.
일반적인 워크플로우
| 목표 | 예제 명령 스니펫 |
|---|---|
| 속도 제한 부하 테스트 | --profile kind=constant,rate=10 --constraint kind=max_duration,seconds=20 |
| 데이터셋 기반 평가 | --data kind=huggingface,source=abisee/cnn_dailymail,load_kwargs.name=3.0.0 --data‑column‑mapper kind=generative_column_mapper,column_mappings.text_column=article |
| 채팅 완성 벤치마크 | --backend kind=openai_http,target=http://localhost:8000,request_format=/v1/chat/completions --data kind=json_file,path=data.json |
| 멀티모달 VLM 테스트 | --data kind=synthetic_image,... --data kind=synthetic_text,... |
| 시나리오 재사용 | guidellm run --config chat --backend kind=openai_http,target=http://localhost:8000 |
설치 옵션
- PyPI –
pip install guidellm[recommended] - 소스에서 –
pip install git+https://github.com/vllm-project/guidellm.git - 컨테이너 –
ghcr.io/vllm-project/guidellm:<태그>(멀티 아키텍처, Docker/Podman/K8s 지원)
프로젝트 확장
리포지토리에는 DEVELOPING.md, CONTRIBUTING.md, 행동 강령이 포함되어 있습니다. 개발자는 문서화된 플러그인 아키텍처를 따라 새로운 백엔드, 요청 형식 또는 데이터 로더를 추가할 수 있습니다.
라이선스 및 인용
- Apache 2.0
- 연구에서 GuideLLM을 사용하는 경우 제공된 BibTeX 항목으로 인용하세요.
GuideLLM은 SLO 인식 성능 데이터가 필요한 엔지니어와 ML 팀을 위한, 실제 제품 지향적인 LLM 추론 벤치마킹 스위트입니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트