Simple Science

Ciência de ponta explicada de forma simples

# Informática# Computação distribuída, paralela e em cluster

Otimizando o Atendimento de Inferência com Escalonamento Combinado

Um novo sistema gerencia eficientemente os recursos na oferta de inferência usando estratégias de escalonamento combinadas.

― 5 min ler


Gerenciamento AprimoradoGerenciamento Aprimoradode Recursos de Inferênciarecursos melhor.combinada para uma eficiência deUma abordagem de escalonamento
Índice

O serviço de inferência é importante pra usar modelos de machine learning na vida real. Ajuda a processar dados rápido e responder a pedidos de forma eficiente. Mas, gerenciar recursos nesses sistemas pode ser complicado, especialmente quando as cargas de trabalho são imprevisíveis. Duas formas principais de escalar recursos são escala horizontal e vertical. Escala horizontal significa adicionar mais instâncias pra lidar com cargas maiores, enquanto escala vertical significa aumentar o poder das instâncias existentes.

Importância da Inferência em Deep Learning Baseada em Nuvem

A inferência em deep learning baseada em nuvem é uma parte chave de muitas aplicações modernas, conectando vários modelos em cadeia. Por exemplo, um aplicativo de análise de vídeo em tempo real pra gerenciamento de tráfego pode incluir modelos pra extrair quadros de vídeo, detectar objetos, classificá-los e rastrear seus movimentos. O sucesso desses sistemas é medido pela satisfação do usuário e Eficiência de Recursos. Equilibrar esses aspectos é essencial pra crescer e manter aplicações baseadas em nuvem.

Desafios em Sistemas de Serviço de Inferência

Gerenciar recursos em sistemas de serviço de inferência traz vários desafios:

  1. Eficiência de Recursos: É crucial usar os recursos computacionais de forma otimizada pra garantir que o sistema funcione bem sem desperdiçar recursos.

  2. Acordos de Nível de Serviço (SLA): Esses acordos definem o tempo de resposta esperado pra pedidos. Cumprir essas promessas é vital pra satisfação do usuário.

  3. Carga de Trabalho Dinâmica: As cargas de trabalho podem mudar rapidamente e de forma imprevisível, dificultando acompanhar a demanda.

  4. Dependência: Em sistemas com vários modelos interconectados, o desempenho de um modelo pode impactar os outros, complicando o gerenciamento de recursos.

Por Que os Desafios São Difíceis de Resolver

Esses desafios são complexos, e as soluções existentes muitas vezes não os abordam completamente. Muitos sistemas focam principalmente na escala horizontal, apesar dos benefícios da escala vertical. Alguns estudos analisaram modelos individuais e usaram escala horizontal, levando a problemas de inicialização quando a demanda é alta. Outras abordagens usam apenas escala vertical, que não leva em conta as complexidades dos modelos interconectados.

Oportunidades que Levam a uma Solução

A combinação certa de escala horizontal e vertical apresenta uma oportunidade de melhorar o gerenciamento de recursos. Ao utilizar ambos os métodos, os sistemas podem responder a picos repentinos de carga de trabalho enquanto gerenciam recursos de forma eficiente quando a demanda é estável.

Solução Proposta

Esse artigo apresenta um sistema que combina escala horizontal e vertical. O sistema usa uma estratégia de autoscaling em duas etapas. Inicialmente, a escala vertical é utilizada pra gerenciar picos súbitos de pedidos, permitindo respostas rápidas. Quando a carga de trabalho se estabiliza, o sistema muda pra escala horizontal pra melhor eficiência de recursos.

Visão Geral do Design do Sistema

O sistema proposto consiste em cinco componentes principais:

  1. Profiler: Esse componente cria um modelo de desempenho pra cada modelo registrado no sistema, determinando como diferentes configurações de recursos afetam os tempos de processamento.

  2. Executor: Responsável por processar pedidos, esse componente gerencia o enfileiramento e execução de tarefas pra cada modelo.

  3. Monitor: Essa parte rastreia a carga de trabalho e estatísticas de pedidos, ajudando o otimizador a tomar decisões melhores.

  4. Otimizador: Usando dados do monitor e do profiler, esse componente escolhe a melhor estratégia de escalonamento e alocação de recursos pros modelos no sistema.

  5. Adapter: Essa parte implementa as decisões tomadas pelo otimizador, ajustando configurações de recursos e gerenciando filas.

Como o Sistema Funciona

Quando um pedido chega, o profiler avalia o desempenho de cada modelo com base na configuração atual. O executor processa os pedidos, enquanto o monitor acompanha quantos pedidos estão sendo tratados e suas latências. O otimizador usa essa informação pra decidir se deve ajustar os recursos verticalmente ou horizontalmente.

Se o otimizador detectar um pico na carga de trabalho, ele primeiro aplicará a escala vertical, que aloca rapidamente mais recursos pra modelos existentes. Depois de absorver a demanda, o sistema muda pra escala horizontal pra reduzir o uso de recursos quando a carga de trabalho se estabiliza.

Principais Contribuições

  1. Autoscaling em Duas Etapas: A combinação inovadora de escala vertical e horizontal aborda os desafios únicos dos sistemas de serviço de inferência.

  2. Abordagem de Programação Dinâmica: O sistema usa programação dinâmica pra encontrar a alocação de recursos ideal, melhorando a tomada de decisões.

  3. Avaliação no Mundo Real: Testes extensivos com rastros de carga de trabalho reais demonstram a eficácia do sistema proposto em comparação com métodos tradicionais de escalonamento.

Avaliação Experimental

O sistema passou por testes rigorosos usando dados do mundo real, mostrando sua capacidade de minimizar violações de SLA e manter eficiência de recursos. Os resultados mostraram que o método proposto reduz significativamente as violações de SLA em comparação com soluções existentes.

Conclusão

O sistema proposto oferece uma abordagem promissora pra gerenciar recursos em sistemas de serviço de inferência. Ao combinar escala vertical e horizontal, ele pode responder mais rápido a mudanças na carga de trabalho enquanto usa recursos de forma eficiente. Trabalhos futuros podem explorar a otimização do uso de vários recursos de hardware e melhorar estratégias de alocação pra um desempenho ainda melhor.

Fonte original

Título: A Tale of Two Scales: Reconciling Horizontal and Vertical Scaling for Inference Serving Systems

Resumo: Inference serving is of great importance in deploying machine learning models in real-world applications, ensuring efficient processing and quick responses to inference requests. However, managing resources in these systems poses significant challenges, particularly in maintaining performance under varying and unpredictable workloads. Two primary scaling strategies, horizontal and vertical scaling, offer different advantages and limitations. Horizontal scaling adds more instances to handle increased loads but can suffer from cold start issues and increased management complexity. Vertical scaling boosts the capacity of existing instances, allowing for quicker responses but is limited by hardware and model parallelization capabilities. This paper introduces Themis, a system designed to leverage the benefits of both horizontal and vertical scaling in inference serving systems. Themis employs a two-stage autoscaling strategy: initially using in-place vertical scaling to handle workload surges and then switching to horizontal scaling to optimize resource efficiency once the workload stabilizes. The system profiles the processing latency of deep learning models, calculates queuing delays, and employs different dynamic programming algorithms to solve the joint horizontal and vertical scaling problem optimally based on the workload situation. Extensive evaluations with real-world workload traces demonstrate over $10\times$ SLO violation reduction compared to the state-of-the-art horizontal or vertical autoscaling approaches while maintaining resource efficiency when the workload is stable.

Autores: Kamran Razavi, Mehran Salmani, Max Mühlhäuser, Boris Koldehofe, Lin Wang

Última atualização: 2024-07-20 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2407.14843

Fonte PDF: https://arxiv.org/pdf/2407.14843

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes