Uma camada de gerenciamento de cache KV que armazena, compartilha e reutiliza caches de atenção de LLMs entre mecanismos de serving para reduzir o time-to-first-token.
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
Crie um venv com Python 3.10
python3.10 -m venv .venv - 2
Ative o ambiente virtual
source .venv/bin/activate - 3
Instale as dependências
python -m pip install -r requirements.txt - 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
Template de worker Serverless do Runpod que implanta endpoints de LLM compatíveis com a OpenAI, usando o mecanismo de inferência vLLM.
Gerenciador open source de clusters de GPU que implanta modelos de IA com vLLM, SGLang e TensorRT-LLM e oferece instâncias de GPU por SSH sob demanda.
Implementação oficial do FlashAttention, um kernel de atenção exata e eficiente em memória para treinar e executar inferência de modelos Transformer em GPUs.
Uma camada de decisão aberta e programável que seleciona ou combina LLMs para cada solicitação, em backends locais, privados e na nuvem, usando um único endpoint de API.
Biblioteca Python para compactar LLMs com quantização e poda, gerando checkpoints que podem ser carregados diretamente no vLLM para inferência.