Recomendações de instâncias para implantações de endpoint multimodelo - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Recomendações de instâncias para implantações de endpoint multimodelo

Há vários itens a serem considerados ao selecionar um tipo de instância de SageMaker AI ML para um endpoint multimodelo:

  • Provisione capacidade suficiente do Amazon Elastic Block Store (Amazon EBS) para todos os modelos que precisam ser atendidos.

  • Equilibre o desempenho (minimize as inicializações a frio) e o custo (não provisione a capacidade da instância além do necessário). Para obter informações sobre o tamanho do volume de armazenamento que a SageMaker IA atribui a cada tipo de instância de um endpoint e de um endpoint multimodelo, consulte. volumes do armazenamento de instâncias

  • Para um contêiner configurado para ser executado no modo MultiModel, o volume de armazenamento provisionado para suas instâncias é maior do que o padrão do modo SingleModel. Isso permite que mais modelos sejam armazenados em cache no volume de armazenamento da instância do que no modo SingleModel.

Ao escolher um tipo de instância de SageMaker AI ML, considere o seguinte:

  • Os endpoints multi-modelo são atualmente compatíveis com todos os tipos de instância com CPU e em tipos de instância com uma única GPU.

  • Para a distribuição de tráfego (padrões de acesso) para os modelos que você deseja hospedar atrás de endpoints multimodelo, juntamente com o tamanho do modelo (quantos modelos podem ser carregados na memória na instância), tenha em mente as seguintes informações:

    • Pense na quantidade de memória em uma instância como o espaço de cache para os modelos a serem carregados e pense no número de v CPUs como o limite de simultaneidade para realizar inferência nos modelos carregados (supondo que a invocação de um modelo esteja vinculada à CPU).

    • Para instâncias baseadas em CPU, o número de v CPUs afeta seu máximo de invocações simultâneas por instância (supondo que a invocação de um modelo esteja vinculada à CPU). Uma quantidade maior de v CPUs permite que você invoque mais modelos exclusivos simultaneamente.

    • Para instâncias com compatibilidade com GPU, uma quantidade maior de memória da instância e da GPU permite que você tenha mais modelos carregados e prontos para atender solicitações de inferência.

    • Para instâncias compatíveis com CPU e GPU, tenha alguma memória "folga" disponível para que os modelos não utilizados possam ser descarregados e, especialmente, para endpoints multimodelos com múltiplas instâncias. Se uma instância ou zona de disponibilidade falhar, os modelos nessas instâncias serão redirecionados para outras instâncias por trás do endpoint.

  • Determine a sua tolerância aos tempos de carregamento/download:

    • As famílias de tipos de instância d (por exemplo, m5d, c5d ou r5d) e g5s vêm com um SSD NVMe (memória expressa não volátil), que oferece alto desempenho de E/S e pode reduzir o tempo necessário para baixar modelos para o volume de armazenamento e para que o contêiner carregue o modelo do volume de armazenamento.

    • Como os tipos de instância d e g5 vêm com um armazenamento NVMe SSD, a SageMaker IA não anexa um volume de armazenamento do Amazon EBS a essas instâncias de computação de ML que hospedam o endpoint multimodelo. O ajuste de escala automático funciona melhor quando os modelos têm tamanhos semelhantes e são homogêneos, ou seja, quando apresentam latência de inferência e requisitos de recursos semelhantes.

Você também pode usar as seguintes orientações para ajudar a otimizar o carregamento de modelos em seus endpoints multimodelo:

Escolher um tipo de instância que não consiga armazenar todos os modelos de destino na memória

Em alguns casos, você pode optar por reduzir custos escolhendo um tipo de instância que não consiga armazenar todos os modelos de destino na memória de uma só vez. SageMaker A IA descarrega modelos dinamicamente quando fica sem memória para abrir espaço para um modelo recém-direcionado. Para modelos solicitados com pouca frequência, você sacrifica a latência dinâmica de carregamento. Em casos com necessidades de latência mais rigorosas, você pode optar por tipos de instância maiores ou mais instâncias. Investir tempo antecipadamente em testes de desempenho e análise ajuda a garantir implantações bem-sucedidas em produção.

Avaliando as ocorrências no cache do seu modelo

CloudWatch As métricas da Amazon podem ajudar você a avaliar seus modelos. Para obter mais informações sobre métricas que você pode usar com endpoints multimodelo, consulte CloudWatch Métricas para implantações de endpoints de vários modelos .

Você pode usar a estatística Average da métrica ModelCacheHit para monitorar a proporção de solicitações em que o modelo já está carregado. Você pode usar a estatística SampleCount da métrica ModelUnloadingTime para monitorar o número de solicitações de descarga enviadas ao contêiner durante um período de tempo. Se os modelos estiverem sendo descarregados com muita frequência (um indicador de thrashing, onde os modelos são descarregados e carregados novamente porque há espaço insuficiente no cache para o conjunto de modelos em uso), considere usar um tipo de instância maior com mais memória ou aumentar o número de instâncias por trás do endpoint multimodelo. Para endpoints multimodelo com várias instâncias, esteja ciente de que um modelo pode ser carregado em mais de 1 instância.