vLLM을 사용한 예시 모델 배포
vLLM을 사용하여 GPT OSS 120B 모델을 배포하는 방법을 GPU 선택부터 프로덕션 모니터링까지 설명합니다.
GPT OSS 120B는 vLLM과 함께 배포하기 위한 예시 모델로, GPU 선택부터 프로덕션 모니터링까지 다룹니다. GPU 선택 # GPT OSS 120B는 NVIDIA H100에서 학습되었으며 H100 또는 이후 세대의 데이터센터 GPU에서 가장 잘 실행됩니다. 혼합 전문가(MoE) 아키텍처는 각 토큰에 대해 네트워크의 일부만 활성화하므로, 모델이 단일 H100 80 GB GPU에 적합합니다. 병렬화 전략 결정 # GPU의 연결 방식에 따라 다음 병렬화 전략이 결정됩니다: GPU가 NVLink(수백 GB/s)를 통해 연결되어 있다면, 단일 노드에서 텐서 병렬화를 사용하세요. 텐서 병렬화는 각 레이어를 GPU에 분산하며 높은 대역폭이 필요합니다. GPU의 대역폭이 낮고 PCIe(약 64 GB/s)를 통해 작동한다면, 파이프라인 병렬화를 사용하세요. 파이프라인 병렬화는 레이어를 GPU에 순차적으로 분산합니다. 텐서 병렬화의 최대 한계에 도달했지만 더 많은 모델 분산이 필요한 경우, 두 가지 병렬화 전략을 결합할 수 있습니다. 예를 들어, 노드 내에서 텐서 병렬화를, 노드 간에 파이프라인 병렬화를 사용할 수 있습니다. VRAM 요구사항 계획 # 필요한 VRAM은 컨텍스트 길이와 예상 동시 접속 수에 따라 달라집니다. vLLM은 다음 용도로 VRAM을 할당합니다: 카테고리 크기 비고 모델 가중치 약 61 GB 고정 프레임워크 오버헤드 약 2 GB 고정 KV 캐시 나머지 동시 접속 수 및 컨텍스트 길이에 따라 확장 KV 캐시는 각 요청에서 처리된 토큰에 대한 사전 계산된 벡터의 저장소입니다. 각 토큰은 한 번만 계산되며, 모든 변동성이 여기에 존재합니다. 예시: 단일 H100 80 GB # --gpu-memory-utilization 0.95 를 사용하면 76 GB의 사용 가능한 VRAM을 얻을 수 있습니다: 76 GB usable ├── 61 GB model weights ← fixed ├── 2 GB framework overhead ← fixed └── 13 GB KV cache ← fills as requests arrive 캐시된 토큰당 약 36 KB를 기준으로, 13 GB는 전체 어텐션 레이어에서 약 370K 토큰의 컨텍스트를 저장할 수 있습니다. 각 에이전틱 요청이 약 32K 토큰을 사용한다면 약 10개의 동시 요청 을 처리할 수 있습니다. vLLM을 시작하면 로그에서 정확한 수치를 확인할 수 있습니다: Available KV cache memory: N GiB GPU KV cache size: Y tokens Maximum concurrency for Y tokens per request: Nx 설치 # 환경에 맞는 옵션을 선택하세요: 설치 스크립트: CUDA 또는 GPU 드라이버가 설치되지 않은 새 Ubuntu 또는 Debian 머신. vLLM만 설치: CUDA와 드라이버가 이미 설치된 경우(GCP의 NVIDIA Deep Learning VM, AWS Deep Learning AMI, 또는 기존 GPU 머신). Docker: