Data-Centric AI
A IA centrada em dados melhora os modelos ao corrigir sistematicamente os rótulos, a cobertura e a qualidade dos dados de treinamento, mantendo fixa a arquitetura do modelo.
IA centrada em dados é a prática de melhorar um sistema de IA por meio da engenharia sistemática dos dados, incluindo consistência dos rótulos, cobertura de condições reais, equilíbrio entre classes e qualidade, enquanto o modelo e o código de treinamento permanecem praticamente inalterados. Andrew Ng popularizou o termo em 2021, argumentando que arquiteturas como redes neurais convolucionais e transformers já são suficientemente maduras para que a maioria das aplicações se beneficie mais de dados melhores do que de um modelo melhor. Sua contraparte, a IA centrada em modelos, mantém fixo um conjunto de dados de referência e faz iterações em arquiteturas, funções de perda e ajuste de hiperparâmetros, como ocorre na maioria dos rankings acadêmicos.
O exemplo mais conhecido de Ng veio da inspeção de chapas de aço: um detector de defeitos estagnado em 76,2% de acurácia não melhorou com aprimoramentos centrados no modelo, mas a correção de rótulos inconsistentes elevou a acurácia para 93,1%. Mais tarde naquele ano, a DeepLearning.AI e a Landing AI organizaram uma competição de IA centrada em dados na qual o modelo era fixo e os participantes só podiam melhorar um conjunto de dados ruidoso de classificação de imagens com numerais romanos manuscritos, limitado a 10.000 imagens.
Práticas fundamentais#
- Rotulagem de dados consistente: os anotadores seguem regras escritas para casos ambíguos, como decidir se uma caixa inclui o retrovisor lateral de um carro ou como rotular uma pessoa parcialmente encoberta. Dois anotadores que resolvem esses casos de maneiras diferentes criam ruído nos rótulos, que nenhum modelo consegue contornar durante o aprendizado.
- Identificação de erros nos rótulos: as divergências entre as previsões de um modelo e os rótulos fornecidos apontam possíveis erros. Um estudo de 2021 de Northcutt, Athalye e Mueller encontrou erros nos rótulos em uma média de pelo menos 3,3% dos exemplos de teste em 10 conjuntos de dados populares e em pelo menos 6% do conjunto de validação ImageNet.
- Coleta direcionada e dados sintéticos: a análise de erros por classe, cena, iluminação ou tamanho do objeto mostra onde o modelo falha, e novos exemplos exatamente dessas categorias ajudam mais do que adições aleatórias.
- Limpeza de dados: remover arquivos corrompidos, imagens irrelevantes e duplicatas, sobretudo quase duplicatas presentes tanto na divisão de treinamento quanto na de teste.
- Aumento de dados: ampliar a variedade de iluminação, escala e ponto de vista que o modelo encontra sem coletar novas imagens.
Duplicatas entre divisões causam vazamento de dados, o que infla as pontuações de teste, e o desequilíbrio entre classes permite que um modelo alcance alta acurácia sem detectar a classe rara que importa, como na detecção de defeitos de fabricação, em que as peças defeituosas são escassas. Na análise de imagens médicas, os conjuntos de dados são pequenos e os rótulos de especialistas são caros, então rótulos consistentes e revisados são mais importantes do que o volume.
O ciclo centrado em dados#
Uma equipe orientada a dados mantém o modelo fixo, analisa seus erros com ferramentas como uma matriz de confusão e modifica os dados em resposta, como faz a lição Primeiro ajuste fino e ciclo de iteração ao transformar a classe mais fraca de um modelo YOLO26 na próxima melhoria do conjunto de dados:
Este exemplo corrompe 20% dos rótulos do conjunto de dados de dígitos manuscritos do scikit-learn, sinaliza exemplos cuja previsão fora da dobra discorda do rótulo e treina novamente o mesmo modelo sem esses exemplos:
import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_predict, train_test_split
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# Replace 20% of the training labels with random digits to mimic annotation errors
rng = np.random.default_rng(0)
noisy = y_train.copy()
flip = rng.random(len(noisy)) < 0.2
noisy[flip] = rng.integers(0, 10, flip.sum())
wrong = noisy != y_train # some random digits match the true label
# The model stays fixed; only the training data changes
model = LogisticRegression(max_iter=5000)
print(f"noisy labels: {model.fit(X_train, noisy).score(X_test, y_test):.1%} test accuracy")
# Flag examples whose out-of-fold prediction disagrees with their label, then drop them
keep = cross_val_predict(model, X_train, noisy, cv=5) == noisy
print(f"flagged {(~keep).sum()} examples, {(~keep & wrong).sum()} of {wrong.sum()} wrong labels")
print(f"cleaned labels: {model.fit(X_train[keep], noisy[keep]).score(X_test, y_test):.1%} test accuracy")A acurácia de teste sobe de 87,0% para 94,1% sem nenhuma alteração no modelo. O filtro sinaliza 354 exemplos: 211 dos 213 rótulos incorretos e 143 exemplos corretos, mas incomuns; assim, o conjunto limpo perde alguns exemplos válidos junto com quase todos os erros.
Para comparar alterações nos dados, é preciso saber exatamente quais dados foram usados no treinamento de cada modelo. A Ultralytics Platform armazena versões imutáveis de conjuntos de dados: a opção Save Dataset Version no treinamento na nuvem vincula cada modelo ao snapshot usado em seu treinamento, Compare Versions lista as imagens, anotações e classes alteradas entre dois snapshots, e a aba Models do conjunto de dados lista a versão do conjunto de dados de cada modelo ao lado de métricas principais, como mAP50-95.
IA centrada em dados vs. termos relacionados#
- Aprendizado ativo: escolhe quais exemplos sem rótulo devem ser rotulados em seguida, geralmente aqueles sobre os quais o modelo tem menos certeza. É uma técnica de IA centrada em dados.
- Ciclo virtuoso de dados: o ciclo de produção em que as entradas e os erros de um modelo implantado se tornam novos dados de treinamento, fazendo com que o trabalho centrado em dados se repita a cada versão.
- Operações de aprendizado de máquina (MLOps): práticas de engenharia que versionam, treinam, implantam e monitoram modelos, permitindo reproduzir e comparar alterações nos dados.










