최근 인공지능 모델의 성능이 비약적으로 발전하면서, 이를 효과적으로 운영하기 위한 인프라의 중요성이 더욱 부각되고 있습니다. 특히, NVIDIA의 DGX Spark와 같은 고성능 클러스터에서 모델을 효율적으로 배포하고 운영할 수 있는 방법이 필요합니다. 이럴 때 주목받는 것이 바로 spark-vllm-docker 프로젝트입니다. 이 프로젝트는 VLLM을 DGX Spark 클러스터에서 실행할 수 있도록 최적화된 Docker 환경을 제공합니다. 이제 이 프로젝트의 주요 기능과 설치, 사용법을 살펴보겠습니다.
프로젝트 개요
eugr/spark-vllm-docker는 VLLM을 멀티 노드 환경에서 실행하기 위한 Docker 설정 및 시작 스크립트를 제공합니다. 이 프로젝트는 InfiniBand/RDMA(NCCL)와 같은 고성능 환경 구성을 지원하여, 다수의 GPU를 가진 클러스터에서 인공지능 모델을 최적화된 성능으로 운영할 수 있도록 돕습니다. 또한, 단일 노드에서도 원활하게 작동하기 때문에, 다양한 사용 환경에 유연하게 대응할 수 있는 장점이 있습니다.
주요 기능
- 멀티 노드 지원: DGX Spark 클러스터에서 VLLM을 실행할 수 있도록 최적화되어 있습니다.
- 고성능 환경: InfiniBand/RDMA를 통한 빠른 데이터 전송을 지원합니다.
- 유연한 구성: 단일 노드 및 멀티 노드 환경 모두에서 사용할 수 있습니다.
- 쉬운 배포: Docker를 사용하여 간편하게 설정할 수 있습니다.
설치 및 빠른 시작 가이드
이제 spark-vllm-docker 프로젝트의 설치 및 기본 사용법을 살펴보겠습니다. 아래의 단계에 따라 진행해 주세요.
1. 리포지토리 클론
먼저, 프로젝트의 코드를 로컬로 클론합니다. DGX Spark 클러스터를 사용하는 경우, 헤드 노드에서 실행해야 합니다.
git clone https://github.com/eugr/spark-vllm-docker.git
cd spark-vllm-docker
2. Docker 이미지 빌드
단일 DGX Spark에서 실행하는 경우
단일 노드에서 작업하는 경우, 다음 명령어를 사용하여 Docker 이미지를 빌드하고 복사합니다.
./build-and-copy.sh
DGX Spark 클러스터에서 실행하는 경우
클러스터 내 노드들을 연결하고, 비밀번호 없는 SSH가 설정되어 있어야 합니다. 클러스터 내에서 이미지를 빌드하고 배포하려면, 다음 명령어를 실행합니다.
./build-and-copy.sh -c
이미지 빌드는 인터넷 속도에 따라 달라지지만, 기본 이미지를 다운로드한 후에는 2-3분 정도 소요됩니다. 소스에서 빌드하는 경우 20-40분이 소요될 수 있으며, 이후의 빌드는 더 빠르게 진행됩니다.
3. 컨테이너 실행
단일 노드에서 실행하기
단일 노드에서 VLLM을 실행하려면, 다음 명령어를 사용합니다.
./launch-cluster.sh --solo exec \
vllm serve \
QuantTrio/Qwen3-VL-30B-A3B-Instruct-AWQ \
--port 8000 --host 0.0.0.0 \
--gpu-memory-utilization 0.7 \
--load-format fastsafetensors
이 명령어는 VLLM 모델을 실행하며, 8000번 포트에서 서비스합니다.
클러스터에서 실행하기
클러스터 환경에서는 모델을 한 노드에서 다운로드한 후, Conn을 통해 전체 클러스터로 배포하는 것이 권장됩니다. 이 과정을 통해 복수의 노드에서 모델을 효율적으로 공유하고 실행할 수 있습니다.
실무에서의 활용 시나리오
이 프로젝트는 다양한 시나리오에서 활용될 수 있습니다. 예를 들어, 대규모 자연어 처리(NLP) 모델을 학습하고 배포하는 데 있어, 여러 DGX Spark 노드를 활용하면 학습 속도를 크게 향상시킬 수 있습니다. 또한, 다양한 파라미터를 조정하여 성능을 최적화하고, 이를 통해 더욱 향상된 모델을 만들 수 있습니다.
비슷한 도구와 비교
비슷한 도구로는 Hugging Face의 Transformers와 NVIDIA의 Triton Inference Server가 있지만, spark-vllm-docker는 특히 DGX Spark와의 통합에 최적화되어 있다는 점에서 차별화됩니다. Triton은 여러 모델의 동시 운용에 강점을 가지지만, VLLM은 특정 모델에 대한 성능 최적화에 중점을 둡니다.
추천 대상
eugr/spark-vllm-docker는 DGX Spark를 사용하는 연구자 및 개발자, 대규모 AI 모델을 효율적으로 운영하고자 하는 기업에 추천합니다. Docker 환경에서의 간편한 설정과 멀티 노드 지원 덕분에, 복잡한 인프라 설정 없이도 인공지능 모델을 쉽게 배포하고 관리할 수 있습니다.
이제 여러분도 spark-vllm-docker를 통해 VLLM을 DGX Spark에서 운영해보세요! 더 많은 정보는 GitHub 리포지토리에서 확인하실 수 있습니다.