vLLM, 더 넓은 GPU 지원 위해 하드웨어 독립적 계층 추가
vLLM의 하드웨어에 구애받지 않는 모델 | 파이토치 한국 사용자 모임
핵심 내용
vLLM이 H100에서 네이티브 대비 3.4% 이내 성능을 유지하며 다양한 가속기를 지원하는 하드웨어 독립적 계층을 도입했다.
자세히 보기
vLLM이 torch.compile과 호환되는 하드웨어 독립적(HW agnostic) 계층을 도입해 다양한 가속기 지원 문제를 해결한다. 이번 변경은 NVIDIA Blackwell 등 최신 하드웨어의 성능 최적화를 유지하면서, out-of-tree(OOT) 가속기, 구형 GPU, 특수 모델 아키텍처를 지원하기 위한 조치다.
성능과 이식성의 충돌
최근 vLLM은 특정 하드웨어에서 최고 성능을 내기 위해 torch.compile을 우회하는 'flat' 모델 정의를 채택했다. 이는 NVIDIA GPU에는 효과적이지만, torch.compile에 의존하는 OOT 플러그인(예: IBM Spyre, Huawei Ascend)이나 구형 소비자용 GPU와의 호환성을 깨뜨렸다. 결과적으로 새로운 모델을 지원할 때마다 하드웨어 백엔드별로 별도 구현이 필요해 유지보수 부담이 커졌다.
해결책: HW 독립적 계층
새로운 아키텍처는 다음 네 가지 설계 원칙을 따른다:
- 컴파일 가능: 모델 정의가 전체 그래프
torch.compile과 호환된다. - 확장 가능: OOT 플러그인 오버라이드를 위해
CustomOp및PluggableLayer메커니즘을 유지한다. - 격리: 하드웨어 전용 경로와 일반 모델 로직을 분리해 독립적인 개발을 허용한다.
- 이식성: 네이티브 PyTorch나 이식 가능한 DSL(Triton, Helion)로 계층을 구현한다.
성능 및 구현 현황
NVIDIA H100 GPU에서 HW 독립적 계층의 총 토큰 처리량은 네이티브 구현 대비 3.4% 이내(최근 3개 모델 기하 평균)를 기록한다. 일부 경우 효율적인 이식 구현 덕분에 네이티브 모델보다 약간 더 높은 성능을 보이기도 한다.
- 현재 상태: 제한된 계층이 메인 브랜치에 병합됨(PR #49458).
- 활성화: transformers 백엔드 사용 시
USE_HW_AGNOSTIC=1환경 변수로 기능을 켤 수 있다. - 검증: IBM Spyre OOT 플러그인에서 Gemma 4, Qwen3, Granite 4.2로 테스트 완료.
- 향후 계획: CI 통합이 진행 중이며, Spyre의 기본 서빙 경로로 전환하고 모든 flat 모델에 HW 독립적
model.py파일을 제공할 예정이다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.