Kiểm thử thiên lệch (bias): tìm bất công "ẩn" trong hệ AI
🎯 Mục tiêu học (LO AI-5.1.2 · mức K2 – Hiểu): giải thích cách test thiên lệch (bias) cho hệ thống ML.
💡 Ý cốt lõi: bias là sự đối xử không công bằng, phi ngẫu nhiên dựa trên thuộc tính nhạy cảm (giới tính, tuổi, chủng tộc...) — thường vi phạm pháp luật. Bias có thể đến từ dữ liệu hoặc từ thuật toán/model.
2 nguồn gốc của bias
| Loại | Là gì | Ví dụ |
|---|---|---|
| Data bias | Lỗi trong dữ liệu huấn luyện — không đại diện, lệch theo lịch sử, hoặc bị đầu độc có chủ đích. | Dữ liệu duyệt hồ sơ vay trong quá khứ vốn đã thiên vị một nhóm nhân khẩu học. |
| Algorithmic bias | Lỗi trong thuật toán, model, hoặc framework phát triển gây bất công mang tính hệ thống. | Thuật toán dùng một ngưỡng quyết định (decision threshold) cho điểm tín dụng trong hệ duyệt vay. |
Các cách tiếp cận phát hiện bias
| Cách làm | Mô tả |
|---|---|
| Review quy trình ML | Rà lại toàn bộ ML workflow, đặc biệt bước chuẩn bị dữ liệu, để tìm khả năng phát sinh bias. |
| Review tài liệu tập dữ liệu | Xem lại cách dữ liệu được thu thập, gán nhãn, và nhóm dân số nào được đại diện để tìm & giảm nguồn gốc bất công. |
| Phân tích tĩnh | Soát code chuẩn bị dữ liệu và code cài đặt model để tìm anti-pattern hoặc cách xử lý sai thuộc tính nhạy cảm. |
| EDA dữ liệu huấn luyện | Dùng trực quan hóa & phân cụm để lộ ra dữ liệu mất cân bằng, phân phối lệch, hoặc nhóm bất thường theo từng thuộc tính nhạy cảm. |
| Test động (dynamic testing) | Đưa một tập dữ liệu đã biết là không thiên lệch, đại diện tốt vào hệ, rồi phân tích dự đoán xem có khác biệt có ý nghĩa thống kê giữa các nhóm nhạy cảm không — phát hiện bias dù nó đến từ dữ liệu hay từ model. |
| Label correctness testing | Tìm lỗi gán nhãn khiến hệ học sai mối liên hệ giữa thuộc tính và kết quả cho một nhóm nhạy cảm cụ thể (xem 5.1.6). |
Disparate Impact Analysis (phân tích tác động chênh lệch)
- Xác định các thuộc tính nhạy cảm của model.
- Tạo các counterfactual (kịch bản giả định) cho thuộc tính đó — ví dụ đổi giới tính từ nam sang nữ trong hồ sơ vay.
- Cho model chạy trên các counterfactual để lấy kết quả.
- Phân tích kết quả của nhiều lần test để đạt ý nghĩa thống kê, xác định việc đổi thuộc tính nhạy cảm có làm thay đổi kết quả model hay không — nếu có, đó là dấu hiệu của bias.
Kỹ thuật này cũng có thể áp dụng cho tổ hợp nhiều thuộc tính nhạy cảm để tìm bias ẩn. Nhưng cần cẩn thận: phải đảm bảo các counterfactual không phi thực tế — nếu không, model có thể phản ứng với sự phi lý của dữ liệu giả định thay vì với bias thật sự.
📝 Bẫy hay gặp
Đề hay cho một phát biểu nghe hợp lý nhưng sai — nhớ mấy chỗ gài sau:
- "Bias chỉ đến từ dữ liệu huấn luyện" → SAI: còn có algorithmic bias — lỗi trong thuật toán/model/ framework.
- "Test động chỉ phát hiện được bias có nguồn gốc từ dữ liệu" → SAI: test động phát hiện bias trong output model, bất kể nó đến từ dữ liệu hay từ quá trình phát triển model.
- "Counterfactual càng phi thực tế càng tốt vì tạo khác biệt rõ" → SAI: phải tránh phi thực tế, nếu không model có thể phản ứng với sự bất thường của dữ liệu, không phải với bias thật.
📌 Ghi nhớ
2 nguồn bias: data bias (dữ liệu) · algorithmic bias (thuật toán/model)
Disparate impact analysis: đổi thuộc tính nhạy cảm → xem kết quả model có đổi theo không
Với tester: khi nghi ngờ một hệ AI thiên vị, đừng chỉ nhìn dữ liệu huấn luyện — hãy thử luôn disparate impact analysis: đổi một thuộc tính nhạy cảm và xem output model có đổi theo một cách có ý nghĩa thống kê hay không.
📖 Thuật ngữ Anh–Việt (mục này)
Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.
| Thuật ngữ (EN) | Nghĩa & ghi nhớ nhanh |
|---|---|
| Bias | Thiên lệch — đối xử bất công phi ngẫu nhiên theo thuộc tính nhạy cảm |
| Data bias | Thiên lệch bắt nguồn từ dữ liệu huấn luyện |
| Algorithmic bias | Thiên lệch bắt nguồn từ thuật toán/model/framework |
| Sensitive attribute | Thuộc tính nhạy cảm (giới tính, tuổi, chủng tộc...) |
| Disparate impact analysis | Phân tích tác động chênh lệch |
| Counterfactual | Kịch bản giả định — đổi một thuộc tính để so sánh kết quả |
| EDA (Exploratory Data Analysis) | Phân tích dữ liệu khám phá |
| Static analysis | Phân tích tĩnh (không chạy chương trình) |
| Dynamic testing | Kiểm thử động (chạy hệ thống thật) |
🎯 Câu hỏi minh họa (phong cách đề CT-AI · K2)
A tester changes the gender field in a set of loan applications from male to female, re-runs them through the model, and analyzes whether the approval outcomes change with statistical significance. Which technique is being applied?
- a) Data pipeline testing.
- b) Disparate impact analysis.
- c) Dataset constraint testing.
- d) Label correctness testing.
Xem bản dịch tiếng Việt
Một tester đổi trường giới tính trong một tập hồ sơ vay từ nam sang nữ, chạy lại qua model, và phân tích xem kết quả duyệt có thay đổi có ý nghĩa thống kê hay không. Đây là kỹ thuật nào?
a) Kiểm thử data pipeline.
b) Phân tích tác động chênh lệch.
c) Kiểm thử ràng buộc tập dữ liệu.
d) Kiểm thử đúng đắn của nhãn.
Xem đáp án & giải thích
✅ Đáp án đúng: b — đổi thuộc tính nhạy cảm để tạo counterfactual rồi so sánh kết quả đúng là quy trình disparate impact analysis.
a sai — không liên quan đường ống xử lý dữ liệu.
c sai — không kiểm tra ràng buộc/kiểu dữ liệu.
d sai — không liên quan đến việc gán nhãn có đúng hay không.
Đề để tiếng Anh cho sát đề thi thật; phần giải thích để tiếng Việt cho dễ hiểu. Câu hỏi do maiqai.com tự soạn theo phong cách đề.
📎 Nguồn: Chương 5 – Kiểm thử dữ liệu đầu vào cho hệ thống ML, mục 5.1.2 "Testing for Bias", trang 48–49 — ISTQB® Certified Tester AI Testing Syllabus v2.0 (© International Software Testing Qualifications Board). Nội dung biên soạn/dịch ý lại bằng tiếng Việt, không sao chép nguyên văn.