Repolode
microsoft

microsoft/vidur

GPU 없이도 LLM 추론 시스템의 성능을 연구하고, 배포를 계획하고, 스케줄링 아이디어를 시험할 수 있는 고정밀 시뮬레이터입니다.

스타
720
포크
142
열린 이슈
24
마지막 커밋
2개월 전

어떤 프로젝트인가요?

Vidur는 GPU 클러스터에서 대규모 언어 모델이 요청을 처리하는 방식을 시뮬레이션합니다. 선택한 워크로드, 모델, 하드웨어 구성에 따라 첫 토큰 생성 시간(TTFT), 출력 토큰당 시간(TPOT), 요청의 종단 간 지연 시간, 배치 크기 등의 지표를 모델링합니다. 실제 GPU에서 짧은 초기 프로파일링을 수행한 뒤에는 GPU에 접근하지 않고도 실험을 진행할 수 있습니다.

주요 용도는 다양한 트래픽 패턴에서 모델의 동작을 살펴보고, 가장 비용 효율적인 배포 구성을 찾고(예: 특정 SLO를 충족하는 텐서 및 파이프라인 병렬 처리 설정), speculative decoding과 같은 새로운 스케줄링 알고리즘이나 최적화를 프로토타이핑하는 것입니다. A100, H100, A40 노드 구성에서 Llama-2, Llama-3, CodeLlama, InternLM, Qwen을 지원합니다. 워크로드는 합성 생성기나 Azure LLM 추론 트레이스를 사용할 수 있으며, 결과는 wandb 또는 로컬 파일에 기록하고 Chrome trace로 내보낼 수 있습니다.

핵심 기능

  • 01LLM 서빙 워크로드의 TTFT, TPOT, 종단 간 지연 시간, 배치 크기를 추정합니다.
  • 02대상 하드웨어에서 초기 프로파일링을 마친 뒤에는 GPU 없이 실행됩니다.
  • 03여러 GPU 노드 유형에서 텐서 병렬 처리와 파이프라인 병렬 처리 조합을 지원합니다.
  • 04합성 요청 생성기와 Azure LLM 추론 트레이스를 입력으로 사용할 수 있습니다.
  • 05Chrome trace를 내보내고 wandb 또는 로컬 출력 디렉터리에 지표를 기록합니다.
  • 06새로운 스케줄러와 최적화를 시험할 수 있도록 확장 가능합니다.

활용 사례

  • 지연 시간 목표를 충족하는 가장 저렴한 배포 구성을 찾기 위한 용량 계획.
  • 동일한 트래픽 트레이스에서 스케줄링 정책 비교.
  • 실제 GPU에 구현하기 전에 speculative decoding이나 다른 서빙 최적화를 연구.
  • 모델 크기와 병렬 처리 설정이 서빙 성능에 미치는 영향 분석.

빠른 시작

  1. 1

    Python 3.10으로 venv를 만듭니다

    python3.10 -m venv .venv
  2. 2

    가상 환경을 활성화합니다

    source .venv/bin/activate
  3. 3

    종속성을 설치합니다

    python -m pip install -r requirements.txt
  4. 4

    저장소 루트에서 시뮬레이터를 실행합니다

    python -m vidur.main

사용 전 알아둘 점

  • Python 3.10이 필요하며, 새 모델이나 SKU는 처음에 GPU 프로파일링을 수행해야 합니다.
  • 지원되는 모델과 하드웨어는 명시된 구성으로 제한됩니다.
  • 프리픽스 캐싱과 같은 일부 기능은 canary 브랜치에서만 사용할 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

vidur은(는) 무엇인가요?
GPU 없이도 LLM 추론 시스템의 성능을 연구하고, 배포를 계획하고, 스케줄링 아이디어를 시험할 수 있는 고정밀 시뮬레이터입니다. Vidur는 GPU 클러스터에서 대규모 언어 모델이 요청을 처리하는 방식을 시뮬레이션합니다. 선택한 워크로드, 모델, 하드웨어 구성에 따라 첫 토큰 생성 시간(TTFT), 출력 토큰당 시간(TPOT), 요청의 종단 간 지연 시간, 배치 크기 등의 지표를 모델링합니다. 실제 GPU에서 짧은 초기 프로파일링을 수행한 뒤에는 GPU에 접근하지 않고도 실험을 진행할 수 있습니다.
vidur은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
vidur은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
vidur은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. vidur의 마지막 커밋은 2026년 8월 24일입니다.
vidur은(는) 어디에 사용할 수 있나요?
지연 시간 목표를 충족하는 가장 저렴한 배포 구성을 찾기 위한 용량 계획. 동일한 트래픽 트레이스에서 스케줄링 정책 비교. 실제 GPU에 구현하기 전에 speculative decoding이나 다른 서빙 최적화를 연구. 모델 크기와 병렬 처리 설정이 서빙 성능에 미치는 영향 분석.
vidur는 어떻게 설치하나요?
Python 3.10으로 venv를 만듭니다: python3.10 -m venv .venv 가상 환경을 활성화합니다: source .venv/bin/activate 종속성을 설치합니다: python -m pip install -r requirements.txt 저장소 루트에서 시뮬레이터를 실행합니다: python -m vidur.main
vidur은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/vidur

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트