vLLM 가속¶
개발 중
이 기능은 현재 활발히 개발 중입니다. 정식 릴리즈 버전에는 포함되지 않았거나 기능이 제한적일 수 있습니다.
vLLM은 높은 처리량(High-throughput)과 메모리 효율성을 자랑하는 LLM 서빙 엔진입니다. llama.cpp가 광범위한 호환성과 저사양 환경에 초점을 맞춘다면, vLLM은 고사양 GPU에서의 프로덕션급 성능을 위해 설계되었습니다.
vLLM이란 무엇인가요?¶
-
핵심 혁신: PagedAttention.
전통적인 어텐션(Attention) 알고리즘은 연속된 메모리 블록을 필요로 하며, 이는 상당한 메모리 파편화와 낭비(최대 60-80%)를 초래합니다. vLLM은 운영체제의 가상 메모리 페이징에서 영감을 받은 PagedAttention 알고리즘을 도입했습니다. 이를 통해 KV 캐시 블록을 비연속적인 메모리 공간에 저장할 수 있게 되었습니다.
주요 이점¶
-
더 높은 처리량: 표준 Hugging Face Transformers보다 훨씬 더 많은 동시 요청을 처리할 수 있습니다.
-
메모리 효율성: GPU VRAM 낭비가 거의 제로에 가까워, 더 큰 배치 크기(Batch size)나 더 긴 컨텍스트 윈도우를 사용할 수 있습니다.
-
최신 기술 선도: 연속 배칭(Continuous batching)이나 AWQ, GPTQ, SqueezeLLM 같은 최신 양자화 기술을 가장 먼저 지원하곤 합니다.
Backend.AI GO에서의 역할¶
Backend.AI GO에서 vLLM은 주로 NVIDIA GPU를 사용하는 사용자(Linux 또는 Windows WSL 환경)를 위한 "프로(Pro)" 엔진 역할을 합니다.
참고: Backend.AI GO의 vLLM 지원은 현재 베타(Beta) 상태입니다.
언제 vLLM을 사용해야 하나요?¶
다음과 같은 경우 vLLM 백엔드로 전환을 고려해보세요:
-
강력한 NVIDIA GPU 보유: RTX 5090 (32GB), 전문가용 RTX Pro 6000 (96GB), 또는 DGX Spark (GB10, 128GB) 개인용 AI 워크스테이션에서 vLLM은 최고의 성능을 발휘합니다.
-
동시성(Concurrency)이 중요할 때: Backend.AI GO를 여러 사용자나 여러 에이전트를 위한 서버로 활용하고 있을 때.
-
지연 시간보다 처리량이 중요할 때: 엄청난 양의 텍스트를 처리해야 해서(예: 수백 개의 문서 요약), "첫 토큰 생성 시간"보다 "전체 완료 시간"이 더 중요할 때.
설정 방법¶
Backend.AI GO에서 vLLM을 사용하려면:
-
설정(Settings) > 추론(Inference)으로 이동합니다.
-
CUDA의 기본 백엔드를
llama.cpp에서vLLM으로 변경합니다. -
적절한 NVIDIA 드라이버와 CUDA 툴킷(보통 11.8 버전 이상)이 설치되어 있는지 확인합니다.
지원 모델 형식¶
.gguf를 사용하는 llama.cpp와 달리, vLLM은 다음 형식들을 직접 지원합니다:
-
Hugging Face 표준 형식: 일반적인
.safetensors또는.bin가중치 파일. -
AWQ / GPTQ: 더 빠른 추론을 위해 사전 양자화된 모델들.
vLLM은 데이터센터급 추론 성능을 여러분의 고성능 워크스테이션으로 가져옵니다.