Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Kubernetes

Descubra como o Kubernetes otimiza as cargas de trabalho de IA/ML com implantação de modelos escaláveis, treinamento distribuído e gerenciamento eficiente de recursos.

O Kubernetes, frequentemente abreviado como K8s, é um sistema de orquestração de contentores de código aberto que automatiza a implantação, dimensionamento e gerenciamento de aplicativos em contêineres. Originalmente concebido por engenheiros da Google e atualmente e agora mantido pela Cloud Native Computing Foundation (CNCF), o Kubernetes evoluiu para o no padrão do setor para operar sistemas de software distribuídos e resilientes. Nos domínios em rápido avanço da Inteligência Artificial (IA) e Aprendizagem automática (ML), serve como uma camada de infraestrutura fundamental, permitindo às equipas de engenharia gerir eficientemente o ciclo de vida completo de modelos modelos complexos, desde o desenvolvimento experimental até à produção em grande escala.

Conceitos fundamentais e arquitetura

No seu núcleo, o Kubernetes gere um cluster de máquinas de computação, conhecidas como nós, que executam cargas de trabalho em contentores. Ele baseia-se fortemente na contentorização - umatecnologia que empacota o código junto com suas dependências - para garantir que os aplicativos sejam executados de forma consistente em diversos ambientes. O Kubernetes apresenta abstrações como "Pods", que são as menores unidades implantáveis, e "Deployments", que mantêm o estado desejado de uma aplicação. Ao dissociar o software do hardware subjacente, permite que os engenheiros de visão computacional se concentrem no desempenho do modelo desempenho do modelo em vez da manutenção do servidor, utilizando serviços geridos como Amazon EKS ou Google Kubernetes Engine (GKE).

Kubernetes em IA e Aprendizado de Máquina

Para Operações de aprendizagem automática (MLOps), o Kubernetes é indispensável porque resolve o desafio crítico da escalabilidade. As cargas de trabalho de IA modernas, particularmente aquelas que envolvem aprendizagem profunda, exigem recursos recursos computacionais significativos. O Kubernetes facilita o a formação distribuída através da agendamento inteligente de trabalhos de treinamento em vários nós equipados com unidades de processamento gráfico (GPUs). Durante a fase de implantação do modelo, o K8s garante alta disponibilidade para APIs de inferência, escalonando automaticamente o número de pods em execução para cima ou para baixo com base em demandas de tráfego em tempo real, o que otimiza tanto o desempenho quanto o desempenho. tempo real, o que optimiza o desempenho e o custo.

Aplicações no Mundo Real

  1. Monitorização do tráfego numa cidade inteligente: A administração de uma cidade implementa um Ultralytics YOLO11 para analisar o fluxo de tráfego e detect congestionamentos em tempo real. A aplicação é contentorizada e orquestrada num cluster Kubernetes. Utilizando o Autoscaler de pod horizontal, o sistema detecta picos nos dados de fluxo de vídeo durante as horas de pico e provisiona automaticamente pods de inferência pods de inferência adicionais. Isso garante serviços ininterruptos de serviços de deteção de objectos sem necessidade de provisionamento manual do servidor.
  2. Pesquisa visual no comércio eletrónico: Um retalhista em linha implementa um sistema de recomendação que permite aos utilizadores utilizadores pesquisem produtos através de imagens. O pipeline consiste em microsserviços distintos para pré-processamento de imagens, extração de caraterísticas extração de recursos e pesquisa de banco de dados vetorial. O Kubernetes orquestra esses componentes, permitindo que a equipa de engenharia de caraterísticas actualize o modelo de extração independentemente do índice de pesquisa, garantindo agilidade e estabilidade do sistema no seu ambiente de produção.

Distinguir tecnologias relacionadas

É útil entender como o Kubernetes difere de outras ferramentas de infraestrutura comuns:

  • Kubernetes vs. Docker: O Docker é uma ferramenta usada para criar e executar contêineres individuais, enquanto o Kubernetes é um orquestrador que gerencia esses contêineres em uma frota de máquinas. Normalmente, os desenvolvedores usam o Docker para criar suas imagens de aplicações de redes neurais e, em seguida, confiam no Kubernetes para executá-las em escala.
  • Kubernetes vs. Computação sem servidor: Plataformas sem servidor, como o AWS Lambda, abstraem toda a infraestrutura gerenciamento de infraestrutura, tornando-as ideais para funções orientadas a eventos. Em contraste, o Kubernetes fornece controle granular sobre rede, armazenamento e alocação de recursos, o que geralmente é necessário para aplicativos de longa execução e com estado ou arquiteturas de serviço de modelo complexas.

Ferramentas e Ecossistema

O ecossistema Kubernetes é vasto, incluindo ferramentas como Helm para gestão de pacotes e Prometheus para monitorizar a saúde do cluster. Para fluxos de trabalho de ML especializados, plataformas como o Kubeflow são executadas sobre o Kubernetes para simplificar os pipelines de ponta a ponta. Olhando para o futuro, a futura PlataformaUltralytics foi projetada para simplificar ainda mais esses processos, oferecendo um ambiente abrangente para gerenciamento de dados e treinamento de modelos que abstrai as complexidades da infraestrutura subjacente.

Exemplo: Script de inferência para contentorização

Para implantar um modelo no Kubernetes, primeiro você precisa de um script que realize a inferência. Este snippet Python demonstra o carregamento de um modelo YOLO11 , que pode então ser agrupado em um contêiner Docker e agendado pelo K8s.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image source
# This script would typically run inside a Kubernetes Pod
results = model("https://ultralytics.com/images/bus.jpg")

# Print the detected class names
for result in results:
    for cls_id in result.boxes.cls:
        print(f"Detected: {result.names[int(cls_id)]}")

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora