Um guia para implementar o YOLO26 nos endpoints do Amazon SageMaker#
A implementação de modelos avançados de visão computacional, como o YOLO26 da Ultralytics, nos endpoints do Amazon SageMaker abre um vasto leque de possibilidades para várias aplicações de aprendizagem automática. Para usar estes modelos eficazmente, é essencial compreender os processos de configuração e implementação. O YOLO26 torna-se ainda mais poderoso quando integrado sem dificuldades no Amazon SageMaker, um serviço de aprendizagem automática robusto e escalável da AWS.
Este guia acompanha-te passo a passo no processo de implementação de modelos PyTorch do YOLO26 nos endpoints do Amazon SageMaker. Vais aprender o essencial para preparar o teu ambiente AWS, configurar corretamente o modelo e usar ferramentas como o AWS CloudFormation e o Kit de Desenvolvimento em Nuvem da AWS (CDK) para a implementação.
Amazon SageMaker#
O Amazon SageMaker é um serviço de aprendizagem automática da Amazon Web Services (AWS) que simplifica o processo de criação, treino e implementação de modelos de aprendizagem automática. Disponibiliza uma vasta gama de ferramentas para gerir vários aspetos dos fluxos de trabalho de aprendizagem automática. Isso inclui funcionalidades automatizadas para ajustar modelos, opções para treinar modelos em grande escala e métodos simples para implementar modelos em produção. O SageMaker suporta frameworks populares de aprendizagem automática, oferecendo a flexibilidade necessária para projetos diversificados. As suas funcionalidades também abrangem a rotulagem de dados, a gestão de fluxos de trabalho e a análise de desempenho.
Implementar o YOLO26 nos endpoints do Amazon SageMaker#
A implementação do YOLO26 no Amazon SageMaker permite-te usar o ambiente gerido para inferência em tempo real e tirar partido de funcionalidades como o escalonamento automático. Consulta abaixo a arquitetura da AWS.
Passo 1: Configura o teu ambiente AWS#
Primeiro, confirma que tens os seguintes pré-requisitos:
-
Uma conta AWS: Se ainda não tiveres uma, cria uma conta AWS.
-
Funções IAM configuradas: Vais precisar de uma função IAM com as permissões necessárias para o Amazon SageMaker, o AWS CloudFormation e o Amazon S3. Esta função deve ter políticas que permitam o acesso a estes serviços.
-
AWS CLI: Se ainda não estiver instalada, transfere e instala a Interface de Linha de Comandos da AWS (CLI) e configura-a com os dados da tua conta. Segue as instruções da AWS CLI para a instalação.
-
AWS CDK: Se ainda não estiver instalado, instala o Kit de Desenvolvimento em Nuvem da AWS (CDK), que será usado para criar scripts de implementação. Segue as instruções do AWS CDK para a instalação.
-
Quota de serviço adequada: Confirma que tens quotas suficientes para dois recursos distintos no Amazon SageMaker: uma para
ml.m5.4xlarge, destinada à utilização de endpoints, e outra paraml.m5.4xlarge, destinada à utilização de instâncias de notebooks. Cada uma requer um valor de quota mínimo de um. Se as tuas quotas atuais forem inferiores a este requisito, é importante pedires um aumento para cada uma. Podes pedir um aumento de quota seguindo as instruções detalhadas na documentação das quotas de serviço da AWS.
Passo 2: Clona o repositório YOLO26 SageMaker#
O passo seguinte é clonar o repositório AWS específico que contém os recursos para implementar o YOLO26 no SageMaker. Este repositório, alojado no GitHub, inclui os scripts CDK e os ficheiros de configuração necessários.
-
Clona o repositório do GitHub: Executa o seguinte comando no terminal para clonar o repositório host-yolov8-on-sagemaker-endpoint:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
Acede ao diretório clonado: Muda para o diretório do repositório clonado:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
Passo 3: Configura o ambiente CDK#
Agora que tens o código necessário, configura o teu ambiente para implementar com o AWS CDK.
-
Cria um ambiente virtual Python: Assim, isolas o teu ambiente Python e as respetivas dependências. Executa:
python3 -m venv .venv -
Ativa o ambiente virtual:
source .venv/bin/activate -
Instala as dependências: Instala as dependências Python necessárias para o projeto:
pip3 install -r requirements.txt -
Atualiza a biblioteca AWS CDK: Confirma que tens a versão mais recente da biblioteca AWS CDK:
pip install --upgrade aws-cdk-lib
Passo 4: Cria a pilha do AWS CloudFormation#
-
Sintetiza a aplicação CDK: Gera o modelo do AWS CloudFormation a partir do teu código CDK:
cdk synth -
Inicializa a aplicação CDK: Prepara o teu ambiente AWS para a implementação com CDK:
cdk bootstrap -
Implementa a pilha: Isto criará os recursos AWS necessários e implementará o teu modelo:
cdk deploy
Passo 5: Implementa o modelo YOLO#
Antes de começares a seguir as instruções de implementação, consulta a variedade de modelos YOLO26 disponibilizados pela Ultralytics. Assim, poderás escolher o modelo mais adequado aos requisitos do teu projeto.
Depois de criares a pilha do AWS CloudFormation, o passo seguinte é implementar o YOLO26.
-
Abre a instância de notebook: Acede à consola AWS e abre o serviço Amazon SageMaker. Seleciona «Notebook Instances» no painel e, em seguida, localiza a instância de notebook criada pelo teu script de implementação CDK. Abre a instância de notebook para acederes ao ambiente Jupyter.
-
Acede a inference.py e modifica-o: Depois de abrires a instância de notebook do SageMaker no Jupyter, localiza o ficheiro inference.py. Edita a função output_fn em inference.py como mostrado abaixo e guarda as alterações no script, garantindo que não há erros de sintaxe.
import json def output_fn(prediction_output, content_type): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" print("Executing output_fn from inference.py ...") infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() if result.masks is not None: infer["masks"] = result.masks.numpy().data.tolist() if result.keypoints is not None: infer["keypoints"] = result.keypoints.numpy().data.tolist() if result.obb is not None: infer["obb"] = result.obb.numpy().data.tolist() if result.probs is not None: infer["probs"] = result.probs.numpy().data.tolist() return json.dumps(infer) -
Implementa o endpoint usando 1_DeployEndpoint.ipynb: No ambiente Jupyter, abre o notebook 1_DeployEndpoint.ipynb, localizado no diretório sm-notebook. Segue as instruções do notebook e executa as células para transferir o modelo YOLO26, empacotá-lo com o código de inferência atualizado e carregá-lo para um bucket do Amazon S3. O notebook irá orientar-te na criação e implementação de um endpoint do SageMaker para o modelo YOLO26.
Passo 6: Testa a tua implementação#
Agora que o teu modelo YOLO26 está implementado, é importante testar o seu desempenho e funcionamento.
-
Abre o notebook de teste: No mesmo ambiente Jupyter, localiza e abre o notebook 2_TestEndpoint.ipynb, também no diretório sm-notebook.
-
Executa o notebook de teste: Segue as instruções do notebook para testar o endpoint implementado do SageMaker. Isso inclui enviar uma imagem para o endpoint e executar inferências. Em seguida, cria um gráfico da saída para visualizar o desempenho e a precisão do modelo, como mostrado abaixo.
- Limpa os recursos: O notebook de teste também irá orientar-te no processo de remoção do endpoint e do modelo alojado. Este é um passo importante para gerir eficazmente os custos e os recursos, especialmente se não pretenderes usar o modelo implementado de imediato.
Passo 7: Monitorização e gestão#
Após os testes, é essencial monitorizar e gerir continuamente o modelo implementado.
-
Monitoriza com o Amazon CloudWatch: Verifica regularmente o desempenho e o estado do teu endpoint do SageMaker usando o Amazon CloudWatch.
-
Gere o endpoint: Usa a consola do SageMaker para gerir continuamente o endpoint. Isso inclui escalar, atualizar ou voltar a implementar o modelo conforme necessário.
Ao concluir estas etapas, você terá implantado e testado com sucesso um modelo YOLO26 no Amazon SageMaker Endpoints. Esse processo não só proporciona experiência prática no uso dos serviços da AWS para implantar modelos de aprendizado de máquina, como também estabelece as bases para implantar outros modelos avançados no futuro.
Resumo#
Este guia mostrou, passo a passo, como implantar o YOLO26 no Amazon SageMaker Endpoints usando o AWS CloudFormation e o AWS Cloud Development Kit (CDK). O processo inclui clonar o repositório GitHub necessário, configurar o ambiente do CDK, implantar o modelo usando os serviços da AWS e testar seu desempenho no SageMaker.
Para saber mais detalhes técnicos, consulte este artigo no blog de aprendizado de máquina da AWS. Você também pode consultar a documentação oficial do Amazon SageMaker para saber mais sobre os diversos recursos e funcionalidades.
Você tem interesse em conhecer outras integrações do YOLO26? Acesse a página do guia de integrações da Ultralytics para descobrir ferramentas e recursos adicionais que podem aprimorar seus projetos de aprendizado de máquina.
Perguntas frequentes#
Para implantar o modelo Ultralytics YOLO26 no Amazon SageMaker Endpoints, siga estas etapas:
- Configure seu ambiente da AWS: verifique se você tem uma conta da AWS, funções do IAM com as permissões necessárias e o AWS CLI configurado. Instale o AWS CDK, caso ainda não tenha feito isso (consulte as instruções do AWS CDK).
- Clone o repositório YOLO26 SageMaker:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk - Configure o ambiente do CDK: crie um ambiente virtual Python, ative-o, instale as dependências e atualize a biblioteca AWS CDK.
python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt pip install --upgrade aws-cdk-lib - Implante usando o AWS CDK: sintetize e implante a pilha do CloudFormation e inicialize o ambiente.
cdk synth cdk bootstrap cdk deploy
Para saber mais, consulte a seção da documentação.
Para implantar o YOLO26 no Amazon SageMaker, verifique se você atende aos seguintes pré-requisitos:
- Conta da AWS: uma conta ativa da AWS (cadastre-se aqui).
- Funções do IAM: funções do IAM configuradas com permissões para o SageMaker, o CloudFormation e o Amazon S3.
- AWS CLI: interface de linha de comando da AWS instalada e configurada (guia de instalação do AWS CLI).
- AWS CDK: AWS Cloud Development Kit instalado (guia de configuração do CDK).
- Cotas de serviço: cotas suficientes para instâncias
ml.m5.4xlargepara uso tanto com endpoints quanto com notebooks (solicite um aumento de cota).
Para instruções detalhadas de configuração, consulte esta seção.
Usar o Ultralytics YOLO26 no Amazon SageMaker oferece várias vantagens:
- Escalabilidade e gerenciamento: o SageMaker oferece um ambiente gerenciado com recursos como escalabilidade automática, que atende às necessidades de inferência em tempo real.
- Integração com os serviços da AWS: integre-se facilmente a outros serviços da AWS, como o S3 para armazenamento de dados, o CloudFormation para infraestrutura como código e o CloudWatch para monitoramento.
- Facilidade de implantação: configuração simplificada com scripts do AWS CDK e processos de implantação otimizados.
- Desempenho: aproveite a infraestrutura de alto desempenho do Amazon SageMaker para executar tarefas de inferência em grande escala com eficiência.
Saiba mais sobre as vantagens de usar o SageMaker na seção de introdução.
Sim, você pode personalizar a lógica de inferência do YOLO26 no Amazon SageMaker:
-
Modifique
inference.py: localize e personalize a funçãooutput_fnno arquivoinference.pypara adaptar os formatos de saída.import json def output_fn(prediction_output, content_type): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() # Adicione mais lógica de processamento, se necessário return json.dumps(infer) -
Implante o modelo atualizado: para incluir essas alterações, implante novamente o modelo usando os notebooks Jupyter fornecidos (
1_DeployEndpoint.ipynb).
Consulte as etapas detalhadas para implantar o modelo modificado.
-
Para testar o modelo YOLO26 implantado no Amazon SageMaker:
- Abra o notebook de teste: localize o notebook
2_TestEndpoint.ipynbno ambiente Jupyter do SageMaker. - Execute o notebook: siga as instruções do notebook para enviar uma imagem ao endpoint, executar a inferência e exibir os resultados.
- Visualize os resultados: use as funcionalidades de plotagem integradas para visualizar métricas de desempenho, como as caixas delimitadoras dos objetos detectados.
Para ver instruções completas de teste, acesse a seção de testes.
- Abra o notebook de teste: localize o notebook