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

Big Data

Big data são dados demasiado volumosos, rápidos ou variados para as ferramentas de uma única máquina. Aborda os três Vs, MapReduce e Spark, e os conjuntos de dados por detrás da IA moderna.

Big data é um conjunto de dados cujo tamanho, taxa de chegada ou variedade de formatos excede a capacidade de armazenamento e processamento de uma única máquina e das ferramentas convencionais de banco de dados; por isso, os dados são distribuídos por clusters de máquinas que trabalham em paralelo. Em 2001, o analista Doug Laney, da META Group, descreveu o desafio por meio dos três Vs: volume, a quantidade de dados; velocidade, a rapidez com que chegam e precisam ser processados; e variedade, a combinação de tabelas estruturadas, registros, texto, imagens, áudio e vídeo. Definições posteriores acrescentam veracidade, isto é, o grau de confiabilidade dos dados, e valor. No aprendizado de máquina, big data é tanto a matéria-prima quanto um desafio de engenharia: os modelos melhoram com mais dados de treinamento, e os pipelines que coletam, limpam e disponibilizam esses dados consomem grande parte do esforço necessário para criá-los.

Big data em IA e visão computacional#

O aprendizado profundo cresceu junto com conjuntos de dados grandes demais para um único disco. O ImageNet, apresentado em 2009, chegou a mais de 14 milhões de imagens rotuladas, e as 1,28 milhão de imagens de treinamento do desafio de 1.000 classes foram usadas para treinar a rede neural convolucional AlexNet, vencedora da competição de 2012. O conjunto de dados SA-1B da Meta, lançado em 2023 com o Segment Anything Model, contém 11 milhões de imagens e 1,1 bilhão de máscaras de segmentação; a Meta pré-treinou o Llama 3 com mais de 15 trilhões de tokens de texto. As leis de escala explicam por que essas coleções são vantajosas: a perda diminui de forma previsível à medida que dados, parâmetros e capacidade computacional aumentam juntos.

Na visão computacional, o volume vem de frotas de câmeras e sensores. Um único veículo autônomo registra fluxos de câmeras, radar e lidar a cada hora de condução, enquanto fábricas e lojas acrescentam milhares de transmissões contínuas de vídeo. A velocidade é importante quando os resultados são necessários à medida que os dados chegam, como na inferência em tempo real de vídeos de trânsito ou de linhas de produção. A variedade abrange imagens e vídeos, além de anotações, metadados de sensores e registros. Mais dados só ajudam quando os rótulos são precisos; por isso, grandes conjuntos de dados de visão dependem de limpeza de dados, remoção de duplicatas e aprendizado ativo para escolher quais imagens novas vale a pena rotular.

Como big data é armazenado e processado#

Os sistemas de big data escalam horizontalmente: distribuem dados e computação por muitas máquinas comuns, em vez de usar um único servidor maior. O artigo do Google sobre MapReduce, de 2004, descreveu o modelo popularizado pelo Apache Hadoop de código aberto: dividir a entrada em fragmentos, executar uma função map em cada fragmento em paralelo na máquina que o armazena e reduzir os resultados parciais a uma única resposta. O Apache Spark, iniciado na UC Berkeley em 2009, mantém resultados intermediários na memória, o que torna tarefas iterativas, como o treinamento de modelos, muito mais rápidas que o MapReduce baseado em disco. Os arquivos brutos geralmente ficam em armazenamento de objetos na nuvem, organizado como um data lake; formatos colunares, como o Apache Parquet, permitem que uma consulta leia apenas as colunas necessárias, e plataformas de streaming, como o Apache Kafka, transportam eventos de alta velocidade.

Este exemplo executa as etapas map e reduce em três fragmentos de rótulos de imagens usando a biblioteca padrão do Python:

from collections import Counter
from multiprocessing import Pool

# Três fragmentos de rótulos de imagens; um cluster armazena cada fragmento em uma máquina diferente
shards = [
    ["car", "person", "car", "bus"],
    ["person", "person", "bicycle"],
    ["car", "person", "dog", "car"],
]


def count_labels(shard):
    """Map step: count the labels in one shard."""
    return Counter(shard)


if __name__ == "__main__":
    with Pool(processes=3) as pool:
        partial_counts = pool.map(count_labels, shards)  # um processo worker por fragmento

    # Etapa reduce: combinar as contagens parciais em um total
    totals = sum(partial_counts, Counter())
    print(totals.most_common())

Cada fragmento é contado em seu próprio processo, e a etapa reduce combina as contagens parciais em [('car', 4), ('person', 4), ('bus', 1), ('bicycle', 1), ('dog', 1)]. O Spark e o Hadoop executam as mesmas duas etapas em milhares de máquinas, enviando o código map às máquinas que contêm cada fragmento.

Treinamento de modelos com big data#

Uma execução de treinamento lê big data em lotes. Os carregadores de dados decodificam de algumas dezenas a algumas centenas de imagens por vez, a partir do disco local ou do armazenamento de objetos, usando vários processos workers; assim, o conjunto de dados inteiro não precisa caber na memória, e o treinamento distribuído divide cada lote entre várias GPUs. Para detecção de objetos, o conjunto de detecção Open Images V7 do Google tem 561 GB para baixar e contém 1,74 milhão de imagens de treinamento distribuídas por 601 classes, muito mais do que a maioria das máquinas consegue manter na RAM. Quando solicitado a armazenar um conjunto de dados em cache na memória com cache="ram", o treinamento do Ultralytics YOLO estima o tamanho decodificado usando 30 imagens aleatórias e cria o cache somente se o dobro dessa estimativa couber na RAM disponível; conjuntos de dados maiores são lidos e decodificados do disco a cada época.

  • Mineração de dados: Busca padrões, anomalias e associações em dados de qualquer tamanho, geralmente executada em plataformas de big data.
  • Análise de dados: Consulta, resume e visualiza dados para apoiar decisões; a análise de big data é a parte que precisa de mecanismos distribuídos.
  • IA centrada em dados: Melhora modelos ao aprimorar a qualidade e a abrangência dos dados, algo especialmente importante quando um conjunto de dados é grande demais para ser inspecionado manualmente.

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