Saiba como o modelo de serviço preenche a lacuna entre modelos treinados e produção. Explore estratégias de implementação para Ultralytics na Ultralytics .
O serviço de modelo é o processo de hospedar um modelo de aprendizagem automática treinado e disponibilizar a sua funcionalidade para aplicações de software através de uma interface de rede. Ele atua como uma ponte entre um ficheiro de modelo estático guardado num disco e um sistema ativo que processa dados do mundo real. Depois que um modelo conclui a fase de treinamento de aprendizado de máquina (ML), ele deve ser integrado a um ambiente de produção onde possa receber entradas — como imagens, texto ou dados tabulares — e retornar previsões. Isso geralmente é feito envolvendo o modelo em uma Interface de Programação de Aplicativos (API), permitindo que ele se comunique com servidores web, aplicativos móveis ou dispositivos IoT.
O objetivo principal do modelo de serviço é operacionalizar os recursos de modelagem preditiva de forma eficaz. Enquanto o treinamento se concentra na precisão e na minimização de perdas, o serviço se concentra em métricas de desempenho, como latência (a rapidez com que uma previsão é retornada) e rendimento (quantas solicitações podem ser processadas por segundo). Uma infraestrutura de serviço robusta garante que os sistemas de visão computacional (CV) permaneçam confiáveis sob cargas pesadas. Isso geralmente envolve tecnologias como containerização usando ferramentas como Docker, que empacota o modelo com suas dependências para garantir um comportamento consistente em diferentes ambientes de computação.
O serviço de modelos potencia funcionalidades de IA omnipresentes em vários sectores, permitindo a tomada imediata de decisões com base em dados.
Para utilizar um modelo de forma eficaz, muitas vezes é vantajoso exportar modelos para um formato padronizado, como ONNX, que promove a interoperabilidade entre diferentes estruturas de treino e motores de serviço. O exemplo a seguir demonstra como carregar um modelo e executar a inferência, simulando a lógica que existiria dentro de um ponto final de serviço usando Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")
A escolha da estratégia de serviço depende muito do caso de uso específico. O serviço online fornece respostas imediatas por meio de protocolos como REST ou gRPC, o que é essencial para aplicações web voltadas para o utilizador. Por outro lado, o serviço em lote processa grandes volumes de dados offline, sendo adequado para tarefas como a geração de relatórios noturnos . Para aplicações que exigem privacidade ou baixa latência sem dependência da Internet, a IA de ponta transfere o processo de serviço diretamente para o dispositivo, utilizando formatos otimizados como TensorRT para maximizar o desempenho em hardware restrito. Muitas organizações aproveitam a Ultralytics para simplificar a implementação desses modelos em vários pontos finais, incluindo APIs na nuvem e dispositivos de ponta.
Embora intimamente relacionado, o "Model Serving" é distinto da implementação e da inferência do modelo. Inferência.