Glossário

Computação sem servidor

Descobre como a computação sem servidor revoluciona a IA/ML com escalabilidade, eficiência de custos e implementação rápida. Constrói de forma mais inteligente e rápida hoje mesmo!

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A computação sem servidor é um modelo de execução de computação em nuvem em que o fornecedor de nuvem gere dinamicamente a atribuição e o aprovisionamento de servidores. Os programadores podem escrever e implementar código como funções individuais sem necessitarem de gerir a infraestrutura subjacente, como sistemas operativos ou hardware de servidor. Embora os servidores continuem a ser utilizados, a sua gestão é completamente abstraída, permitindo que as equipas se concentrem na construção da lógica da aplicação. Isto é particularmente vantajoso para a iteração rápida em projectos de Inteligência Artificial (IA) e Aprendizagem Automática (ML), permitindo ciclos de desenvolvimento mais rápidos e uma utilização eficiente dos recursos.

Compreender a arquitetura sem servidor

Numa configuração sem servidor, as aplicações são frequentemente estruturadas como um conjunto de funções independentes acionadas por eventos específicos. Esse modelo é comumente conhecido como Função como um Serviço (FaaS). Os eventos podem incluir solicitações HTTP (como chamadas de API), alterações no banco de dados, uploads de arquivos para o armazenamento em nuvem ou mensagens de um sistema de filas. Quando um evento ocorre, o provedor de nuvem aloca automaticamente os recursos de computação necessários para executar a função correspondente. Depois que a execução é concluída, esses recursos são reduzidos, geralmente a zero, se não houver solicitações pendentes. Essa abordagem de dimensionamento automático e orientada por eventos difere significativamente das arquiteturas tradicionais em que os servidores são executados continuamente, o que pode levar a recursos ociosos e a custos operacionais mais altos. Ela se alinha bem com as demandas variáveis de muitos casos de uso de IA.

Benefícios da IA e do ML

A computação sem servidor oferece vantagens atraentes para cargas de trabalho de IA e ML, que frequentemente têm exigências computacionais variáveis:

  • Escalabilidade automática: lida com cargas imprevisíveis sem problemas. Por exemplo, um mecanismo de inferência que fornece previsões pode sofrer picos repentinos de solicitações. As plataformas sem servidor escalam automaticamente as instâncias de função para cima ou para baixo para atender à demanda sem intervenção manual, garantindo um desempenho consistente. Isso é crucial para aplicativos que exigem inferência em tempo real.
  • Eficiência de custos: Funciona numa base de pagamento por utilização. Normalmente, é cobrado apenas pelo tempo de computação real consumido pelas suas funções, até ao milissegundo. Isto elimina os custos associados à capacidade ociosa do servidor, tornando-o económico para tarefas como a formação periódica de modelos ou trabalhos de processamento de dados pouco frequentes. Explora as vantagens das economias de escala.
  • Ciclos de desenvolvimento mais rápidos: Elimina a gestão da infraestrutura. Os programadores podem concentrar-se exclusivamente na escrita de código para tarefas específicas, como o pré-processamento de dados, a extração de caraterísticas ou a execução da lógica de previsão. Isso acelera o desenvolvimento e a implantação, facilitando a experimentação mais rápida de diferentes modelos ou estratégias de ajuste de hiperparâmetrosUltralytics guiaUltralytics ).
  • Operações simplificadas: Reduz a sobrecarga operacional. Tarefas como a aplicação de patches nos sistemas operativos, a gestão da capacidade do servidor e a garantia de elevada disponibilidade são tratadas pelo fornecedor da cloud, libertando recursos para as principais tarefas de ML. Saiba mais sobre as Operações de Aprendizado de Máquina (MLOps).

Aplicações do mundo real em IA/ML

As arquitecturas sem servidor são adequadas para várias tarefas de IA/ML:

  1. Análise de imagem e vídeo: Considera uma aplicação que efectua a deteção de objectos em imagens carregadas pelo utilizador utilizando um Ultralytics YOLO do Ultralytics. Um evento de upload para o armazenamento em nuvem (como o Amazon S3 ou Google Cloud Storage) aciona uma função sem servidor. Essa função carrega a imagem, executa o modelo YOLO para deteção, potencialmente realiza a segmentação da imagem e armazena os resultados (por exemplo, caixas delimitadoras, rótulos de classe) em um banco de dados ou os retorna por meio de uma API. O sistema é escalonado automaticamente com base no número de uploads sem precisar de servidores pré-provisionados. Este padrão é útil em aplicações que vão desde a moderação de conteúdos à análise de imagens médicas. Vê as soluçõesUltralytics para mais exemplos.
  2. Backends de chatbot: Muitos chatbots alimentados por Modelos de Linguagem Grandes (LLMs) usam funções sem servidor para lidar com as mensagens de entrada do usuário. Cada mensagem aciona uma função que processa o texto, interage com a API do LLM (como o GPT-4), executa as ações necessárias (por exemplo, pesquisas no banco de dados por meio de pesquisa vetorial) e envia uma resposta. O modelo de pagamento por pedido é ideal para chatbots com padrões de utilização flutuantes. Explora os conceitos de Processamento de Linguagem Natural (PNL).

Conceitos relacionados a Serverless Vs.

É importante distinguir a computação sem servidor das tecnologias relacionadas:

  • Computação em nuvem vs. sem servidor: A computação em nuvem é a ampla entrega de serviços de computação pela Internet. Sem servidor é um modelo de execução específico dentro da computação em nuvem que enfatiza o gerenciamento automático de recursos e as funções orientadas a eventos (FaaS), abstraindo totalmente o gerenciamento do servidor. Outros modelos de nuvem, como a infraestrutura como serviço (IaaS), ainda exigem que os usuários gerenciem máquinas virtuais.
  • Containerização vs. Serverless: Ferramentas de contentorização como o Docker empacotam aplicações e as suas dependências. Plataformas de orquestração como o Kubernetes automatizam a implantação, o dimensionamento e o gerenciamento desses contêineres. Embora o Kubernetes reduza a carga operacional em comparação com o gerenciamento de bare metal ou VMs, você ainda gerencia a infraestrutura de cluster subjacente. As plataformas sem servidor abstraem completamente esta camada; apenas gere o código da função. Vê como utilizar o Docker com o Ultralytics.
  • Computação de borda vs. sem servidor: A computação de borda envolve o processamento de dados localmente em dispositivos próximos à fonte de dados (a "borda") para reduzir a latência e o uso da largura de banda. A computação sem servidor normalmente executa funções em centros de dados em nuvem centralizados. Embora distintas, podem ser complementares; um dispositivo de IA de borda (como um executado no NVIDIA Jetson) pode executar o processamento ou a filtragem inicial e, em seguida, acionar uma função sem servidor na nuvem para uma análise ou agregação mais complexa. Lê sobre câmaras de segurança com IA que combinam frequentemente o processamento no edge e na cloud.

As principais plataformas sem servidor incluem o AWS Lambda, Google Cloud Functions e o Azure Functions. Esses serviços fornecem a infraestrutura necessária para criar e executar aplicativos de IA/ML sem servidor com eficiência, muitas vezes integrando-se a outros serviços de nuvem para armazenamento, bancos de dados e mensagens. Plataformas como o Ultralytics HUB podem simplificar ainda mais a implantação e o gerenciamento de modelos em várias arquiteturas, incluindo configurações sem servidor(explore os documentos do HUB).

Lê tudo