Repolode
microsoft

microsoft/vidur

Simulador de alta fidelidade para sistemas de inferência de LLMs, que ajuda a estudar o desempenho, planejar implantações e testar estratégias de escalonamento sem GPUs.

Estrelas
720
Forks
142
Issues abertas
24
Último commit
há 2 meses

O que é?

O Vidur simula como modelos de linguagem grandes atendem a requisições em clusters de GPUs. Ele modela métricas como o tempo até o primeiro token (TTFT), o tempo por token de saída (TPOT), a latência total das requisições e o tamanho do batch, considerando a carga de trabalho, o modelo e a configuração de hardware escolhidos. O simulador requer uma breve etapa inicial de profiling em GPUs reais; depois dela, os experimentos são executados sem acesso a GPUs.

Os principais usos são estudar o comportamento dos modelos sob diferentes padrões de tráfego, encontrar a implantação mais econômica (por exemplo, a configuração de paralelismo de tensores e de pipeline para um SLO específico) e criar protótipos de novos algoritmos de escalonamento ou otimizações, como speculative decoding. Entre os modelos compatíveis estão Llama-2, Llama-3, CodeLlama, InternLM e Qwen, em configurações de nós com A100, H100 e A40. As cargas de trabalho podem vir de geradores sintéticos ou de traces de inferência de LLM do Azure, e os resultados são registrados no wandb ou em arquivos locais, com exportação de traces do Chrome.

Recursos principais

  • 01Estima TTFT, TPOT, latência total e tamanho do batch para cargas de trabalho de serving de LLMs.
  • 02Funciona sem GPUs após uma etapa inicial de profiling no hardware de destino.
  • 03Oferece suporte a combinações de paralelismo de tensores e de pipeline em vários tipos de nós com GPUs.
  • 04Aceita geradores sintéticos de requisições e traces de inferência de LLM do Azure.
  • 05Exporta traces do Chrome e registra métricas no wandb ou em diretórios de saída locais.
  • 06Pode ser estendido para testar novos escalonadores e otimizações.

Casos de uso

  • Planejar a capacidade para encontrar a implantação mais barata que atenda às metas de latência.
  • Comparar políticas de escalonamento usando o mesmo trace de tráfego.
  • Pesquisar speculative decoding ou outras otimizações de serving antes de implementá-las em GPUs reais.
  • Estudar como o tamanho do modelo e as configurações de paralelismo afetam o desempenho do serving.

Início rápido

  1. 1

    Crie um venv com Python 3.10

    python3.10 -m venv .venv
  2. 2

    Ative o ambiente virtual

    source .venv/bin/activate
  3. 3

    Instale as dependências

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

    Execute o simulador a partir da raiz do repositório

    python -m vidur.main

Antes de usar

  • É necessário usar Python 3.10 e realizar uma etapa inicial de criação de perfil da GPU para modelos ou SKUs novos.
  • Os modelos e o hardware compatíveis se limitam às configurações listadas.
  • Alguns recursos, como o cache de prefixos, estão disponíveis apenas na branch canary.

Em coleções

Tópicos

Perguntas frequentes

O que é vidur?
Simulador de alta fidelidade para sistemas de inferência de LLMs, que ajuda a estudar o desempenho, planejar implantações e testar estratégias de escalonamento sem GPUs. O Vidur simula como modelos de linguagem grandes atendem a requisições em clusters de GPUs. Ele modela métricas como o tempo até o primeiro token (TTFT), o tempo por token de saída (TPOT), a latência total das requisições e o tamanho do batch, considerando a carga de trabalho, o modelo e a configuração de hardware escolhidos. O simulador requer uma breve etapa inicial de profiling em GPUs reais; depois dela, os experimentos são executados sem acesso a GPUs.
vidur é gratuito? Qual é a licença?
vidur é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
vidur ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de vidur foi em 24 de ago. de 2026.
Para que posso usar vidur?
Planejar a capacidade para encontrar a implantação mais barata que atenda às metas de latência. Comparar políticas de escalonamento usando o mesmo trace de tráfego. Pesquisar speculative decoding ou outras otimizações de serving antes de implementá-las em GPUs reais. Estudar como o tamanho do modelo e as configurações de paralelismo afetam o desempenho do serving.
Como instalar vidur?
Crie um venv com Python 3.10: python3.10 -m venv .venv Ative o ambiente virtual: source .venv/bin/activate Instale as dependências: python -m pip install -r requirements.txt Execute o simulador a partir da raiz do repositório: python -m vidur.main
Onde consigo vidur?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/vidur

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados