O que são ambientes de serviço no AWS Batch
Um ambiente de serviço é um recurso AWS Batch que contém os parâmetros de configuração necessários para a integração do AWS Batch com o SageMaker AI. Os ambientes de serviço permitem ao AWS Batch enviar e gerenciar trabalhos do SageMaker Training, ao mesmo tempo em que fornecem recursos de filas, agendamento e gerenciamento de prioridades do AWS Batch.
Os ambientes de serviço abordam desafios comuns que as equipes de ciência de dados enfrentam ao gerenciar workloads de machine learning. As organizações geralmente limitam o número de instâncias disponíveis para modelos de treinamento para evitar gastos excessivos acidentais, atender às restrições orçamentárias, economizar custos com instâncias reservadas ou usar tipos de instância específicos para workloads. No entanto, os cientistas de dados podem querer executar mais workloads simultaneamente do que é possível com suas instâncias alocadas, exigindo coordenação manual para decidir quais workloads serão executadas e quando.
Esse desafio de coordenação afeta organizações de todos os tamanhos, desde equipes com apenas alguns cientistas de dados até operações em grande escala. À medida que as organizações crescem, a complexidade aumenta, exigindo mais tempo para gerenciar a coordenação do workload e, muitas vezes, exigindo o envolvimento do administrador da infraestrutura. Esses esforços manuais desperdiçam tempo e reduzem a eficiência das instâncias, resultando em custos reais para os clientes.
Com ambientes de serviço, cientistas de dados e engenheiros de ML podem enviar trabalhos do SageMaker Training com prioridades para filas configuráveis, garantindo que os workloads sejam executados automaticamente sem intervenção assim que os recursos estiverem disponíveis. Essa integração aproveita os amplos recursos de enfileiramento e agendamento do AWS Batch, permitindo que os clientes personalizem suas políticas de enfileiramento e agendamento de acordo com as metas da organização.
Como os ambientes de serviço funcionam com outros componentes AWS Batch
Os ambientes de serviço se integram a outros componentes AWS Batch para permitir o enfileiramento de trabalhos do SageMaker Training:
-
Filas de trabalho - Os ambientes de serviço são associados às filas de trabalhos para permitir que a fila processe trabalhos de serviço para o trabalho do SageMaker Training
-
Trabalhos de serviço - Quando você envia um trabalho de serviço para uma fila associada a um ambiente de serviço, o AWS Batch usa a configuração do ambiente para enviar o trabalho correspondente do SageMaker Training
-
Políticas de agendamento - Os ambientes de serviço funcionam com políticas de agendamento AWS Batch para priorizar e gerenciar a ordem de execução dos trabalhos do SageMaker Training
Essa integração permite que você aproveite os recursos maduros de enfileiramento e agendamento do AWS Batch, mantendo a funcionalidade e a flexibilidade completas dos trabalhos do SageMaker Training.
Práticas recomendadas para ambientes de serviço
Os ambientes de serviço oferecem recursos para gerenciar trabalhos do SageMaker Training em grande escala. Seguir essas práticas recomendadas ajuda a otimizar o custo, o desempenho e a eficiência operacional, evitando problemas comuns de configuração que podem afetar seus fluxos de trabalho de machine learning.
Ao planejar a capacidade do ambiente de serviço, considere as cotas e os limites específicos que se aplicam à fila de trabalhos do SageMaker Training. Cada ambiente de serviço tem um limite máximo de capacidade expresso em número de instâncias, o que controla diretamente quantos trabalhos do SageMaker Training podem ser executados simultaneamente. Compreender esses limites ajuda a evitar a contenção de recursos e garante tempos previsíveis de execução do trabalho.
O desempenho ideal do ambiente de serviço depende da compreensão das características exclusivas do agendamento de trabalhos do SageMaker Training. Diferentemente dos trabalhos em contêineres tradicionais, os trabalhos de serviço passam por um estado SCHEDULED enquanto o SageMaker AI adquire e provisiona as instâncias de treinamento necessárias. Isso significa que os horários de início do trabalho podem variar significativamente com base na disponibilidade da instância e na capacidade regional.
Importante
Os ambientes de serviço têm cotas específicas que podem afetar sua capacidade de escalar os workloads do SageMaker Training. Você pode criar até 50 ambientes de serviço por conta, com cada fila de trabalhos suportando somente um ambiente de serviço associado. Além disso, a carga útil da solicitação de serviço para trabalhos individuais é limitada a 10 KiB, e a API SubmitServiceJob está limitada a 5 transações por segundo por conta. Compreender esses limites durante o planejamento da capacidade evita restrições de escalabilidade inesperadas.
O monitoramento eficaz dos ambientes de serviço exige atenção tanto às métricas de serviço do AWS Batch e do SageMaker AI. As transições de estado de trabalho fornecem informações valiosas sobre o desempenho do sistema, especialmente o tempo gasto no estado SCHEDULED, o que indica padrões de disponibilidade de capacidade. Os ambientes de serviço mantêm seus próprios estados de ciclo de vida semelhantes aos ambientes computacionais, passando pelos estados estados CREATING, VALID, INVALID e DELETING que devem ser monitorados quanto à integridade operacional. Organizações com práticas de monitoramento maduras geralmente monitoram a profundidade da fila, as taxas de conclusão de trabalhos e os padrões de utilização de instâncias para otimizar suas configurações de ambiente de serviço ao longo do tempo.