Por que os cold starts em LLMs são um desafio operacional?
O uso de GPUs em nuvem é um dos investimentos mais onerosos na infraestrutura de IA moderna. Quando uma GPU está alocada, mas indisponível devido ao carregamento de um modelo (processo de "cold start"), o custo de oportunidade é imediato. Para times de engenharia e SRE, esse comportamento não é apenas um problema financeiro, mas um desafio crítico de estabilidade: durante picos de tráfego, o tempo gasto copiando arquivos de modelos de storage para discos locais pode estourar SLAs e degradar a experiência do usuário, tornando ineficazes as estratégias de auto-scaling.
Em arquiteturas convencionais, o fluxo de carregamento segue um padrão sequencial: download do storage para o disco local, seguido pelo carregamento do disco para a memória da GPU. Em nossos testes, modelos grandes (acima de 200 GiB) levavam entre 3 a 5 minutos apenas para estarem prontos, deixando a GPU ociosa durante todo o processo. O uso de Run:AI Model Streamer altera decisivamente esse fluxo, permitindo o streaming dos dados diretamente do Azure Blob Storage para a memória da GPU, ignorando o gargalo do disco local.
Como o streaming transforma a performance de carga?
A tabela abaixo ilustra a discrepância entre o método tradicional e a abordagem otimizada em uma VM Standard_ND96isr_H100_v5:

Como observado, em modelos massivos como o Qwen3.5-122B, o ganho chega a 6,1x. A vantagem técnica não é apenas a velocidade, mas a consistência: enquanto o carregador padrão oscila severamente devido a gargalos de I/O em disco, o streamer mantém uma taxa de transferência de rede estável (até 80 Gbps), ocupando o barramento de forma eficiente.
O impacto prático no Auto-scaling
Sistemas de autoscaling (como KEDA ou endpoints de inferência) geralmente operam com janelas de checagem. Se o seu "cold start" leva 4 minutos, seu sistema levará 4 minutos para reagir a um evento de tráfego. Com o streaming reduzindo esse tempo para menos de 40 segundos, a latência de resposta do seu cluster ao scale-out é drasticamente reduzida, evitando que filas de requisições se acumulem enquanto novos pods aguardam a carga do modelo.
Implementação e próximos passos
Para equipes que já utilizam vLLM ou SGLang, a adoção é simplificada através de URIs az://. A autenticação é delegada ao DefaultAzureCredential, garantindo compatibilidade nativa com Managed Identities no Azure AKS e Azure ML.
- Uso no vLLM:
export AZURE_STORAGE_ACCOUNT_NAME="<sua_conta>"
vllm serve az://<container>/models/llama-3.1-8b \
--load-format runai_streamer
- Tuning de Performance: A variável
RUNAI_STREAMER_CONCURRENCYpermite ajustar o paralelismo da carga. Em ambientes com alta banda de rede, elevar esse valor para 32 ou 64 permite saturar links de alta performance, melhorando ainda mais o tempo total de inicialização.
Perguntas Frequentes
- Como o Run:AI Model Streamer melhora o tempo de cold start?
Ele elimina a etapa intermediária de baixar o modelo do storage para o disco local antes de carregá-lo na VRAM. Os pesos do modelo são transmitidos via rede diretamente do Azure Blob Storage para a memória da GPU (via CPU), reduzindo drasticamente o tempo de inicialização. - Quais frameworks de inferência são suportados?
Atualmente, a solução possui integração nativa com o vLLM (para inferência e servização rápida) e com o SGLang (framework focado em alta performance para LLMs e modelos multimodais). - Essa solução exige alterações infraestruturais complexas?
Não. É possível utilizar o protocoloaz://diretamente na configuração do modelo, utilizando oDefaultAzureCredentialpara autenticação. Isso facilita a implementação em AKS, Azure Machine Learning e instâncias de VM, sem necessidade de scripts customizados de download.
Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.