Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 4 — Domain gap: vì sao mô hình chết khi ra đời thực

Một mô hình đạt 95% accuracy trong phòng thí nghiệm nhưng chỉ còn 60% khi triển khai. Thủ phạm phổ biến nhất là domain gap — khoảng cách giữa dữ liệu mô hình được huấn luyện và dữ liệu thực tế nó gặp.

Domain gap là gì?

Mô hình chỉ giỏi với những gì nó đã "thấy". Nếu dữ liệu huấn luyện (training) khác với dữ liệu thực tế (production) về ánh sáng, góc camera, thiết bị, hay bối cảnh, hiệu năng sẽ tụt. Khoảng cách đó chính là domain gap.

Các nguồn domain gap thường gặp

  • Điều kiện chụp: train ảnh ban ngày, chạy thật ban đêm; train camera 4K, chạy camera mờ.
  • Địa lý/nhân khẩu: train khuôn mặt ở một khu vực, dùng ở khu vực khác với đặc điểm khác.
  • Thiết bị: đổi model camera hoặc ống kính làm màu sắc, độ méo thay đổi.
  • Thời gian (data drift): thời trang, bao bì sản phẩm, biển hiệu thay đổi theo mùa/theo năm.
  • Bối cảnh nghiệp vụ: train trên kho sạch, chạy ở kho bụi bẩn, có vật che.

Data drift vs concept drift

  • Data drift: phân phối dữ liệu đầu vào thay đổi (camera mới, ánh sáng mới).
  • Concept drift: ý nghĩa của nhãn thay đổi. Ví dụ định nghĩa "khẩu trang đạt chuẩn" thay đổi theo quy định mới, nên nhãn cũ không còn đúng.
PM cần phân biệt vì cách xử lý khác nhau: data drift thường cần thu thêm dữ liệu mới; concept drift cần gán nhãn lại theo định nghĩa mới.

Chiến lược thu hẹp domain gap

  • Thu thập dữ liệu từ chính môi trường triển khai trước khi go-live — đây là cách hiệu quả nhất.
  • Data augmentation: biến đổi ảnh train (đổi sáng, xoay, thêm nhiễu) để mô hình bền hơn với biến thể.
  • Fine-tuning/adaptation: tinh chỉnh mô hình bằng dữ liệu của khách hàng cụ thể.
  • Pilot có kiểm soát: chạy thử ở một site thật, đo hiệu năng thực tế trước khi nhân rộng.
  • Giám sát liên tục sau go-live: theo dõi chỉ số để phát hiện drift sớm.

Khung tư duy: "Train giống Prod đến đâu?"

Với mỗi tính năng, PM lập bảng đối chiếu giữa điều kiện train và điều kiện production trên các trục: ánh sáng, độ phân giải, góc, thiết bị, nhân khẩu, tần suất. Ô nào lệch nhiều là rủi ro domain gap cao, cần thu thêm dữ liệu hoặc cảnh báo trước cho khách hàng.

Ví dụ cụ thể: nhận diện biển số xe

Một startup huấn luyện nhận diện biển số bằng ảnh đẹp tải trên mạng. Khi lắp ở bãi xe thật: đèn LED chói vào ban đêm, biển số nghiêng, bùn che một phần, camera góc thấp. Accuracy rớt thảm. Giải pháp: họ gắn camera thu 2 tuần dữ liệu thật ở nhiều bãi, gán nhãn, fine-tune lại — hiệu năng thực tế mới đạt yêu cầu. Bài học: dữ liệu production quý hơn dữ liệu "đẹp".

Giám sát drift sau khi triển khai

Mô hình không phải "làm xong là quên". PM cần thiết lập:

  • Theo dõi phân phối đầu vào: độ sáng trung bình, kích thước vật thể, tỷ lệ ảnh bị từ chối.
  • Lấy mẫu để gán nhãn lại định kỳ nhằm đo accuracy thực tế theo thời gian.
  • Ngưỡng cảnh báo khi chỉ số tụt để kích hoạt thu thập dữ liệu và huấn luyện lại.

Checklist chống domain gap

  • [ ] Có dữ liệu từ chính môi trường sẽ triển khai chưa?
  • [ ] Đã lập bảng đối chiếu Train vs Prod chưa?
  • [ ] Có pilot ở site thật trước khi nhân rộng không?
  • [ ] Có hệ thống giám sát drift sau go-live không?
  • [ ] Có quy trình huấn luyện lại định kỳ không?

Sai lầm thường gặp

  • Tin vào con số accuracy trên tập test phòng lab rồi cam kết với khách hàng.
  • Huấn luyện bằng ảnh internet đẹp thay vì ảnh thực tế xấu.
  • Triển khai một lần rồi bỏ mặc, không giám sát drift.
  • Nhân rộng ngay ra 100 site mà chưa pilot ở vài site đại diện.
Kết bài: Domain gap là lý do số một khiến sản phẩm CV thất bại khi ra thực tế. PM phải coi "dữ liệu giống môi trường thật" là ưu tiên sống còn, và biến giám sát drift thành quy trình vận hành thường trực.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi