vllm-project/vllm-metal

Community maintained hardware plugin for vLLM on Apple Silicon

vLLM Metal – Apple Silicon GPU에서 vLLM 실행하기

개요

  • 인기 있는 LLM 서빙 시스템인 vLLM이 MLX를 컴퓨트 백엔드로, Metal 기반 어텐션 커널을 사용하여 Apple Silicon Mac(M 시리즈 칩)에서 모델을 실행할 수 있게 해주는 플러그인입니다.
  • PyTorch 중심의 vLLM 코드베이스와 Apple의 GPU 스택 간의 격차를 해소하며, 두 프레임워크 모두를 위한 단일 하위 변환 경로를 제공합니다.

핵심 구성 요소

  • 업스트림 vLLM – API 서버, 요청 스케줄러, 페이지 블록 메모리 관리자를 제공합니다.
  • mlx_lm – MLX/Metal에서 실행되는 토큰 단위 모델 레이어를 제공합니다.
  • vllm-metal – 요청 인식 어텐션 경로를 구현하며, 다음을 포함합니다:
    • 페이징 가변 길이 커널(기본 어텐션 백엔드).
    • 빠른 멀티 헤드 어텐션(MHA), GQA, MQA 프리필을 위한 M5 NAX 텐서 유닛.
    • 추측 디코딩 지원.

최근 주요 업데이트

  • v0.2.0 (2026년 4월): 통합된 페이징 가변 길이 커널로 v0.1.0 대비 첫 토큰 지연 시간이 약 83배 단축되고 처리량이 약 3.6배 향상되었습니다.
  • M5 NAX 가속 (2026년 8월): 어텐션 프리필 속도를 높입니다.
  • Qwen-3.8-27B는 mlx-community/Qwen3.8-27B-8bit 모델을 통해 Metal에서 실행되어, 단일 Mac에 270억 파라미터 하이브리드 SDPA + GDN 선형 모델을 적합시킵니다.

지원 환경

  • macOS 15(Sequoia) 이상, Apple Silicon(M 시리즈). Intel Mac 또는 다른 운영 체제는 지원하지 않습니다.

지원 모델

  • 증가하는 LLM 목록은 docs/supported_models.md에 문서화되어 있습니다. README는 Metal에서 검증된 모델을 보여주는 매트릭스를 안내합니다.

설치

  • 안정 버전(Homebrew)
    brew tap vllm-project/vllm-metal https://github.com/vllm-project/vllm-metal
    brew install vllm-project/vllm-metal/vllm-metal
    
    설치 후 vllm 명령이 바로 작동하며 가상 환경이 필요하지 않습니다.
  • 개발 빌드(curl 설치 프로그램)
    curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm-metal/main/install.sh | bash
    source ~/.venv-vllm-metal/bin/activate
    
    이 방법은 최신 코드를 가져와 격리된 Python 환경을 생성합니다.
  • 기여 – Python 코드 또는 Metal 커널을 수정하려는 개발자를 위해 저장소는 개발 환경 설정 가이드가 포함된 CONTRIBUTING.md를 제공합니다.

사용 방법

  1. 위와 같이 설치합니다.
  2. 표준 vllm 명령을 실행합니다(예: vllm serve --model <model-id>). 플러그인은 지원되는 Mac에서 Metal 백엔드를 자동으로 선택합니다.
  3. 자세한 사용법, 구성 옵션 및 사용 가능한 GPU 메모리에 따른 성능 튜닝 레시피는 문서 링크를 참조하세요.

더 알아보기

요약 vLLM Metal은 친숙한 vLLM API와 스케줄링 로직을 재사용하면서 Metal 최적화 커널을 통해 상당한 속도 향상을 제공하여 Apple Silicon에서 대규모 언어 모델을 로컬로 서빙하는 것을 실용적으로 만듭니다.

관련

  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트