Em 2021, lançamos Serviços proativos de suporte da AWS como parte do Suporte empresarial da AWS plano. Desde a sua introdução, ajudamos centenas de clientes a otimizar suas cargas de trabalho, definir proteções e melhorar a visibilidade do custo e uso de suas cargas de trabalho de aprendizado de máquina (ML).
Nesta série de postagens, compartilhamos lições aprendidas sobre como otimizar custos em Amazon Sage Maker. em Parte 1, mostramos como começar a usar Explorador de custos da AWS para identificar oportunidades de otimização de custos no SageMaker. Nesta postagem, nos concentramos nos ambientes de inferência do SageMaker: inferência em tempo real, transformação em lote, inferência assíncrona e inferência sem servidor.
SageMaker oferece várias opções de inferência para você escolher com base em seus requisitos de carga de trabalho:
- Inferência em tempo real para requisitos on-line, de baixa latência ou alta taxa de transferência
- Transformação em lote para processamento offline agendado e quando você não precisa de um endpoint persistente
- Inferência assíncrona para quando você tem grandes cargas com longos tempos de processamento e deseja enfileirar solicitações
- inferência sem servidor para quando você tem padrões de tráfego intermitentes ou imprevisíveis e pode tolerar partidas a frio
Nas seções a seguir, discutimos cada opção de inferência com mais detalhes.
Inferência em tempo real do SageMaker
Quando você cria um endpoint, o SageMaker anexa um Loja de blocos elásticos da Amazon (Amazon EBS) volume de armazenamento para o Amazon Elastic Compute Nuvem (Amazon EC2) que hospeda o endpoint. Isso vale para todos os tipos de instância que não vêm com armazenamento SSD. Como os tipos de instância d* vêm com um armazenamento SSD NVMe, o SageMaker não anexa um volume de armazenamento EBS a essas instâncias de computação de ML. Referir-se Volumes de armazenamento da instância do host para o tamanho dos volumes de armazenamento que o SageMaker anexa para cada tipo de instância para um único endpoint e para um endpoint multimodelo.
O custo dos endpoints em tempo real do SageMaker é baseado no consumo por hora de instância para cada instância enquanto o endpoint está em execução, o custo de GB-mês de armazenamento provisionado (volume EBS), bem como os dados GB processados dentro e fora da instância do endpoint, conforme descrito em Preços do Amazon SageMaker. No Explorador de custos, você pode visualizar os custos de endpoint em tempo real aplicando um filtro no tipo de uso. Os nomes desses tipos de uso são estruturados da seguinte forma:
REGION-Host:instanceType
(por exemplo,USE1-Host:ml.c5.9xlarge
)REGION-Host:VolumeUsage.gp2
(por exemplo,USE1-Host:VolumeUsage.gp2
)REGION-Hst:Data-Bytes-Out
(por exemplo,USE2-Hst:Data-Bytes-In
)REGION-Hst:Data-Bytes-Out
(por exemplo,USW2-Hst:Data-Bytes-Out)
Conforme mostrado na captura de tela a seguir, filtrando pelo tipo de uso Host:
mostrará uma lista de tipos de uso de hospedagem em tempo real em uma conta.
Você pode selecionar tipos de uso específicos ou selecionar Selecionar tudo e escolha Aplicar para exibir a divisão de custos do uso de hospedagem em tempo real do SageMaker. Para ver o detalhamento de custo e uso por horas de instância, você precisa desmarcar todos os REGION-Host:VolumeUsage.gp2
tipos de uso antes de aplicar o filtro de tipo de uso. Você também pode aplicar filtros adicionais, como número da conta, tipo de instância do EC2, tag de alocação de custos, região e mais. A captura de tela a seguir mostra gráficos de custo e uso para os tipos de uso de hospedagem selecionados.
Além disso, você pode explorar o custo associado a uma ou mais instâncias de hospedagem usando o Tipo de instância filtro. A captura de tela a seguir mostra o detalhamento de custo e uso da instância de hospedagem ml.p2.xlarge.
Da mesma forma, o custo dos dados de GB processados pode ser exibido selecionando os tipos de uso associados como um filtro aplicado, conforme mostrado na captura de tela a seguir.
Depois de alcançar os resultados desejados com filtros e agrupamentos, você pode baixar seus resultados escolhendo Baixar como CSV ou salve o relatório selecionando Salvar na biblioteca de relatórios. Para obter orientação geral sobre como usar o Explorador de custos, consulte Nova aparência e casos de uso comuns do AWS Cost Explorer.
Opcionalmente, você pode habilitar Relatórios de uso e custo da AWS (AWS CUR) para obter informações sobre os dados de custo e uso de suas contas. AWS CUR contém detalhes de consumo por hora da AWS. Está armazenado em Serviço de armazenamento simples da Amazon (Amazon S3) na conta pagante, que consolida os dados de todas as contas vinculadas. Você pode executar consultas para analisar tendências em seu uso e tomar as medidas apropriadas para otimizar custos. Amazona atena é um serviço de consulta sem servidor que você pode usar para analisar os dados do AWS CUR no Amazon S3 usando SQL padrão. Mais informações e consultas de exemplo podem ser encontradas no Biblioteca de consultas do AWS CUR.
Você também pode alimentar dados AWS CUR em AmazonQuickSight, onde você pode dividi-lo da maneira que desejar para fins de relatório ou visualização. Para obter instruções, consulte Como faço para ingerir e visualizar o AWS Cost and Usage Report (CUR) no Amazon QuickSight.
Você pode obter informações em nível de recurso, como ARN de endpoint, tipos de instância de endpoint, taxa de instância por hora, horas de uso diário e muito mais no AWS CUR. Você também pode incluir tags de alocação de custos em sua consulta para um nível adicional de granularidade. A consulta de exemplo a seguir retorna o uso de recursos de hospedagem em tempo real nos últimos 3 meses para a conta pagante especificada:
A captura de tela a seguir mostra os resultados obtidos ao executar a consulta usando o Athena. Para mais informações, consulte Consultar relatórios de custo e uso usando o Amazon Athena.
O resultado da consulta mostra esse endpoint mme-xgboost-housing
com instância ml.x4.xlarge está relatando 24 horas de tempo de execução para vários dias consecutivos. A taxa de instância é de US$ 0.24/hora e o custo diário para execução por 24 horas é de US$ 5.76.
Os resultados do AWS CUR podem ajudá-lo a identificar padrões de endpoints em execução por dias consecutivos em cada uma das contas vinculadas, bem como endpoints com o maior custo mensal. Isso também pode ajudá-lo a decidir se os endpoints em contas de não produção podem ser excluídos para economizar custos.
Otimize custos para endpoints em tempo real
Do ponto de vista do gerenciamento de custos, é importante identificar instâncias subutilizadas (ou superdimensionadas) e alinhar o tamanho e as contagens da instância, se necessário, com os requisitos da carga de trabalho. Métricas comuns do sistema, como utilização de CPU/GPU e utilização de memória, são gravadas Amazon CloudWatch para todas as instâncias de hospedagem. Para endpoints em tempo real, o SageMaker disponibiliza várias métricas adicionais no CloudWatch. Algumas das métricas comumente monitoradas incluem contagens de invocação e erros de invocação 4xx/5xx. Para obter uma lista completa de métricas, consulte Monitore o Amazon SageMaker com o Amazon CloudWatch.
A métrica CPUUtilization
fornece a soma da utilização de cada núcleo de CPU individual. A utilização da CPU de cada intervalo de núcleo é de 0 a 100. Por exemplo, se houver quatro CPUs, o CPUUtilization
intervalo é de 0–400%. A métrica MemoryUtilization
é a porcentagem de memória usada pelos contêineres em uma instância. Este intervalo de valores é de 0 a 100%. A captura de tela a seguir mostra um exemplo de métricas do CloudWatch CPUUtilization
e MemoryUtilization
para uma instância de endpoint ml.m4.10xlarge que vem com 40 vCPUs e 160 GiB de memória.
Esses gráficos de métricas mostram a utilização máxima da CPU de aproximadamente 3,000%, o que equivale a 30 vCPUs. Isso significa que esse endpoint não está utilizando mais de 30 vCPUs da capacidade total de 40 vCPUs. Da mesma forma, a utilização da memória está abaixo de 6%. Usando essas informações, você pode experimentar uma instância menor que corresponda a essa necessidade de recursos. Além disso, o CPUUtilization
A métrica mostra um padrão clássico de demanda de CPU alta e baixa periódica, o que torna esse endpoint um bom candidato para dimensionamento automático. Você pode começar com uma instância menor e expandir primeiro conforme sua demanda de computação muda. Para informações, consulte Dimensionar automaticamente modelos do Amazon SageMaker.
O SageMaker é ótimo para testar novos modelos porque você pode implantá-los facilmente em um ambiente de teste A/B usando variantes de produção, e você só paga pelo que usar. Cada variante de produção é executada em sua própria instância de computação e você é cobrado por hora de instância consumida para cada instância durante a execução da variante.
O SageMaker também suporta variantes de sombra, que têm os mesmos componentes de uma variante de produção e são executados em sua própria instância de computação. Com variantes de sombra, o SageMaker implanta automaticamente o modelo em um ambiente de teste, encaminha uma cópia das solicitações de inferência recebidas pelo modelo de produção para o modelo de teste em tempo real e coleta métricas de desempenho, como latência e taxa de transferência. Isso permite que você valide qualquer novo componente candidato de sua pilha de serviço de modelo antes de promovê-lo para produção.
Quando terminar seus testes e não estiver mais usando o ponto de extremidade ou as variantes extensivamente, exclua-o para economizar custos. Como o modelo é armazenado no Amazon S3, você pode recriá-lo conforme necessário. Você pode detectar automaticamente esses endpoints e tomar ações corretivas (como excluí-los) usando Eventos do Amazon CloudWatch e AWS Lambda funções. Por exemplo, você pode usar o Invocations
métrica para obter o número total de solicitações enviadas a um endpoint de modelo e, em seguida, detectar se os endpoints ficaram ociosos nas últimas horas (sem invocações em um determinado período, como 24 horas).
Se você tiver várias instâncias de endpoint subutilizadas, considere opções de hospedagem, como endpoints multi-modelo (MME), pontos de extremidade de vários contêineres (MCEs) e pipelines de inferência serial para consolidar o uso em menos instâncias de endpoint.
Para implantação de modelo de inferência assíncrona e em tempo real, você pode otimizar custo e desempenho implantando modelos no SageMaker usando AWS Graviton. AWS Graviton é uma família de processadores projetados pela AWS que oferecem o melhor desempenho de preço e são mais eficientes em termos de energia do que seus equivalentes x86. Para obter orientação sobre como implantar um modelo de ML em instâncias baseadas em AWS Graviton e detalhes sobre o benefício de desempenho de preço, consulte Execute cargas de trabalho de inferência de machine learning em instâncias baseadas em AWS Graviton com o Amazon SageMaker. O SageMaker também suporta Inferência da AWS aceleradores através do ml.inf2 família de instâncias para implantar modelos de ML para inferência assíncrona e em tempo real. Você pode usar essas instâncias no SageMaker para obter alto desempenho a baixo custo para modelos generativos de inteligência artificial (IA), incluindo modelos de linguagem grande (LLMs) e transformadores de visão.
Além disso, você pode usar Recomendador de inferência do Amazon SageMaker para executar testes de carga e avaliar os benefícios de desempenho de preço da implantação de seu modelo nessas instâncias. Para obter orientações adicionais sobre a detecção automática de endpoints ociosos do SageMaker, bem como dimensionamento correto da instância e dimensionamento automático para endpoints do SageMaker, consulte Garanta recursos de computação eficientes no Amazon SageMaker.
Transformação em lote SageMaker
Inferência em lote ou inferência off-line, é o processo de geração de previsões em um lote de observações. As previsões offline são adequadas para conjuntos de dados maiores e nos casos em que você pode esperar vários minutos ou horas por uma resposta.
O custo da transformação em lote do SageMaker é baseado na hora consumida por instância para cada instância durante a execução do trabalho de transformação em lote, conforme descrito em Preços do Amazon SageMaker. No Explorador de custos, você pode explorar os custos de transformação em lote aplicando um filtro no tipo de uso. O nome desse tipo de uso é estruturado como REGION-Tsform:instanceType
(por exemplo, USE1-Tsform:ml.c5.9xlarge
).
Conforme mostrado na captura de tela a seguir, filtragem por tipo de uso Tsform:
mostrará uma lista de tipos de uso de transformação em lote do SageMaker em uma conta.
Você pode selecionar tipos de uso específicos ou selecionar Selecionar tudo e escolha Aplicar para exibir a divisão de custo do uso da instância de transformação em lote para os tipos selecionados. Conforme mencionado anteriormente, você também pode aplicar filtros adicionais. A captura de tela a seguir mostra gráficos de custo e uso para os tipos de uso de transformação em lote selecionados.
Otimize custos para transformação em lote
A transformação em lote do SageMaker cobra apenas pelas instâncias usadas durante a execução dos trabalhos. Se seus dados já estiverem no Amazon S3, não haverá custo para ler dados de entrada do Amazon S3 e gravar dados de saída no Amazon S3. Todos os objetos de saída são tentados a serem carregados no Amazon S3. Se todos forem bem-sucedidos, a tarefa de transformação em lote será marcada como concluída. Se um ou mais objetos falharem, a tarefa de transformação em lote será marcada como falha.
As cobranças de jobs de transformação em lote se aplicam aos seguintes cenários:
- O trabalho é bem sucedido
- Falha devido a
ClientError
e o contêiner do modelo é SageMaker ou uma estrutura gerenciada pelo SageMaker - Falha devido a
AlgorithmError
orClientError
e o contêiner do modelo é seu próprio contêiner personalizado (Traga sua própria bebida)
A seguir estão algumas das práticas recomendadas para otimizar um trabalho de transformação em lote do SageMaker. Essas recomendações podem reduzir o tempo de execução total de sua tarefa de transformação em lote, reduzindo assim os custos:
- Conjunto Estratégia em lote para
MultiRecord
eSplitType
paraLine
se você precisar do trabalho de transformação em lote para criar minilotes do arquivo de entrada. Se não for possível dividir automaticamente o conjunto de dados em minilotes, você poderá dividi-lo em minilotes colocando cada lote em um arquivo de entrada separado, colocado no bucket do S3 da fonte de dados. - Certifique-se de que o tamanho do lote cabe na memória. O SageMaker geralmente trata disso automaticamente; no entanto, ao dividir lotes manualmente, isso precisa ser ajustado com base na memória.
- A transformação em lote particiona os objetos S3 na entrada por chave e mapeia esses objetos para instâncias. Quando você tem vários arquivos, uma instância pode processar
input1.csv
, e outra instância pode processarinput2.csv
. Se você tiver um arquivo de entrada, mas inicializar várias instâncias de computação, apenas uma instância processará o arquivo de entrada e as demais ficarão ociosas. Certifique-se de que o número de arquivos seja igual ou maior que o número de instâncias. - Se você tiver um grande número de arquivos pequenos, pode ser benéfico combinar vários arquivos em um pequeno número de arquivos maiores para reduzir o tempo de interação do Amazon S3.
- Se você estiver usando o CriarTransformJob API, você pode reduzir o tempo necessário para concluir trabalhos de transformação em lote usando valores ideais para parâmetros como MaxPayloadInMB, MaxConcurrentTransformsou Estratégia em lote:
MaxConcurrentTransforms
indica o número máximo de solicitações paralelas que podem ser enviadas para cada instância em uma tarefa de transformação. O valor ideal paraMaxConcurrentTransforms
é igual ao número de núcleos vCPU em uma instância.MaxPayloadInMB
é o tamanho máximo permitido da carga útil, em MB. O valor emMaxPayloadInMB
deve ser maior ou igual ao tamanho de um único registro. Para estimar o tamanho de um registro em MB, divida o tamanho do conjunto de dados pelo número de registros. Para garantir que os registros caibam no tamanho máximo da carga útil, recomendamos o uso de um valor um pouco maior. O valor padrão é 6 MB.MaxPayloadInMB
não deve ser superior a 100 MB. Se você especificar o opcionalMaxConcurrentTransforms
parâmetro, então o valor de (MaxConcurrentTransforms
*MaxPayloadInMB
) também não deve exceder 100 MB.- Para casos em que a carga útil pode ser arbitrariamente grande e é transmitida usando codificação em partes HTTP, defina o valor MaxPayloadInMB como 0. Esse recurso funciona apenas em algoritmos com suporte. Atualmente, os algoritmos integrados do SageMaker não oferecem suporte à codificação em partes HTTP.
- Tarefas de inferência em lote geralmente são boas candidatas para escala horizontal. Cada trabalhador dentro de um cluster pode operar em um subconjunto diferente de dados sem a necessidade de trocar informações com outros trabalhadores. A AWS oferece várias opções de armazenamento e computação que permitem escalabilidade horizontal. Se uma única instância não for suficiente para atender aos seus requisitos de desempenho, considere o uso de várias instâncias em paralelo para distribuir a carga de trabalho. Para considerações importantes ao arquitetar tarefas de transformação em lote, consulte Inferência em lote em escala com o Amazon SageMaker.
- Monitore continuamente as métricas de desempenho de seus trabalhos de transformação em lote do SageMaker usando o CloudWatch. Procure gargalos, como alta utilização de CPU ou GPU, uso de memória ou taxa de transferência de rede, para determinar se você precisa ajustar tamanhos ou configurações de instância.
- O SageMaker usa o Amazon S3 API de upload em várias partes para carregar os resultados de um trabalho de transformação em lote para o Amazon S3. Se ocorrer um erro, os resultados carregados serão removidos do Amazon S3. Em alguns casos, como quando ocorre uma interrupção de rede, um multipart upload incompleto pode permanecer no Amazon S3. Para evitar cobranças de armazenamento, recomendamos que você adicione o política de balde S3 às regras do ciclo de vida do bucket do S3. Esta política exclui uploads de várias partes incompletos que podem estar armazenados no bucket do S3. Para mais informações, veja Gerenciando seu ciclo de vida de armazenamento.
Inferência assíncrona do SageMaker
A inferência assíncrona é uma ótima opção para cargas de trabalho sensíveis ao custo com grandes cargas e tráfego intermitente. As solicitações podem levar até 1 hora para serem processadas e têm tamanhos de carga útil de até 1 GB, portanto, é mais adequado para cargas de trabalho com requisitos de latência relaxados.
A invocação de endpoints assíncronos difere dos endpoints em tempo real. Em vez de passar uma carga de solicitação de forma síncrona com a solicitação, você carrega a carga no Amazon S3 e transmite um URI do S3 como parte da solicitação. Internamente, o SageMaker mantém uma fila com essas solicitações e as processa. Durante a criação do endpoint, opcionalmente, você pode especificar um Serviço de notificação simples da Amazon (Amazon SNS) para receber notificações de sucesso ou erro. Ao receber a notificação de que sua solicitação de inferência foi processada com sucesso, você pode acessar o resultado no local de saída do Amazon S3.
O custo da inferência assíncrona é baseado no consumo por hora de instância para cada instância enquanto o endpoint está em execução, custo de GB-mês de armazenamento provisionado, bem como dados de GB processados dentro e fora da instância do endpoint, conforme descrito em Preços do Amazon SageMaker. No Explorador de custos, você pode filtrar os custos de inferência assíncrona aplicando um filtro no tipo de uso. O nome desse tipo de uso é estruturado como REGION-AsyncInf:instanceType
(por exemplo, USE1-AsyncInf:ml.c5.9xlarge
). Observe que os tipos de uso de volume GB e processamento de dados GB são os mesmos que os endpoints em tempo real, conforme mencionado anteriormente nesta postagem.
Conforme mostrado na captura de tela a seguir, filtrando pelo tipo de uso AsyncInf:
no Explorador de custos exibe uma divisão de custo por tipos de uso de endpoint assíncrono.
Para ver o detalhamento de custo e uso por horas de instância, você precisa desmarcar todos os REGION-Host:VolumeUsage.gp2
tipos de uso antes de aplicar o filtro de tipo de uso. Você também pode aplicar filtros adicionais. Informações em nível de recurso, como ARN de endpoint, tipos de instância de endpoint, taxa de instância por hora e horas de uso diário, podem ser obtidas no AWS CUR. Veja a seguir um exemplo de consulta AWS CUR para obter o uso de recursos de hospedagem assíncrona nos últimos 3 meses:
A captura de tela a seguir mostra os resultados obtidos da execução da consulta AWS CUR usando o Athena.
O resultado da consulta mostra esse endpoint sagemaker-abc-model-5
com instância ml.m5.xlarge está relatando 24 horas de tempo de execução para vários dias consecutivos. A taxa de instância é de US$ 0.23/hora e o custo diário para execução por 24 horas é de US$ 5.52.
Conforme mencionado anteriormente, os resultados do AWS CUR podem ajudá-lo a identificar padrões de endpoints em execução por dias consecutivos, bem como endpoints com o maior custo mensal. Isso também pode ajudá-lo a decidir se os endpoints em contas de não produção podem ser excluídos para economizar custos.
Otimize custos para inferência assíncrona
Assim como os endpoints em tempo real, o custo dos endpoints assíncronos é baseado no uso do tipo de instância. Portanto, é importante identificar instâncias subutilizadas e redimensioná-las com base nos requisitos de carga de trabalho. Para monitorar endpoints assíncronos, o SageMaker faz várias métricas tais como ApproximateBacklogSize
, HasBacklogWithoutCapacity
e mais disponíveis no CloudWatch. Essas métricas podem mostrar solicitações na fila para uma instância e podem ser usadas para dimensionar automaticamente um endpoint. A inferência assíncrona do SageMaker também inclui métricas no nível do host. Para obter informações sobre métricas no nível do host, consulte Tarefas do SageMaker e métricas de endpoint. Essas métricas podem mostrar a utilização de recursos que podem ajudá-lo a dimensionar a instância corretamente.
O SageMaker suporta dimensionamento automático para terminais assíncronos. Ao contrário dos endpoints hospedados em tempo real, os endpoints de inferência assíncrona oferecem suporte à redução de instâncias para zero, definindo a capacidade mínima como zero. Para endpoints assíncronos, o SageMaker recomenda enfaticamente que você crie uma configuração de política para dimensionamento de rastreamento de destino para um modelo implantado (variante). Você precisa definir a política de escalabilidade dimensionada no ApproximateBacklogPerInstance
métrica personalizada e defina o MinCapacity
valor para zero.
A inferência assíncrona permite que você economize em custos dimensionando automaticamente a contagem de instâncias para zero quando não há solicitações para processar, para que você pague apenas quando seu endpoint estiver processando solicitações. As solicitações que são recebidas quando não há instâncias são enfileiradas para processamento depois que o ponto de extremidade aumenta. Portanto, para casos de uso que podem tolerar uma penalidade de inicialização a frio de alguns minutos, você pode, opcionalmente, reduzir a contagem de instâncias do ponto de extremidade para zero quando não houver solicitações pendentes e aumentar novamente conforme novas solicitações chegarem. O tempo de inicialização a frio depende do tempo necessário para iniciar um novo endpoint do zero. Além disso, se o modelo em si for grande, o tempo pode ser maior. Se for esperado que seu trabalho demore mais do que o tempo de processamento de 1 hora, você pode querer considerar a transformação em lote do SageMaker.
Além disso, você também pode considerar o tempo de espera de sua solicitação combinado com o tempo de processamento para escolher o tipo de instância. Por exemplo, se seu caso de uso pode tolerar horas de espera, você pode escolher uma instância menor para economizar custos.
Para obter orientações adicionais sobre dimensionamento correto e dimensionamento automático de instâncias para endpoints do SageMaker, consulte Garanta recursos de computação eficientes no Amazon SageMaker.
inferência sem servidor
A inferência sem servidor permite implantar modelos de ML para inferência sem precisar configurar ou gerenciar a infraestrutura subjacente. Com base no volume de solicitações de inferência que seu modelo recebe, a inferência sem servidor do SageMaker provisiona, dimensiona e desativa automaticamente a capacidade de computação. Como resultado, você paga apenas pelo tempo de computação para executar seu código de inferência e pela quantidade de dados processados, não pelo tempo ocioso. Para endpoints sem servidor, o provisionamento de instância não é necessário. Você precisa fornecer o tamanho da memória e simultaneidade máxima. Como os endpoints sem servidor provisionam recursos de computação sob demanda, seu endpoint pode experimentar alguns segundos extras de latência (inicialização a frio) para a primeira chamada após um período ocioso. Você paga pela capacidade computacional usada para processar solicitações de inferência, cobrada por milissegundo, GB/mês de armazenamento provisionado e pela quantidade de dados processados. A carga de computação depende da configuração de memória que você escolher.
No Explorador de custos, você pode filtrar os custos de endpoints sem servidor aplicando um filtro no tipo de uso. O nome desse tipo de uso é estruturado como REGION-ServerlessInf:Mem-MemorySize
(por exemplo, USE2-ServerlessInf:Mem-4GB
). Observe que os tipos de uso de volume GB e processamento de dados GB são iguais aos endpoints em tempo real.
Você pode ver a divisão de custos aplicando filtros adicionais, como número da conta, tipo de instância, região e muito mais. A captura de tela a seguir mostra a divisão de custos aplicando filtros para o tipo de uso de inferência sem servidor.
Otimize o custo para inferência sem servidor
Ao configurar seu endpoint sem servidor, você pode especificar o tamanho da memória e o número máximo de invocações simultâneas. A inferência sem servidor do SageMaker atribui automaticamente recursos de computação proporcionais à memória selecionada. Se você escolher um tamanho de memória maior, seu contêiner terá acesso a mais vCPUs. Com a inferência sem servidor, você paga apenas pela capacidade computacional usada para processar as solicitações de inferência, cobradas por milissegundo, e pela quantidade de dados processados. A carga de computação depende da configuração de memória que você escolher. Os tamanhos de memória que você pode escolher são 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB e 6144 MB. O preço aumenta com os incrementos de tamanho de memória, conforme explicado em Preços do Amazon SageMaker, por isso é importante selecionar o tamanho de memória correto. Como regra geral, o tamanho da memória deve ser pelo menos tão grande quanto o tamanho do seu modelo. No entanto, é uma boa prática consultar a utilização da memória ao decidir o tamanho da memória do terminal, além do próprio tamanho do modelo.
Práticas recomendadas gerais para otimizar os custos de inferência do SageMaker
A otimização dos custos de hospedagem não é um evento único. É um processo contínuo de monitoramento da infraestrutura implantada, padrões de uso e desempenho, além de ficar de olho nas novas soluções inovadoras lançadas pela AWS que podem afetar os custos. Considere as seguintes práticas recomendadas:
- Escolha um tipo de instância apropriado – O SageMaker oferece suporte a vários tipos de instância, cada um com combinações variadas de CPU, GPU, memória e capacidades de armazenamento. Com base nos requisitos de recursos do seu modelo, escolha um tipo de instância que forneça os recursos necessários sem provisionamento excessivo. Para obter informações sobre os tipos de instância SageMaker disponíveis, suas especificações e orientação sobre como selecionar a instância certa, consulte Garanta recursos de computação eficientes no Amazon SageMaker.
- Teste usando o modo local – Para detectar falhas e depurar mais rapidamente, é recomendável testar o código e o contêiner (no caso de BYOC) em modo local antes de executar a carga de trabalho de inferência na instância remota do SageMaker. O modo local é uma ótima maneira de testar seus scripts antes de executá-los em um ambiente de hospedagem gerenciado SageMaker.
- Otimize os modelos para ter mais desempenho – Modelos não otimizados podem levar a tempos de execução mais longos e usar mais recursos. Você pode optar por usar instâncias maiores ou maiores para melhorar o desempenho; no entanto, isso leva a custos mais elevados. Ao otimizar seus modelos para obter mais desempenho, você pode reduzir os custos usando menos instâncias ou instâncias menores, mantendo as mesmas ou melhores características de desempenho. Você pode usar Amazon Sage Maker Neo com a inferência do SageMaker para otimizar automaticamente os modelos. Para mais detalhes e amostras, consulte Otimize o desempenho do modelo usando o Neo.
- Use tags e ferramentas de gerenciamento de custos – Para manter a visibilidade de suas cargas de trabalho de inferência, é recomendável usar tags, bem como ferramentas de gerenciamento de custos da AWS, como Orçamentos da AWS, Console de faturamento da AWS, e o recurso de previsão do Cost Explorer. Você também pode explorar os SageMaker Savings Plans como um modelo de preços flexível. Para obter mais informações sobre essas opções, consulte Parte 1 desta série.
Conclusão
Nesta postagem, fornecemos orientações sobre análise de custos e práticas recomendadas ao usar as opções de inferência do SageMaker. À medida que o aprendizado de máquina se estabelece como uma ferramenta poderosa em todos os setores, o treinamento e a execução de modelos de ML precisam permanecer econômicos. O SageMaker oferece um conjunto de recursos amplo e profundo para facilitar cada etapa do pipeline de ML e oferece oportunidades de otimização de custos sem afetar o desempenho ou a agilidade. Entre em contato com sua equipe da AWS para obter orientação de custo em suas cargas de trabalho do SageMaker.
Sobre os autores
Deepali Rajale é um especialista sênior em IA/ML da AWS. Ela trabalha com clientes corporativos fornecendo orientação técnica com as melhores práticas para implantação e manutenção de soluções AI/ML no ecossistema da AWS. Ela trabalhou com uma ampla gama de organizações em vários casos de uso de aprendizado profundo envolvendo PNL e visão computacional. Ela é apaixonada por capacitar as organizações a alavancar a IA generativa para aprimorar sua experiência de uso. Nas horas vagas, gosta de cinema, música e literatura.
Uri Rosenberg é o Gerente Técnico Especialista em AI & ML para a Europa, Oriente Médio e África. Com sede em Israel, a Uri trabalha para capacitar os clientes corporativos em tudo o que é ML para projetar, construir e operar em escala. Em seu tempo livre, ele gosta de andar de bicicleta, caminhar e escalar rock and roll.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoAiStream. Inteligência de Dados Web3. Conhecimento Amplificado. Acesse aqui.
- Cunhando o Futuro com Adryenn Ashley. Acesse aqui.
- Compre e venda ações em empresas PRE-IPO com PREIPO®. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/part-5-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-5-hosting/
- :tem
- :é
- :não
- :onde
- $UP
- 000
- 1
- 100
- 2021
- 24
- 30
- 40
- 500
- 7
- 8
- a
- Capaz
- Sobre
- aceleradores
- Acesso
- Conta
- Contas
- Alcançar
- alcançado
- em
- Açao Social
- ações
- adicionar
- Adição
- Adicional
- África
- Depois de
- AI
- AI / ML
- algoritmos
- Todos os Produtos
- alocação
- permite
- já
- tb
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- quantidade
- an
- análise
- analisar
- e
- Outro
- qualquer
- mais
- api
- aplicado
- Aplicar
- Aplicando
- apropriado
- aproximadamente
- SOMOS
- artificial
- inteligência artificial
- Inteligência artificial (AI)
- AS
- associado
- At
- anexar
- tentada
- auto
- automaticamente
- disponível
- evitar
- AWS
- em caminho duplo
- baseado
- BE
- Porque
- sido
- antes
- abaixo
- benéfico
- beneficiar
- Benefícios
- MELHOR
- melhores práticas
- Melhor
- Grande
- maior
- morada
- Bloquear
- Breakdown
- trazer
- construir
- construídas em
- mas a
- by
- CAN
- candidato
- candidatos
- capacidades
- Capacidade
- casas
- casos
- certo
- Alterações
- características
- carregar
- carregada
- acusações
- escolha
- Escolha
- escolha
- clássico
- Escalada
- Agrupar
- código
- frio
- combinações
- combinar
- combinado
- como
- vem
- comum
- geralmente
- completar
- componente
- componentes
- Computar
- computador
- Visão de Computador
- concorrente
- Configuração
- consecutivo
- Considerar
- Considerações
- consolidar
- Consolida
- consumida
- consumo
- Recipiente
- Containers
- contém
- contínuo
- núcleo
- correta
- Custo
- Gestão de Custos
- relação custo-benefício
- custos
- poderia
- crio
- criação
- Atualmente
- personalizadas
- Clientes
- diariamente
- dados,
- conjuntos de dados
- dias
- decidir
- Decidindo
- profundo
- deep learning
- Padrão
- Demanda
- depende
- implantar
- implantado
- Implantação
- desenvolvimento
- implanta
- Design
- projetado
- desejado
- detalhe
- detalhes
- Determinar
- diferente
- discutir
- Ecrã
- monitores
- distribuir
- do
- Não faz
- feito
- não
- duplo
- down
- download
- dois
- durante
- cada
- Mais cedo
- facilmente
- Leste
- ecossistema
- eficiente
- ou
- autorizar
- capacitação
- permitir
- permite
- Ponto final
- energia
- aumentar
- garantir
- Empreendimento
- Meio Ambiente
- ambientes
- igual
- Equivalente
- erro
- erros
- estabelece
- estimativa
- Europa
- avaliar
- Evento
- exemplo
- excedem
- exchange
- esperado
- vasta experiência
- experimentar
- explicado
- explorar
- explorador
- extensivamente
- extra
- olho
- facilitando
- FALHA
- fracassado
- família
- mais rápido
- Característica
- poucos
- menos
- Envie o
- Arquivos
- filtro
- filtragem
- filtros
- Primeiro nome
- caber
- flexível
- Foco
- seguinte
- segue
- Escolha
- encontrado
- quatro
- da
- cheio
- funções
- Além disso
- Ganho
- Geral
- gerando
- generativo
- IA generativa
- ter
- dado
- Bom estado, com sinais de uso
- GPU
- gráficos
- ótimo
- maior
- Grupo
- orientações
- Alças
- Ter
- ter
- he
- ajudar
- ajudou
- sua experiência
- Alta
- superior
- mais
- sua
- Horizontal
- hospedado
- hospedagem
- custos de hospedagem
- anfitriões
- hora
- HORÁRIO
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- http
- HTTPS
- Centenas
- i
- ideal
- identificar
- inativo
- if
- Impacto
- impactando
- importante
- melhorar
- in
- incluir
- inclui
- Incluindo
- Aumenta
- indicam
- Individual
- indústrias
- INFORMAÇÕES
- Infraestrutura
- inovadores
- entrada
- insights
- instância
- instruções
- Inteligência
- interação
- internamente
- para dentro
- Introdução
- envolvendo
- Israel
- IT
- ESTÁ
- se
- Trabalho
- Empregos
- jpg
- Afiado
- manutenção
- Chave
- língua
- grande
- Maior
- Sobrenome
- Latência
- lançamento
- lançado
- conduzir
- Leads
- aprendido
- aprendizagem
- mínimo
- lições
- Lições Aprendidas
- Nível
- Alavancagem
- wifecycwe
- como
- Line
- ligado
- Lista
- literatura
- carregar
- local
- localização
- longo
- mais
- olhar
- Baixo
- diminuir
- Baixa
- máquina
- aprendizado de máquina
- a manter
- Manter
- mantém
- fazer
- FAZ
- gerencia
- gerenciados
- de grupos
- Ferramentas de gestão
- Gerente
- manualmente
- mapas
- marcado
- Match
- máximo
- Posso..
- significa
- Conheça
- Memória
- mencionado
- métrico
- Métrica
- Coração
- Médio Oriente
- poder
- mínimo
- Minutos
- ML
- Moda
- modelo
- modelos
- Monitore
- monitorados
- monitoração
- Mês
- mensal
- mês
- mais
- Filmes
- Ponto de extremidade multimodelo
- múltiplo
- Música
- devo
- nome
- nomes
- necessário
- você merece...
- necessário
- Cria
- rede
- CONEXÃO INTERROMPIDA
- Novo
- PNL
- não
- notificação
- notificações
- número
- objetos
- obter
- obtido
- of
- WOW!
- Oferece
- modo offline
- on
- ONE
- online
- só
- operar
- oportunidades
- ideal
- otimização
- Otimize
- otimizando
- Opção
- Opções
- or
- ordem
- organizações
- Outros
- Fora
- interrupção
- delineado
- saída
- marcante
- Acima de
- próprio
- Paralelo
- parâmetro
- parâmetros
- parte
- passar
- Passagem
- apaixonado
- passado
- padrão
- padrões
- Pagar
- percentagem
- atuação
- significativo
- periodicamente
- perspectiva
- escolher
- oleoduto
- plano
- planos
- platão
- Inteligência de Dados Platão
- PlatãoData
- Privacidade
- possivelmente
- Publique
- POSTAGENS
- poderoso
- prática
- práticas
- Previsões
- preço
- preços
- modelo de precificação
- Proactive
- processo
- Processado
- processos
- em processamento
- processadores
- Produção
- Promoção
- fornecer
- fornecido
- fornece
- fornecendo
- provisão
- fins
- Colocar
- consultas
- alcance
- Taxa
- em vez
- alcançar
- Leitura
- reais
- em tempo real
- receber
- recebido
- recebe
- recomendar
- recomendações
- Recomenda
- recomenda
- registro
- registros
- reduzir
- região
- Releases
- permanecem
- remoto
- Removido
- Denunciar
- Relatórios
- Relatórios
- solicitar
- pedidos
- requeridos
- Requisitos
- recurso
- Recursos
- resposta
- DESCANSO
- resultar
- Resultados
- Retorna
- certo
- Rocha
- Rolo
- rotas
- Regra
- regras
- Execute
- corrida
- sábio
- Inferência do SageMaker
- mesmo
- Salvar
- Poupança
- Escala
- Escalas
- dimensionamento
- cenários
- programado
- arranhar
- Scripts
- segundo
- seções
- Vejo
- selecionado
- selecionando
- senior
- enviei
- separado
- Série
- Serverless
- serviço
- Serviços
- de servir
- conjunto
- contexto
- vários
- Shadow
- Partilhar
- ela
- rede de apoio social
- mostrar
- mostrou
- mostrando
- Shows
- Similarmente
- simples
- desde
- solteiro
- Tamanho
- tamanhos
- Fatia
- pequeno
- menor
- So
- Soluções
- alguns
- fonte
- especialista
- específico
- especificações
- gastar
- divisão
- pilha
- padrão
- começo
- começado
- Passo
- armazenamento
- armazenadas
- discordaram
- estruturada
- sucesso
- bem sucedido
- entraram com sucesso
- tal
- suficiente
- adequado
- ajuda
- suporte proativo
- Suportado
- suportes
- .
- TAG
- Tire
- toma
- tarefas
- Profissionais
- Dados Técnicos:
- teste
- ensaio
- testes
- do que
- que
- A
- deles
- Eles
- então
- Lá.
- assim
- assim sendo
- Este
- coisas
- isto
- aqueles
- Através da
- Taxa de transferência
- tempo
- vezes
- para
- ferramenta
- ferramentas
- tópico
- Total
- tráfego
- Training
- Transformar
- transformadores
- Tendências
- verdadeiro
- voltas
- tipo
- tipos
- subjacente
- ao contrário
- imprevisível
- carregado
- Uso
- usar
- caso de uso
- usava
- usos
- utilização
- geralmente
- Utilizando
- VALIDAR
- valor
- Valores
- Variante
- vário
- Ver
- visibilidade
- visão
- visualização
- volume
- volumes
- esperar
- queremos
- Caminho..
- we
- web
- serviços web
- BEM
- O Quê
- quando
- se
- qual
- enquanto
- Largo
- Ampla variedade
- precisarão
- de
- dentro
- sem
- trabalhou
- trabalhador
- trabalhadores
- trabalho
- escrita
- escrito
- Vocês
- investimentos
- zefirnet
- zero