Glossário

Kubernetes

Descobre como o Kubernetes simplifica os fluxos de trabalho de IA, permitindo o escalonamento contínuo, a autocorreção e a implantação eficiente de modelos para computação nativa da nuvem.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O Kubernetes é uma plataforma de orquestração de contêineres de código aberto projetada para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres. Originalmente desenvolvido por Google, o Kubernetes é agora mantido pela Cloud Native Computing Foundation (CNCF) e tornou-se o padrão do setor para gerenciar cargas de trabalho modernas e nativas da nuvem.

Principais caraterísticas do Kubernetes

O Kubernetes fornece uma vasta gama de funcionalidades que simplificam a gestão de aplicações complexas em ambientes distribuídos:

  • Orquestração de contentores: O Kubernetes agenda e gere automaticamente os contentores num cluster de máquinas, garantindo uma utilização óptima dos recursos.
  • Escala: O Kubernetes suporta o escalonamento manual e automático de aplicativos com base em CPU, memória ou métricas personalizadas.
  • Auto-cura: Monitoriza a saúde das aplicações e reinicia automaticamente ou substitui os contentores com falhas para manter a estabilidade do sistema.
  • Balanceamento de carga: O Kubernetes distribui o tráfego de rede por vários contentores para garantir uma elevada disponibilidade e um desempenho fiável.
  • Gestão de armazenamento: Suporta vários backends de armazenamento, tais como armazenamento local, armazenamento baseado na nuvem e sistemas de ficheiros de rede, para satisfazer as necessidades das aplicações.

Para obter uma introdução à contentorização, consulta a página do glossário do Docker.

Kubernetes em IA e aprendizagem automática

O Kubernetes desempenha um papel crítico nos fluxos de trabalho de IA e de aprendizagem automática, onde a gestão de tarefas distribuídas e com muitos recursos é essencial. Simplifica a implementação de sistemas complexos, como pipelines de aprendizagem automática, garantindo escalabilidade e fiabilidade.

Exemplo 1: Treino de modelos de aprendizagem automática

O Kubernetes pode ser usado para gerenciar o treinamento distribuído de modelos de aprendizado de máquina em vários nós habilitados para GPU. Por exemplo, uma equipa que treina um modelo de aprendizagem profunda utilizando PyTorch pode implantar seus trabalhos de treinamento como pods do Kubernetes. Isso garante a alocação eficiente de recursos e permite dimensionar os processos de treinamento dinamicamente com base nos requisitos de carga de trabalho. Saiba mais sobre o treinamento distribuído e como o Kubernetes o facilita.

Exemplo 2: Implementação do modelo

O Kubernetes é amplamente utilizado para implantar modelos de aprendizado de máquina na produção. Por exemplo, um modelo de deteção de objetos treinado com Ultralytics YOLO pode ser contentorizado e implementado no Kubernetes. Essa configuração garante alta disponibilidade por meio de recursos como atualizações contínuas e replicação, que minimizam o tempo de inatividade e mantêm a confiabilidade do serviço.

Kubernetes vs. tecnologias relacionadas

Enquanto o Kubernetes se destaca na orquestração de contêineres, tecnologias como o Docker se concentram na própria conteinerização. O Docker fornece a base para criar e executar contêineres, enquanto o Kubernetes orquestra e gerencia esses contêineres em escala. Para uma compreensão mais profunda, explora a diferença entre contentorização e orquestração.

Outro conceito relacionado é a computação sem servidor, que abstrai totalmente a gestão da infraestrutura. Ao contrário do Kubernetes, as plataformas sem servidor dimensionam automaticamente os recursos com base em acionadores orientados por eventos, sem intervenção do utilizador. Saiba mais sobre a computação sem servidor.

Aplicações no mundo real

O Kubernetes é utilizado em vários sectores para melhorar a eficiência dos fluxos de trabalho de IA e de aprendizagem automática:

  • Cuidados de saúde: Kubernetes permite a implantação de modelos de análise de imagens médicas, como os descritos em análise de imagens médicas, garantindo escalabilidade e confiabilidade no processamento de grandes conjuntos de dados.
  • Veículos autónomos: O Kubernetes suporta a implementação escalável de aplicações em pipelines de veículos autónomos, como os descritos em AI for self-driving cars.
  • Retalho: No retalho, a Kubernetes potencia modelos de deteção de objectos em tempo real como Ultralytics YOLO para otimizar a gestão do inventário e melhorar as experiências dos clientes.

Começar a utilizar o Kubernetes

Para os interessados em aproveitar o Kubernetes para projectos de IA, ferramentas como Ultralytics HUB integram-se bem com o Kubernetes para formação e implementação de modelos sem problemas. Além disso, plataformas como Google Kubernetes Engine (GKE) e Amazon Elastic Kubernetes Service (EKS) simplificam o gerenciamento de clusters do Kubernetes.

Para saber mais sobre a implementação de modelos de IA em escala, explora o guia de opções de implementação de modelos.

O Kubernetes permite que as organizações gerenciem e dimensionem cargas de trabalho de IA com eficiência, tornando-o uma pedra angular da computação moderna e nativa da nuvem. O seu conjunto robusto de funcionalidades e a sua adoção generalizada garantem que continuará a ser uma ferramenta vital para a comunidade de IA e de aprendizagem automática.

Lê tudo