Data-Centric AI
AI lấy dữ liệu làm trung tâm cải thiện model bằng cách khắc phục có hệ thống lỗi nhãn, độ bao phủ và chất lượng của dữ liệu huấn luyện, trong khi kiến trúc model được giữ nguyên.
AI lấy dữ liệu làm trọng tâm là phương pháp cải thiện hệ thống AI bằng cách thiết kế dữ liệu một cách có hệ thống, bao gồm tính nhất quán của nhãn, mức độ bao phủ các điều kiện thực tế, cân bằng class và độ sạch, trong khi model và mã huấn luyện phần lớn được giữ nguyên. Andrew Ng phổ biến thuật ngữ này vào năm 2021, cho rằng các kiến trúc như mạng nơ-ron tích chập và transformer đã đủ hoàn thiện, nên phần lớn ứng dụng thu được nhiều lợi ích hơn từ dữ liệu tốt hơn thay vì model tốt hơn. Ở hướng ngược lại, AI lấy model làm trọng tâm cố định tập dữ liệu benchmark rồi lặp lại quá trình cải tiến kiến trúc, hàm loss và tinh chỉnh siêu tham số, như cách phần lớn bảng xếp hạng học thuật hoạt động.
Ví dụ nổi tiếng nhất của Ng là bài toán kiểm tra tấm thép: detector lỗi dừng ở độ chính xác 76.2% và không cải thiện được nhờ các phương pháp lấy model làm trọng tâm; việc sửa nhãn không nhất quán đã nâng kết quả lên 93.1%. Cuối năm đó, DeepLearning.AI và Landing AI tổ chức Cuộc thi AI lấy dữ liệu làm trọng tâm, trong đó model được cố định và thí sinh chỉ được cải thiện tập dữ liệu phân loại hình ảnh nhiễu gồm chữ số La Mã viết tay, giới hạn ở 10.000 hình ảnh.
Các phương pháp cốt lõi#
- Gán nhãn dữ liệu nhất quán: Người gán nhãn tuân theo các quy tắc bằng văn bản để xử lý tình huống mơ hồ, chẳng hạn hộp có bao gồm gương chiếu hậu của ô tô hay không hoặc gán nhãn người bị che khuất một phần như thế nào. Hai người gán nhãn xử lý các trường hợp này khác nhau sẽ tạo ra nhiễu nhãn mà không model nào có thể tự khắc phục khi học.
- Tìm lỗi nhãn: Những điểm model dự đoán khác với nhãn cho trước thường là lỗi tiềm ẩn. Một nghiên cứu năm 2021 của Northcutt, Athalye và Mueller phát hiện lỗi nhãn trung bình ít nhất 3.3% trong các ví dụ kiểm thử của 10 tập dữ liệu phổ biến, và ít nhất 6% trong tập validation của ImageNet.
- Thu thập có mục tiêu và dữ liệu tổng hợp: Phân tích lỗi theo class, cảnh, điều kiện chiếu sáng hoặc kích thước object cho biết model thất bại ở đâu; bổ sung ví dụ mới chính xác cho các phân nhóm đó hữu ích hơn việc thêm dữ liệu ngẫu nhiên.
- Làm sạch dữ liệu: Loại bỏ file bị hỏng, hình ảnh không liên quan và bản trùng lặp, đặc biệt là các bản gần trùng xuất hiện trong cả tập train lẫn tập test.
- Tăng cường dữ liệu: Mở rộng phạm vi điều kiện chiếu sáng, tỷ lệ và góc nhìn mà model tiếp nhận mà không cần thu thập hình ảnh mới.
Bản trùng lặp giữa các split gây ra rò rỉ dữ liệu, làm tăng điểm kiểm thử; mất cân bằng class có thể giúp model đạt độ chính xác cao trong khi bỏ sót class hiếm nhưng quan trọng, như trong bài toán phát hiện lỗi sản xuất, nơi các sản phẩm lỗi rất ít. Trong lĩnh vực phân tích ảnh y tế, tập dữ liệu nhỏ và nhãn chuyên gia tốn kém, vì vậy nhãn nhất quán, được rà soát quan trọng hơn số lượng.
Vòng lặp AI lấy dữ liệu làm trọng tâm#
Nhóm lấy dữ liệu làm trọng tâm giữ nguyên model, nghiên cứu lỗi bằng các công cụ như ma trận nhầm lẫn rồi điều chỉnh dữ liệu cho phù hợp, như bài học First Fine-Tune and the Iteration Loop thực hiện khi biến lớp yếu nhất của model YOLO26 thành mục tiêu tiếp theo để cải thiện dataset:
Ví dụ này làm sai lệch 20% nhãn trong tập dữ liệu chữ số viết tay của scikit-learn, đánh dấu các ví dụ có dự đoán ngoài fold không khớp với nhãn, rồi huấn luyện lại cùng model mà không dùng chúng:
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")Độ chính xác trên tập test tăng từ 87.0% lên 94.1% mà không thay đổi model. Bộ lọc đánh dấu 354 ví dụ: 211 trong số 213 nhãn sai và 143 ví dụ đúng nhưng bất thường; do đó, tập dữ liệu đã làm sạch mất đi một số ví dụ hợp lệ cùng với gần như toàn bộ lỗi.
Muốn so sánh các thay đổi dữ liệu, cần biết chính xác model nào được huấn luyện trên dữ liệu nào. Ultralytics Platform lưu trữ phiên bản tập dữ liệu bất biến: tùy chọn Save Dataset Version trong huấn luyện cloud liên kết mỗi model với snapshot đã dùng để huấn luyện; Compare Versions liệt kê hình ảnh, annotation và class thay đổi giữa hai snapshot; tab Models của tập dữ liệu liệt kê phiên bản tập dữ liệu của từng model bên cạnh các metric chính như mAP50-95.
AI lấy dữ liệu làm trọng tâm và các thuật ngữ liên quan#
- Học chủ động: Chọn các ví dụ chưa gán nhãn sẽ được gán nhãn tiếp theo, thường là những ví dụ mà model ít chắc chắn nhất. Đây là một kỹ thuật trong AI lấy dữ liệu làm trọng tâm.
- Vòng lặp dữ liệu: Quy trình lặp trong production, trong đó đầu vào và lỗi của model đã triển khai trở thành dữ liệu huấn luyện mới, nhờ vậy công việc lấy dữ liệu làm trọng tâm được lặp lại sau mỗi lần phát hành.
- Vận hành machine learning (MLOps): Các phương pháp kỹ thuật dùng để quản lý phiên bản, huấn luyện, triển khai và giám sát model, giúp các thay đổi dữ liệu có thể tái lập và so sánh được.










