Data Provenance
A proveniência de dados é o registro da origem dos dados, de quem os manipulou, sob quais direitos e de como foram alterados antes do treinamento do modelo. Veja PROV, usos e ferramentas.
A proveniência dos dados é o histórico documentado de um elemento de dados: a sua origem, quem o criou ou recolheu, ao abrigo de que licença ou consentimento e todas as transformações aplicadas antes de chegar a um modelo. Na aprendizagem automática, a proveniência abrange imagens ou texto em bruto, a rotulagem dos dados, as etapas de limpeza e de pré-processamento dos dados, as divisões e versões dos conjuntos de dados e as execuções de treino que os utilizaram, para que seja possível rastrear qualquer modelo implementado até aos dados de treino exatos que lhe deram origem. «Linhagem de dados» é muitas vezes usado como sinónimo. Quando se distinguem os termos, a linhagem descreve o fluxo e a transformação dos dados em pipelines e sistemas, enquanto a proveniência acrescenta a origem, a titularidade e os direitos de utilização.
O modelo PROV do W3C#
Em 2013, o W3C publicou o PROV, uma família de normas para representar a proveniência. O modelo descreve qualquer histórico através de três tipos: entidades, como ficheiros e conjuntos de dados; atividades, como anotação ou treino, que utilizam e geram entidades; e agentes, como pessoas, organizações ou software, responsáveis pelas atividades. Aplicado a um conjunto de dados de visão, o registo forma um grafo:
Porque é que a proveniência é importante#
A proveniência serve, em primeiro lugar, para depuração e reprodutibilidade. Quando a precisão diminui ou surge deriva dos dados em produção, permite ao engenheiro descobrir qual lote de rótulos, câmara de origem ou etapa de limpeza introduziu o problema e repetir o treino exatamente com os mesmos dados. Os mesmos registos revelam enviesamentos do conjunto de dados, como um conjunto de dados de peões recolhido apenas à luz do dia ou num único país, e ajudam a conter a contaminação dos dados: quando se conhece a origem de cada amostra, é possível remover todas as amostras provenientes de uma origem comprometida.
Os direitos são a segunda preocupação. A Data Provenance Initiative auditou mais de 1 800 conjuntos de dados de texto em 2023 e concluiu que as licenças estavam omissas em mais de 70% deles nos sites de alojamento populares e mal categorizadas em mais de 50%. Na análise de imagens médicas, os registos de proveniência identificam o hospital que forneceu cada exame, o consentimento ou a base jurídica para a sua utilização e se os identificadores foram removidos — factos que a legislação de privacidade dos dados exige que as organizações demonstrem. À medida que imagens e textos gerados se propagam online, acompanhar quais são dados sintéticos também ajuda a evitar o colapso do modelo, e as Content Credentials incorporam essa proveniência nos próprios ficheiros multimédia.
A regulamentação já o exige. O Regulamento da UE sobre Inteligência Artificial exige que os fornecedores de sistemas de alto risco documentem os processos de recolha de dados e a respetiva origem, e que os fornecedores de modelos de IA de finalidade geral publiquem um resumo do conteúdo usado no treino, segundo um modelo que a Comissão Europeia divulgou em julho de 2025.
Registar a proveniência na prática#
A proveniência é recolhida em três níveis. A documentação de conjuntos de dados, como Datasheets for Datasets, proposta por Timnit Gebru e colegas em 2018, responde a perguntas sobre a motivação, a composição, o processo de recolha, o pré-processamento e as utilizações previstas de um conjunto de dados; complementa-se com cartões de modelo para os modelos treinados com esses dados. As ferramentas de controlo de versões criam instantâneos dos conjuntos de dados e identificam ficheiros através de hashes de conteúdo, permitindo que um modelo faça referência a uma versão imutável do conjunto de dados. As ferramentas de pipeline emitem eventos de linhagem durante a execução das tarefas, seguindo especificações abertas como a OpenLineage.
O terceiro nível consiste nos metadados armazenados nos próprios artefactos. Cada execução de treino da Ultralytics YOLO grava a configuração completa, incluindo o caminho do ficheiro YAML do conjunto de dados e as definições de aumento de dados, em args.yaml no diretório da execução; o ponto de controlo guardado inclui os mesmos argumentos de treino, juntamente com a versão da Ultralytics e a data em que foi guardado:
from ultralytics import YOLO
# Carrega um ponto de controlo; os ficheiros de pesos da Ultralytics guardam um registo da execução que os gerou
model = YOLO("yolo26n.pt")
ckpt = model.ckpt
# Conjunto de dados e definições usados no treino, bem como a versão do pacote e a data em que foi guardado
print(ckpt["train_args"]["data"], ckpt["train_args"]["epochs"], ckpt["train_args"]["imgsz"])
print(ckpt["version"], ckpt["date"])Este registo associa os pesos do modelo à referência dos dados e às definições que lhes deram origem, a evidência de que as revisões de transparência na IA e de governação da IA dependem. Quando o treino termina, a Ultralytics remove o estado do otimizador de best.pt para reduzir o tamanho, mas mantém estes campos, pelo que o registo acompanha o ficheiro implementado.










