Como executar um modelo do Amazon Rekognition Custom Labels - Rekognition

Como executar um modelo do Amazon Rekognition Custom Labels

Se estiver satisfeito com o desempenho do modelo, poderá começar a usá-lo. É possível iniciar e interromper um modelo usando o console ou o AWS SDK. O console também inclui exemplos de operações do SDK que podem ser usados.

Unidades de inferência

Ao iniciar seu modelo, especifique o número de recursos computacionais, conhecidos como unidade de inferência, que o modelo usa.

Importante

Há uma cobrança pelo número de horas em que seu modelo está em execução e pelo número de unidades de inferência que seu modelo usa enquanto está em execução com base em como a execução do seu modelo é configurada. Por exemplo, se você iniciar o modelo com duas unidades de inferência e usar o modelo por oito horas, haverá uma cobrança por 16 horas de inferência (oito horas de tempo de execução * duas unidades de inferência). Para obter mais informações, consulte Horas de inferência. Se não interromper seu modelo explicitamente, haverá uma cobrança mesmo que não esteja analisando ativamente as imagens com seu modelo.

As transações por segundo (TPS) compatíveis com uma única unidade de inferência são afetadas por:

  • Um modelo que detecta rótulos em nível de imagem (classificação) geralmente tem um TPS maior do que um modelo que detecta e localiza objetos com caixas delimitadoras (detecção de objetos).

  • A complexidade do modelo.

  • Uma imagem de alta resolução requer mais tempo para análise.

  • Mais objetos em uma imagem exigem mais tempo para análise.

  • Imagens menores são analisadas mais rapidamente do que imagens maiores.

  • Uma imagem passada como bytes de imagem é analisada mais rapidamente do que primeiro fazer upload da imagem em um bucket do Amazon S3 e referenciar a imagem carregada. As imagens passadas como bytes de imagem devem ter menos de 4,0 MB. É recomendável usar bytes de imagem para processamento de imagens quase em tempo real e quando o tamanho da imagem for menor que 4,0 MB. Por exemplo, imagens capturadas de uma câmera IP.

  • O processamento de imagens armazenadas em um bucket do Amazon S3 é mais rápido do que baixar as imagens, convertê-las em bytes de imagem e passar os bytes da imagem para análise.

  • Analisar uma imagem já armazenada em um bucket do Amazon S3 é provavelmente mais rápido do que analisar a mesma imagem passada como bytes de imagem. Isso é bem válido se o tamanho da imagem for maior.

Se o número de chamadas para DetectCustomLabels exceder o máximo de TPS compatíveis com a soma das unidades de inferência que um modelo usa, o Amazon Rekognition Custom Labels retornará uma exceção ProvisionedThroughputExceededException.

Como gerenciar o throughput com unidades de inferência

É possível aumentar ou diminuir o throughput do seu modelo, dependendo das demandas da sua aplicação. Para aumentar o throughput, use unidades de inferência adicionais. Cada unidade de inferência adicional aumenta sua velocidade de processamento em uma unidade de inferência. Para obter informações sobre como calcular o número de unidades de inferência necessárias, consulte Calcular unidades de inferência para os modelos Amazon Rekognition Custom Labels e Amazon Lookout for Vision. Se quiser alterar o throughput compatível do modelo, você tem duas opções:

Adicionar ou remover unidades de inferência manualmente

Pare o modelo e reinicie com o número necessário de unidades de inferência. A desvantagem dessa abordagem é que o modelo não pode receber solicitações durante a reinicialização e não pode ser usado para lidar com picos de demanda. Use esta abordagem se seu modelo tiver um throughput estável e seu caso de uso puder tolerar de 10 a 20 minutos de tempo de inatividade. Um exemplo seria se você quiser fazer chamadas em lote para seu modelo usando uma programação semanal.

Unidades de inferência de ajuste de escala automático

Se seu modelo precisar acomodar picos de demanda, o Amazon Rekognition Custom Labels pode escalar automaticamente o número de unidades de inferência que seu modelo usa. À medida que a demanda aumenta, o Amazon Rekognition Custom Labels adiciona unidades de inferência adicionais ao modelo e as remove quando a demanda diminui.

Para permitir que o Amazon Rekognition Custom Labels escalem automaticamente as unidades de inferência de um modelo, inicie o modelo e defina o número máximo de unidades de inferência que ele pode usar usando o parâmetro MaxInferenceUnits. Definir um número máximo de unidades de inferência permite gerenciar o custo de execução do modelo limitando o número de unidades de inferência disponíveis para ele. Se não especificar um número máximo de unidades, o Amazon Rekognition Custom Labels não escalará automaticamente seu modelo, usando apenas o número de unidades de inferência com as quais você começou. Para obter informações sobre o número máximo de unidades de inferência, consulte Service Quotas.

Também é possível especificar um número mínimo de unidades de inferência usando o parâmetro MinInferenceUnits. Isto permite que você especifique o throughput mínimo para seu modelo, em que uma única unidade de inferência representa uma hora de tempo de processamento.

nota

É possível pode definir o número máximo de unidades de inferência com o console do Amazon Rekognition Custom Labels. Em vez disso, especifique o parâmetro de entrada MaxInferenceUnits para a operação StartProjectVersion.

O Amazon Rekognition Custom Labels fornece as seguintes métricas do Amazon CloudWatch Logs que podem ser usadas para determinar o status atual de escalabilidade automática de um modelo.

Métrica Descrição

DesiredInferenceUnits

O número de unidades de inferência que o Amazon Rekognition Custom Labels está aumentando ou diminuindo.

InServiceInferenceUnits

O número de unidades de inferência que o modelo está usando.

Se DesiredInferenceUnits =InServiceInferenceUnits, o Amazon Rekognition Custom Labels não está escalando o número de unidades de inferência neste momento.

Se DesiredInferenceUnits < InServiceInferenceUnits, o Amazon Rekognition Custom Labels está aumentando a escala verticalmente para o valor de DesiredInferenceUnits.

Se DesiredInferenceUnits < InServiceInferenceUnits, o Amazon Rekognition Custom Labels está reduzindo a escala verticalmente para o valor de DesiredInferenceUnits.

Para obter mais informações sobre as métricas retornadas pelo Amazon Rekognition Custom Labels e pelas dimensões de filtragem, consulte Métricas do CloudWatch para o Rekognition.

Para descobrir o número máximo de unidades de inferência que você solicitou para um modelo, chame DescribeProjectsVersion e verifique o campo MaxInferenceUnits na resposta. Para ver um código demonstrativo, consulte Como descrever um modelo (SDK).

Zonas de disponibilidade

O Amazon Rekognition Custom Labels distribui unidades de inferência em várias zonas de disponibilidade em uma região da AWS para oferecer maior disponibilidade. Para ter mais informações, consulte zonas de disponibilidade. Para ajudar a proteger seus modelos de produção contra interrupções na zona de disponibilidade e falhas na unidade de inferência, inicie seus modelos de produção com pelo menos duas unidades de inferência.

Se ocorrer uma interrupção na zona de disponibilidade, todas as unidades de inferência na zona de disponibilidade ficarão indisponíveis e a capacidade do modelo será reduzida. As chamadas para DetectCustomLabels são redistribuídas nas unidades de inferência restantes. Estas chamadas têm sucesso se não excederem as transações por segundo (TPS) compatíveis com as unidades de inferência restantes. Depois que a AWS reparar a zona de disponibilidade, as unidades de inferência são reiniciadas e a capacidade total é restaurada.

Se uma única unidade de inferência falhar, o Amazon Rekognition Custom Labels iniciará automaticamente uma nova unidade de inferência na mesma zona de disponibilidade. A capacidade do modelo é reduzida até que a nova unidade de inferência seja iniciada.