Data Provenance
Nguồn gốc dữ liệu là bản ghi về nơi dữ liệu được tạo ra, người đã xử lý, các quyền áp dụng và những thay đổi trước khi dùng để huấn luyện model. Nội dung đề cập PROV, ứng dụng và công cụ.
Nguồn gốc dữ liệu là lịch sử được ghi lại của một phần dữ liệu: dữ liệu bắt nguồn từ đâu, ai tạo hoặc thu thập dữ liệu, theo giấy phép hoặc sự đồng thuận nào, và mọi phép biến đổi được áp dụng trước khi dữ liệu đến model. Trong machine learning, nguồn gốc bao gồm ảnh hoặc văn bản thô, hoạt động gán nhãn dữ liệu, các bước làm sạch và tiền xử lý dữ liệu, các phân vùng và phiên bản dataset, cũng như những lần chạy huấn luyện đã sử dụng dữ liệu đó; nhờ vậy, có thể truy nguyên mọi model đã triển khai về đúng dữ liệu huấn luyện đứng sau model. Data lineage thường được dùng như từ đồng nghĩa. Khi phân biệt hai khái niệm, lineage mô tả cách dữ liệu luân chuyển và biến đổi qua pipeline và hệ thống, còn nguồn gốc bổ sung thông tin về xuất xứ, quyền sở hữu và quyền sử dụng.
Mô hình PROV của W3C#
Năm 2013, W3C công bố PROV, một họ tiêu chuẩn về biểu diễn nguồn gốc. PROV mô tả mọi lịch sử bằng ba loại thành phần: thực thể, chẳng hạn tệp và dataset; hoạt động, chẳng hạn gán nhãn hoặc huấn luyện, sử dụng và tạo ra các thực thể; và tác nhân, chẳng hạn con người, tổ chức hoặc phần mềm chịu trách nhiệm cho các hoạt động. Khi áp dụng cho dataset thị giác, bản ghi tạo thành một đồ thị:
Vì sao nguồn gốc dữ liệu quan trọng#
Nguồn gốc dữ liệu trước hết phục vụ gỡ lỗi và khả năng tái lập. Khi độ chính xác giảm hoặc data drift xuất hiện trong production, kỹ sư có thể tìm ra lô gán nhãn, camera nguồn hoặc bước làm sạch nào gây ra vấn đề, rồi chạy lại huấn luyện trên đúng cùng một dữ liệu. Những bản ghi này cũng làm lộ thiên lệch dataset, chẳng hạn dataset người đi bộ chỉ được thu thập vào ban ngày hoặc tại một quốc gia, đồng thời giúp xử lý đầu độc dữ liệu: khi biết nguồn của từng mẫu, có thể loại bỏ mọi mẫu từ nguồn bị xâm phạm.
Quyền sử dụng là mối quan tâm thứ hai. Data Provenance Initiative kiểm toán hơn 1.800 dataset văn bản vào năm 2023 và phát hiện giấy phép bị bỏ sót ở hơn 70% dataset trên các trang lưu trữ phổ biến, đồng thời bị phân loại sai ở hơn 50%. Trong phân tích ảnh y tế, hồ sơ nguồn gốc ghi rõ bệnh viện nào cung cấp từng ảnh chụp, sự đồng thuận hoặc cơ sở pháp lý cho việc sử dụng ảnh và việc có xóa thông tin định danh hay không—đây là những thông tin mà luật quyền riêng tư dữ liệu yêu cầu tổ chức chứng minh. Khi ảnh và văn bản được tạo sinh lan truyền trực tuyến, việc theo dõi mẫu nào là dữ liệu tổng hợp cũng giúp tránh sụp đổ model; Content Credentials lưu thông tin nguồn gốc đó ngay bên trong các tệp đa phương tiện.
Quy định hiện nay cũng yêu cầu điều này. Đạo luật AI của EU yêu cầu nhà cung cấp hệ thống rủi ro cao ghi lại quy trình thu thập dữ liệu và nguồn gốc dữ liệu, đồng thời yêu cầu nhà cung cấp model AI đa dụng công bố bản tóm tắt nội dung huấn luyện theo mẫu mà Ủy ban châu Âu phát hành vào tháng 7 năm 2025.
Ghi lại nguồn gốc dữ liệu trong thực tế#
Nguồn gốc dữ liệu được thu thập ở ba cấp độ. Tài liệu dataset như Datasheets for Datasets, do Timnit Gebru và các cộng sự đề xuất năm 2018, trả lời các câu hỏi về động lực tạo dataset, thành phần, quy trình thu thập, tiền xử lý và mục đích sử dụng dự kiến; tài liệu này đi kèm với model card cho các model được huấn luyện trên dataset. Công cụ quản lý phiên bản chụp nhanh dataset và nhận diện tệp bằng content hash, nhờ đó model có thể trỏ đến một phiên bản dataset bất biến. Công cụ pipeline phát ra các sự kiện lineage khi job chạy, theo các đặc tả mở như OpenLineage.
Cấp độ thứ ba là metadata được lưu ngay bên trong các artifact. Mỗi lần chạy huấn luyện Ultralytics YOLO ghi toàn bộ cấu hình, bao gồm đường dẫn YAML của dataset và thiết lập data augmentation, vào args.yaml trong thư mục lần chạy; checkpoint đã lưu chứa cùng các tham số huấn luyện cùng với phiên bản Ultralytics và ngày lưu:
from ultralytics import YOLO
# Nạp checkpoint; các tệp trọng số Ultralytics lưu hồ sơ về lần chạy đã tạo ra chúng
model = YOLO("yolo26n.pt")
ckpt = model.ckpt
# Dataset và thiết lập dùng để huấn luyện, cùng với phiên bản package và ngày lưu
print(ckpt["train_args"]["data"], ckpt["train_args"]["epochs"], ckpt["train_args"]["imgsz"])
print(ckpt["version"], ckpt["date"])Bản ghi này liên kết trọng số model với tham chiếu dữ liệu và thiết lập đã tạo ra chúng—bằng chứng cần thiết cho các đợt rà soát tính minh bạch của AI và quản trị AI. Khi quá trình huấn luyện hoàn tất, Ultralytics loại bỏ trạng thái optimizer khỏi best.pt để giảm kích thước, nhưng vẫn giữ các trường này để hồ sơ đi cùng tệp được triển khai.










