Um guia para implantar o YOLO26 em endpoints do Amazon SageMaker
Implantar modelos avançados de visão computacional, como o YOLO26 da Ultralytics, em endpoints do Amazon SageMaker abre uma ampla gama de possibilidades para várias aplicações de aprendizado de máquina. A chave para usar esses modelos de forma eficaz reside na compreensão de seus processos de configuração e implantação. O YOLO26 torna-se ainda mais poderoso quando integrado perfeitamente ao Amazon SageMaker, um serviço de aprendizado de máquina robusto e escalável da AWS.
Este guia levará você passo a passo pelo processo de implantação de modelos PyTorch YOLO26 em endpoints do Amazon SageMaker. Você aprenderá o essencial sobre como preparar seu ambiente AWS, configurar o modelo adequadamente e usar ferramentas como o AWS CloudFormation e o AWS Cloud Development Kit (CDK) para a implantação.
Amazon SageMaker
Amazon SageMaker é um serviço de aprendizado de máquina da Amazon Web Services (AWS) que simplifica o processo de construir, treinar e implantar modelos de aprendizado de máquina. Ele oferece uma ampla gama de ferramentas para lidar com vários aspectos dos fluxos de trabalho de aprendizado de máquina. Isso inclui recursos automatizados para ajustar modelos, opções para treinar modelos em escala e métodos diretos para implantar modelos em produção. O SageMaker suporta frameworks de aprendizado de máquina populares, oferecendo a flexibilidade necessária para diversos projetos. Seus recursos também cobrem rotulagem de dados, gerenciamento de fluxo de trabalho e análise de desempenho.
Implantando o YOLO26 em endpoints do Amazon SageMaker
Implantar o YOLO26 no Amazon SageMaker permite que você use seu ambiente gerenciado para inferência em tempo real e aproveite recursos como escalonamento automático. Dê uma olhada na arquitetura AWS abaixo.
Passo 1: Configure seu ambiente AWS
Primeiro, garanta que você tenha os seguintes pré-requisitos:
-
Uma conta AWS: Se você ainda não tem uma, crie uma conta AWS.
-
Funções IAM configuradas: Você precisará de uma função IAM com as permissões necessárias para o Amazon SageMaker, AWS CloudFormation e Amazon S3. Essa função deve ter políticas que permitam o acesso a esses serviços.
-
AWS CLI: Se ainda não estiver instalado, baixe e instale a AWS Command Line Interface (CLI) e configure-a com os detalhes da sua conta. Siga as instruções da AWS CLI para a instalação.
-
AWS CDK: Se ainda não estiver instalado, instale o AWS Cloud Development Kit (CDK), que será usado para criar scripts de implantação. Siga as instruções do AWS CDK para a instalação.
-
Cota de serviço adequada: Confirme se você possui cotas suficientes para dois recursos separados no Amazon SageMaker: um para
ml.m5.4xlargepara uso de endpoint e outro paraml.m5.4xlargepara uso de instância de notebook. Cada um desses requer um valor de cota mínimo de um. Se suas cotas atuais estiverem abaixo desse requisito, é importante solicitar um aumento para cada. Você pode solicitar um aumento de cota seguindo as instruções detalhadas na documentação de cotas de serviço da AWS.
Passo 2: Clone o repositório do YOLO26 no SageMaker
O próximo passo é clonar o repositório AWS específico que contém os recursos para implantar o YOLO26 no SageMaker. Este repositório, hospedado no GitHub, inclui os scripts CDK necessários e arquivos de configuração.
-
Clone o repositório GitHub: Execute o seguinte comando no seu terminal para clonar o repositório host-yolov8-on-sagemaker-endpoint:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
Navegue até o diretório clonado: Mude seu diretório para o repositório clonado:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
Passo 3: Configure o ambiente CDK
Agora que você tem o código necessário, configure seu ambiente para a implantação com o AWS CDK.
-
Crie um ambiente virtual Python: Isso isola seu ambiente Python e dependências. Execute:
python3 -m venv .venv -
Ative o ambiente virtual:
source .venv/bin/activate -
Instale as dependências: Instale as dependências Python necessárias para o projeto:
pip3 install -r requirements.txt -
Atualize a biblioteca AWS CDK: Garanta que você tenha a versão mais recente da biblioteca AWS CDK:
pip install --upgrade aws-cdk-lib
Passo 4: Crie o stack do AWS CloudFormation
-
Sintetize a aplicação CDK: Gere o template do AWS CloudFormation a partir do seu código CDK:
cdk synth -
Faça o bootstrap da aplicação CDK: Prepare seu ambiente AWS para a implantação do CDK:
cdk bootstrap -
Implante o stack: Isso criará os recursos AWS necessários e implantará seu modelo:
cdk deploy
Passo 5: Implante o modelo YOLO
Antes de mergulhar nas instruções de implantação, certifique-se de conferir a gama de modelos YOLO26 oferecidos pela Ultralytics. Isso ajudará você a escolher o modelo mais apropriado para os requisitos do seu projeto.
Após criar o stack do AWS CloudFormation, o próximo passo é implantar o YOLO26.
-
Abra a instância do notebook: Vá para o console da AWS e navegue até o serviço Amazon SageMaker. Selecione "Notebook Instances" no painel, localize a instância do notebook que foi criada pelo seu script de implantação CDK. Abra a instância do notebook para acessar o ambiente Jupyter.
-
Acesse e modifique o inference.py: Após abrir a instância do notebook SageMaker no Jupyter, localize o arquivo inference.py. Edite a função output_fn no inference.py conforme mostrado abaixo e salve suas alterações no script, garantindo que não existam erros de sintaxe.
import json def output_fn(prediction_output): """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) -
Implante o endpoint usando o 1_DeployEndpoint.ipynb: No ambiente Jupyter, abra o notebook 1_DeployEndpoint.ipynb localizado no diretório sm-notebook. Siga as instruções no notebook e execute as células para baixar o modelo YOLO26, empacotá-lo com o código de inferência atualizado e fazer o upload para um bucket do Amazon S3. O notebook guiará você pela criação e implantação de um endpoint do SageMaker para o modelo YOLO26.
Passo 6: Testando sua implantação
Agora que seu modelo YOLO26 está implantado, é importante testar seu desempenho e funcionalidade.
-
Abra o notebook de teste: No mesmo ambiente Jupyter, localize e abra o notebook 2_TestEndpoint.ipynb, também no diretório sm-notebook.
-
Execute o notebook de teste: Siga as instruções dentro do notebook para testar o endpoint do SageMaker implantado. Isso inclui enviar uma imagem para o endpoint e executar inferências. Em seguida, você plotará a saída para visualizar o desempenho e a precisão do modelo, como mostrado abaixo.
- Limpeza de recursos: O notebook de teste também guiará você pelo processo de limpeza do endpoint e do modelo hospedado. Este é um passo importante para gerenciar custos e recursos de forma eficaz, especialmente se você não planeja usar o modelo implantado imediatamente.
Passo 7: Monitoramento e gerenciamento
Após o teste, o monitoramento e o gerenciamento contínuos do seu modelo implantado são essenciais.
-
Monitore com o Amazon CloudWatch: Verifique regularmente o desempenho e a saúde do seu endpoint SageMaker usando o Amazon CloudWatch.
-
Gerencie o endpoint: Use o console do SageMaker para o gerenciamento contínuo do endpoint. Isso inclui escalar, atualizar ou reimplantar o modelo conforme necessário.
Ao concluir esses passos, você terá implantado e testado com sucesso um modelo YOLO26 em endpoints do Amazon SageMaker. Este processo não apenas equipa você com experiência prática no uso de serviços AWS para implantação de aprendizado de máquina, mas também estabelece a base para implantar outros modelos avançados no futuro.
Resumo
Este guia levou você passo a passo pela implantação do YOLO26 em endpoints do Amazon SageMaker usando o AWS CloudFormation e o AWS Cloud Development Kit (CDK). O processo inclui clonar o repositório GitHub necessário, configurar o ambiente CDK, implantar o modelo usando serviços AWS e testar seu desempenho no SageMaker.
Para mais detalhes técnicos, consulte este artigo no Blog de Aprendizado de Máquina da AWS. Você também pode conferir a documentação oficial do Amazon SageMaker para mais insights sobre vários recursos e funcionalidades.
Você está interessado em saber mais sobre diferentes integrações do YOLO26? Visite a página do guia de integrações da Ultralytics para descobrir ferramentas e capacidades adicionais que podem aprimorar seus projetos de aprendizado de máquina.
FAQ
Como implanto o modelo YOLO26 da Ultralytics em endpoints do Amazon SageMaker?
Para implantar o modelo YOLO26 da Ultralytics em endpoints do Amazon SageMaker, siga estes passos:
- Configure seu ambiente AWS: Certifique-se de ter uma conta AWS, funções IAM com as permissões necessárias e a AWS CLI configurada. Instale o AWS CDK caso ainda não o tenha feito (consulte as instruções do AWS CDK).
- Clone o repositório do YOLO26 no 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 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 o stack do CloudFormation, faça o bootstrap do ambiente.
cdk synth cdk bootstrap cdk deploy
Para mais detalhes, reveja a seção de documentação.
Quais são os pré-requisitos para implantar o YOLO26 no Amazon SageMaker?
Para implantar o YOLO26 no Amazon SageMaker, certifique-se de ter os seguintes pré-requisitos:
- Conta AWS: Conta AWS ativa (inscreva-se aqui).
- Funções IAM: Funções IAM configuradas com permissões para o SageMaker, CloudFormation e Amazon S3.
- AWS CLI: AWS Command Line Interface instalada e configurada (guia de instalação da 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 de endpoint e notebook (solicite um aumento de cota).
Para a configuração detalhada, consulte esta seção.
Por que devo usar o YOLO26 da Ultralytics no Amazon SageMaker?
Usar o YOLO26 da Ultralytics no Amazon SageMaker oferece várias vantagens:
- Escalabilidade e gerenciamento: O SageMaker oferece um ambiente gerenciado com recursos como escalonamento automático, que ajuda nas necessidades de inferência em tempo real.
- Integração com serviços AWS: Integre perfeitamente com 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 usando scripts AWS CDK e processos de implantação simplificados.
- Desempenho: Aproveite a infraestrutura de alto desempenho do Amazon SageMaker para executar tarefas de inferência em larga escala de forma eficiente.
Explore mais sobre as vantagens de usar o SageMaker na seção de introdução.
Posso personalizar a lógica de inferência para o YOLO26 no Amazon SageMaker?
Sim, você pode personalizar a lógica de inferência para o YOLO26 no Amazon SageMaker:
-
Modifique o
inference.py: Localize e personalize a funçãooutput_fnno arquivoinference.pypara adaptar os formatos de saída.import json def output_fn(prediction_output): """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() # Add more processing logic if necessary return json.dumps(infer) -
Implante o modelo atualizado: Certifique-se de reimplantar o modelo usando os notebooks Jupyter fornecidos (
1_DeployEndpoint.ipynb) para incluir essas alterações.
Consulte os passos detalhados para implantar o modelo modificado.
Como posso testar o modelo YOLO26 implantado no Amazon SageMaker?
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 para o endpoint, realizar a inferência e exibir os resultados.
- Visualize os resultados: Use as funcionalidades de plotagem integradas para visualizar métricas de desempenho, como caixas delimitadoras (bounding boxes) ao redor dos objetos detectados.
Para instruções de teste abrangentes, visite a seção de teste.