Simplifique os fluxos de trabalho de IA/ML com Docker! Aprenda a implantar modelos, garantir a reprodutibilidade e escalar com eficiência em diferentes ambientes.
O Docker é uma plataforma de código aberto que automatiza a implantação, o dimensionamento e o gerenciamento de aplicativos por meio da contentorização. No domínio em rápida evolução da inteligência artificial (IA), o Docker resolve um desafio crítico conhecido como o problema "funciona na minha máquina". Ao empacotar um modelo de modelo de aprendizagem automática (ML) juntamente com o seu código, tempo de execução, ferramentas de sistema e bibliotecas numa unidade padronizada chamada contentor, o Docker garante que o software será executado rigorosamente da mesma forma, independentemente do ambiente de computação. Essa consistência é vital para os pipelines modernos de pipelines de MLOps modernos, facilitando transições suaves do desenvolvimento local para infraestrutura de computação em nuvem ou dispositivos de borda.
Compreender o Docker requer familiaridade com três componentes fundamentais que definem o seu fluxo de trabalho.
O Docker é indispensável para a implantação de soluções robustas de soluções robustas de visão computacional (CV).
Executar a inferência em um contêiner do Docker ajuda a garantir que seu ambiente permaneça limpo e suas dependências não não entrem em conflito com outros pacotes de nível de sistema. Abaixo está um script Python simples que normalmente seria executado dentro de um contêiner Docker para executar segmentação de imagem ou tarefas de tarefas de deteção.
from ultralytics import YOLO
# Load the YOLO11 model (downloads automatically if not present)
model = YOLO("yolo11n.pt")
# Perform object detection on an online image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of objects detected to verify inference
print(f"Detected {len(results[0].boxes)} objects in the image.")
Embora ambas as tecnologias isolem as aplicações, funcionam de forma diferente.
Docker e Kubernetes são ferramentas distintas, mas complementares complementares. O Docker é utilizado para criar e executar contentores individuais. No entanto, ao gerenciar centenas de contêineres em um cluster de servidores para servir modelos, é necessária uma ferramenta de orquestração é necessária. O Kubernetes coordena o agendamento e a execução de contêineres Docker, garantindo alta disponibilidade e escalabilidade para agentes de agentes de IA de nível empresarial. Você pode ler mais sobre essa sinergia na documentação do documentação do Kubernetes.
Desenvolvimentos futuros no ecossistema Ultralytics , como a futura Plataforma Ultralytics , aproveitarão esses princípios de contentorização para simplificar os fluxos de trabalho de fornecimento, formação e implementação de dados, abstraindo ainda mais as complexidades do gerenciamento de infraestrutura.