Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Serverless Computing

A computação sem servidor executa código sob demanda enquanto o provedor gerencia e escala os servidores, até zero, cobrando por solicitação. Aborda inicializações a frio e usos em IA.

A computação sem servidor é um modelo de execução em nuvem no qual o provedor executa código apenas quando um evento exige isso, inicia e dimensiona automaticamente os servidores subjacentes, encerra-os quando o tráfego para e cobra pelas solicitações e pelo tempo de execução, em vez de cobrar por máquinas reservadas. Os servidores continuam existindo, mas os desenvolvedores nunca precisam provisioná-los, aplicar patches ou dimensioná-los. O modelo se popularizou com o AWS Lambda, anunciado em novembro de 2014, e hoje abrange plataformas de funções como Lambda, Azure Functions e Cloud Run functions, além de contêineres sem servidor como Google Cloud Run e Azure Container Apps. Pesquisadores da UC Berkeley descreveram seus pontos fortes e limitações no artigo de 2019 "Cloud Programming Simplified: A Berkeley View on Serverless Computing". Para aprendizado de máquina, a computação sem servidor é adequada à implantação de modelos com tráfego variável ou imprevisível, quando pagar por um servidor GPU ocioso entre os picos custaria mais do que o próprio trabalho.

Como funciona a execução sem servidor#

O código é empacotado como uma função ou imagem de contêiner e associado a gatilhos: uma solicitação HTTP, um arquivo enviado ao armazenamento de objetos, uma mensagem em uma fila ou um agendamento. Quando chega um evento e há uma instância aquecida disponível, a plataforma executa o manipulador nela imediatamente. Caso contrário, ocorre uma inicialização a frio: a plataforma cria um ambiente isolado, como uma das microVMs Firecracker que a AWS desenvolveu para o Lambda, carrega o código, inicia o runtime da linguagem e executa o código de inicialização fora do manipulador antes de processar o evento. As instâncias não têm estado e são descartáveis, portanto tudo o que precisa sobreviver a uma solicitação vai para um armazenamento externo ou banco de dados.

Inicializações a frio e modelos de aprendizado de máquina#

O aprendizado de máquina torna as inicializações a frio dispendiosas, pois a inicialização importa uma estrutura como PyTorch e carrega pesos do modelo que podem ocupar centenas de megabytes. O padrão usual carrega o modelo uma vez por instância, fora do manipulador ou no primeiro uso, para que cada invocação aquecida o reutilize. Este manipulador segue esse padrão com um classificador ResNet-50 do torchvision:

import time

import torch
import torchvision

model = None  # module state survives between invocations while the instance stays warm


def handler(event, context):
    """Classify one image tensor, building the model only on a cold start."""
    global model
    cold_start = model is None
    if cold_start:
        model = torchvision.models.resnet50().eval()  # built once per instance
    with torch.inference_mode():
        logits = model(event["image"])
    return {"cold_start": cold_start, "class_id": int(logits.argmax())}


for _ in range(3):
    start = time.perf_counter()
    response = handler({"image": torch.rand(1, 3, 224, 224)}, context=None)
    print(response["cold_start"], f"{(time.perf_counter() - start) * 1000:.0f} ms")

Em uma CPU Apple M5 Pro, a primeira chamada cria a rede e leva cerca de 0,2 segundo, enquanto as duas chamadas aquecidas que a reutilizam levam cerca de 15 ms cada. As equipes reduzem ainda mais o tempo de inicialização a frio com imagens de contêiner menores, modelos compactos ou quantizados e runtimes mais leves, como o Runtime ONNX, ou eliminam esse tempo mantendo um número mínimo de instâncias aquecidas, como a simultaneidade provisionada do Lambda ou as instâncias mínimas do Cloud Run, o que volta a gerar cobranças pelo tempo ocioso.

Computação sem servidor para cargas de trabalho de IA#

A computação sem servidor é adequada a pipelines de visão computacional acionados por eventos. O envio de uma imagem para o armazenamento de objetos pode acionar uma função que a valida e redimensiona durante o pré-processamento de dados, antes que ela seja adicionada a um conjunto de dados de treinamento. Em um sistema de alarme de segurança, um sensor de movimento pode enviar um único quadro para uma função de detecção de objetos, que só alerta quando encontra uma pessoa. O restante depende dos limites da plataforma: o AWS Lambda executa cada invocação por no máximo 15 minutos, com até 10.240 MB de memória e sem GPU. Isso permite inferência em CPU com modelos compactos, mas impede longas execuções de treinamento, muito menos o treinamento distribuído em várias GPUs. A computação sem servidor com GPU preencheu essa lacuna: o Cloud Run conecta GPUs NVIDIA L4 a contêineres que ainda podem reduzir a zero, e plataformas como a Modal cobram o uso de GPU por segundo.

A Ultralytics Platform oferece a mesma compensação para implantações de YOLO: um endpoint no tamanho padrão de 1 vCPU e 2 GiB é gratuito e reduz a zero quando fica ocioso; a inicialização a partir do estado ocioso pode levar cerca de um minuto, enquanto os tamanhos personalizados mantêm uma instância aquecida e cobram pelo tempo em que ela fica ativa.

  • Infraestrutura como serviço: Máquinas virtuais que ficam em execução e geram cobranças continuamente, independentemente de chegarem solicitações, com o cliente responsável pelo sistema operacional e pelo dimensionamento. Geralmente é aqui que são executados os trabalhos de treinamento longos.
  • Kubernetes: orquestra contêineres em clusters operados pela equipe. O Knative adiciona a ele o dimensionamento orientado a solicitações até zero, recurso que o KServe usa para disponibilizar modelos.
  • Computação de borda: executa código nos dispositivos que produzem os dados ou perto deles. A computação sem servidor executa o código em uma região de nuvem, e algumas plataformas de borda combinam as duas abordagens, executando funções em muitos locais pequenos próximos aos usuários.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina