ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RTX 5090 환경에서 vLLM 설치
    카테고리 없음 2025. 12. 1. 15:24

     

    RTX 5090은 엔비디아 Blackwell아키텍쳐를 기반으로 sm_120(스트리밍 멀티프로세서 120)버전을 활용합니다. 엔비디아 CUDA 프로그래밍에서 sm_xxx는 해당 GPU가 지원하는 명령어 세트와 하드웨어 기능을 정의하는 컴퓨트 능력을 나타냅니다. sm_120은 최신 아키텍처이며, 높은 컴퓨트 성능의 AI 및 고성능 컴퓨팅 워크로드를 위한 새로운 기능을 포함하지만 역시나 아직 지원이 원활하지 않습니다. 현재는 대다수의 PyTorch, vLLM, FlashAttention 패키지가 빌드되는 시점보다 새로운 아키텍처기에 pre-built패키지를 사용하는 대신 소스에서 빌드해야 하며 설정을 해야하는 과정이 필요합니다.

     

     

    먼저 가상환경을 만들고 활성화합니다. 요즘에 UV도 많이들 쓰시던데..

    python -m venv vllm_env

    source vllm_env/bin/activate

     

    PyTorch nightly (cu128) 설치
    pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cu128

     

    https://download.pytorch.org/whl/nightly/cu128

     

    download.pytorch.org

     

     

    vLLM 레포 복제와 소스 빌드

    git clone https://github.com/vllm-project/vllm.git

     

    GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs

    A high-throughput and memory-efficient inference and serving engine for LLMs - vllm-project/vllm

    github.com

     

    복제 후 아래 명령을 꼭 실행하는 것이 정신건강에 좋습니다! vLLM을 소스에서 빌드할 때, 현재 설치된 PyTorch 버전을 정확히 읽어와서 그 환경에 맞게 컴파일하게 하는 설정입니다.

    python use_existing_torch.py

     

     

    requirements/build.txt 안에 설치에 관련된 빌드요소들이 설치됩니다.

    pip install -r requirements/build.txt

     

     

    FlashAttn v3는 블랙웰을 위해 만들어진 것이 아니라서 vLLM 내부에서 CUDA kernel 컴파일할 때, FlashAttention v2의 헤더 및 구현을 포함하도록 설정합니다.

    export VLLM_FLASH_ATTN_VERSION=2

     

     

    PyTorch에서 사용하는 GPU 아키텍처(Compute Capability)를 블랙웨로 지정합니다.

    export TORCH_CUDA_ARCH_LIST="12.0"

     

     

    빌드는 리소스를 엄청 먹으면서 시간도 꽤 걸려서 병렬 스레드 값을 적절히 설정해야합니다.

    MAX_JOBS=6 pip install --no-build-isolation -e .

     

    추천은 6이고 CPU코어와 메모리가 충분하다면 12에서 24로 올려보세요. 

     

     

     

    댓글

Designed by Tistory.