casys-kaist/LLMServingSim
LLMServingSim 2.0: A Unified Simulator for Heterogeneous and Disaggregated LLM Serving Infrastructure
무엇을 해결하는가
LLMServingSim은 대규모의 비싸고 물리적인 하드웨어 클러스터가 필요하지 않은 상태에서 LLM 서빙 인프라를 테스트하고 최적화하는 데 따르는 어려움을 해결합니다. 연구자들이 다양한 하드웨어 구성, 메모리 계층, 그리고 병렬화 전략이 대규모 LLM 추론 성능에 어떤 영향을 미치는지 시뮬레이션할 수 있게 해줍니다.
작동 방식
이 프로젝트는 세 가지 주요 구성 요소를 결합한 사이클 레벨(cycle-level) 시뮬레이션 방식을 사용합니다:
- Python Frontend: vLLM에서 사용되는 continuous-batching 스케줄러를 모방합니다.
- C++ Backend: 분석적 네트워크 시뮬레이션을 위해 ASTRA-Sim을 사용합니다.
- Layerwise Profiler: 시뮬레이션 정확도를 보장하기 위해 vLLM에서 캡처한 실제 하드웨어별 지연 시간 데이터를 시스템에 공급합니다.
대상 사용자
이 도구는 LLM 인프라를 연구하는 연구자와 엔지니어를 위해 설계되었으며, 특히 이기종 가속기, 분리형 메모리(CXL 또는 PIM과 같은), 그리고 대규모 병렬화 기술에 집중하는 이들을 대상으로 합니다.
주요 특징
- 광범위한 병렬화 지원: Tensor Parallelism (TP), Pipeline Parallelism (PP), Expert Parallelism (EP), 그리고 Data Parallelism (DP)을 다양한 조합으로 시뮬레이션합니다.
- 하드웨어 유연성: 이기종 가속기 및 분리형 메모리 계층(CPU, CXL, PIM)을 지원합니다.
- 높은 정확도: RTX 4090과 같은 하드웨어에 대한 프로파일링 결과, 지연 시간 및 TTFT/TPOT 측면에서 실제 vLLM 실행 결과와 1% 이내의 오차를 보여줍니다.
- 효율적인 성능: 최근 업데이트를 통해 결과의 바이트 단위 일치성을 유지하면서 시뮬레이션 속도를 약 11배 향상시켰습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트