Tóm lại: Xử lý sơ bộ dữ liệu bằng AI là một tập hợp các bước lặp lại nhằm biến dữ liệu thô, có độ biến thiên cao thành dữ liệu đầu vào nhất quán cho mô hình, bao gồm làm sạch, mã hóa, điều chỉnh tỷ lệ, phân tách từ và biến đổi hình ảnh. Điều này rất quan trọng vì nếu dữ liệu đầu vào huấn luyện và dữ liệu đầu vào sản xuất khác nhau, mô hình có thể thất bại mà không báo lỗi. Nếu một bước nào đó "học" các tham số, chỉ nên áp dụng nó vào dữ liệu huấn luyện để tránh rò rỉ kiến thức.
Tiền xử lý AI là tất cả những gì bạn làm với dữ liệu thô trước (và đôi khi trong) quá trình huấn luyện hoặc suy luận để mô hình thực sự có thể học hỏi từ nó. Không chỉ là “làm sạch”. Đó là làm sạch, định hình, chia tỷ lệ, mã hóa, bổ sung và đóng gói dữ liệu thành một dạng biểu diễn nhất quán mà sẽ không âm thầm gây lỗi cho mô hình của bạn sau này. [1]
Những điểm chính cần ghi nhớ:
Định nghĩa : Xử lý sơ bộ chuyển đổi các bảng dữ liệu thô, văn bản, hình ảnh và nhật ký thành các đặc trưng sẵn sàng cho mô hình.
Tính nhất quán : Áp dụng cùng một phép biến đổi trong quá trình huấn luyện và suy luận để tránh lỗi do sự không khớp.
Lỗi rò rỉ : Chỉ huấn luyện các bộ đếm tỷ lệ, bộ mã hóa và bộ phân tách từ trên dữ liệu huấn luyện.
Khả năng tái tạo : Xây dựng các quy trình với số liệu thống kê có thể kiểm tra được, chứ không phải các chuỗi ô tùy ý trong sổ tay Jupyter.
Giám sát sản xuất : Theo dõi độ lệch và sự thay đổi để tránh tình trạng các yếu tố đầu vào dần dần làm giảm hiệu suất.
Những bài viết bạn có thể muốn đọc sau bài này:
🔗 Cách kiểm tra hiệu năng thực tế của các mô hình AI
Các phương pháp thực tiễn để đánh giá nhanh chóng độ chính xác, độ bền vững và sai lệch.
🔗 Công nghệ chuyển văn bản thành giọng nói là trí tuệ nhân tạo và nó hoạt động như thế nào?
Bài viết này giải thích những kiến thức cơ bản, các ứng dụng chính và những hạn chế thường gặp của công nghệ chuyển văn bản thành giọng nói (TTS) hiện nay.
🔗 Liệu trí tuệ nhân tạo (AI) có thể đọc chính xác chữ viết tay kiểu chữ thảo ngày nay?
Nội dung bao gồm các thách thức trong nhận dạng, các công cụ tốt nhất và các mẹo để tăng độ chính xác.
🔗 Độ chính xác của AI trong các nhiệm vụ thông thường như thế nào?
Phân tích chi tiết các yếu tố ảnh hưởng đến độ chính xác, tiêu chuẩn so sánh và độ tin cậy trong thực tế.
Xử lý sơ bộ bằng AI theo cách hiểu đơn giản (và những gì nó không phải là) 🤝
Xử lý sơ bộ dữ liệu AI là quá trình chuyển đổi dữ liệu đầu vào thô (bảng, văn bản, hình ảnh, nhật ký) thành các đặc trưng sẵn sàng cho mô hình. Nếu dữ liệu thô giống như một nhà kho bừa bộn, thì xử lý sơ bộ giống như việc bạn dán nhãn các thùng, vứt bỏ những thứ hỏng hóc và sắp xếp mọi thứ sao cho bạn có thể đi lại mà không bị thương.
Vấn đề không nằm ở bản thân mô hình. Vấn đề nằm ở những yếu tố tạo nên mô hình đó:
-
chuyển đổi các danh mục thành số (one-hot, ordinal, v.v.) [1]
-
chia nhỏ các phạm vi số lớn thành các phạm vi hợp lý (chuẩn hóa, min-max, v.v.) [1]
-
phân tách văn bản thành ID đầu vào (và thường là mặt nạ chú ý) [3]
-
thay đổi kích thước/cắt xén hình ảnh và áp dụng các phép biến đổi xác định so với ngẫu nhiên một cách thích hợp [4]
-
xây dựng các quy trình có thể lặp lại để đầu vào đào tạo và “thực tế” không khác biệt theo những cách tinh tế [2]
Một lưu ý nhỏ mang tính thực tiễn: "tiền xử lý" bao gồm tất cả những gì diễn ra một cách nhất quán trước khi mô hình nhận được dữ liệu đầu vào . Một số nhóm chia việc này thành "kỹ thuật đặc trưng" và "làm sạch dữ liệu", nhưng trên thực tế, ranh giới giữa hai khái niệm này khá mờ nhạt.

Vì sao quá trình tiền xử lý bằng AI lại quan trọng hơn mọi người vẫn nghĩ 😬
Mô hình là một công cụ so khớp mẫu, chứ không phải là người đọc suy nghĩ. Nếu dữ liệu đầu vào không nhất quán, mô hình sẽ học các quy tắc không nhất quán. Điều này không phải là triết lý, mà là sự thật hiển nhiên đến mức khó chịu.
Xử lý sơ bộ giúp bạn:
-
Cải thiện tính ổn định của quá trình học bằng cách đưa các đặc trưng vào các biểu diễn mà các bộ ước lượng có thể sử dụng một cách đáng tin cậy (đặc biệt là khi có liên quan đến việc chia tỷ lệ/mã hóa). [1]
-
Giảm nhiễu bằng cách làm cho thực tế hỗn độn trông giống như thứ mà mô hình có thể khái quát hóa được (thay vì ghi nhớ các hiện vật kỳ lạ).
-
Ngăn chặn các chế độ lỗi âm thầm như rò rỉ và sự không khớp giữa huấn luyện/phục vụ (loại lỗi trông có vẻ “tuyệt vời” trong quá trình xác thực nhưng lại gây ra sự cố trong quá trình sản xuất). [2]
-
Tăng tốc quá trình lặp lại vì các phép biến đổi có thể lặp lại luôn hiệu quả hơn so với việc sử dụng mã nguồn rối rắm trong notebook.
Ngoài ra, đó cũng là nơi mà rất nhiều "kỹ năng diễn xuất của người mẫu" thực sự xuất phát. Nhiều đến mức đáng ngạc nhiên. Đôi khi cảm thấy không công bằng, nhưng đó là thực tế 🙃
Những yếu tố nào tạo nên một quy trình tiền xử lý AI tốt? ✅
Một "phiên bản tốt" của quá trình tiền xử lý thường có những đặc điểm sau:
-
Có thể tái tạo : cùng một đầu vào → cùng một đầu ra (không có yếu tố ngẫu nhiên bí ẩn trừ khi đó là sự bổ sung có chủ ý).
-
Tính nhất quán phục vụ huấn luyện : bất cứ điều gì bạn làm trong thời gian huấn luyện đều được áp dụng theo cùng một cách trong thời gian suy luận (các tham số được điều chỉnh giống nhau, bản đồ danh mục giống nhau, cấu hình bộ mã hóa giống nhau, v.v.). [2]
-
An toàn rò rỉ : không có gì trong quá trình đánh giá/kiểm tra ảnh hưởng đến bất kỳ
phù hợp nào. (Sẽ nói thêm về cái bẫy này sau.) [2] -
Có thể quan sát được : bạn có thể kiểm tra những gì đã thay đổi (thống kê tính năng, dữ liệu thiếu, số lượng danh mục) nên việc gỡ lỗi không chỉ dựa vào cảm tính.
Nếu quá trình tiền xử lý của bạn là một đống các ô trong notebook có tên là final_v7_really_final_ok … thì bạn biết đấy, nó hoạt động tốt cho đến khi không còn hoạt động nữa 😬
Các khối cấu trúc cốt lõi của quá trình tiền xử lý AI 🧱
Hãy coi quá trình tiền xử lý như một tập hợp các khối xây dựng mà bạn kết hợp lại thành một quy trình.
1) Vệ sinh và kiểm tra 🧼
Các nhiệm vụ điển hình:
-
xóa các bản sao
-
Xử lý các giá trị bị thiếu (bỏ qua, điền vào hoặc thể hiện rõ ràng tình trạng thiếu dữ liệu)
-
thực thi các loại, đơn vị và phạm vi
-
phát hiện các đầu vào bị lỗi
-
Chuẩn hóa định dạng văn bản (khoảng trắng, quy tắc viết hoa/viết thường, các quy tắc Unicode đặc biệt)
Phần này không hào nhoáng, nhưng nó giúp tránh những sai lầm cực kỳ ngớ ngẩn. Tôi nói điều đó với tất cả tình yêu thương.
2) Mã hóa dữ liệu phân loại 🔤
Hầu hết các mô hình không thể sử dụng trực tiếp các chuỗi ký tự thô như "red" hoặc "premium_user" .
Các phương pháp phổ biến:
-
Mã hóa One-hot (danh mục → cột nhị phân) [1]
-
Mã hóa thứ tự (danh mục → ID số nguyên) [1]
Điều quan trọng không phải là nào - mà là ánh xạ phải nhất quán và không “thay đổi hình dạng” giữa quá trình huấn luyện và suy luận. Đó là cách bạn có được một mô hình trông ổn khi ngoại tuyến nhưng lại hoạt động bất thường khi trực tuyến. [2]
3) Điều chỉnh tỷ lệ và chuẩn hóa đặc trưng 📏
Việc điều chỉnh tỷ lệ rất quan trọng khi các đối tượng nằm trong các phạm vi khác nhau.
Hai tác phẩm kinh điển:
-
Chuẩn hóa : loại bỏ giá trị trung bình và điều chỉnh thành phương sai đơn vị [1]
-
Tỷ lệ tối thiểu-tối đa : điều chỉnh tỷ lệ từng tính năng vào một phạm vi xác định [1]
Ngay cả khi bạn sử dụng các mô hình "có thể xử lý hầu hết các vấn đề", việc mở rộng quy mô thường giúp cho các quy trình dễ hiểu hơn - và khó bị lỗi hơn.
4) Kỹ thuật tạo đặc trưng (hay còn gọi là thủ thuật hữu ích) 🧪
Đây là lúc bạn giúp mô hình hoạt động dễ dàng hơn bằng cách tạo ra các tín hiệu tốt hơn:
-
tỷ lệ (lượt nhấp chuột / lượt hiển thị)
-
Cửa sổ cuốn (trong N ngày qua)
-
số lượng (sự kiện trên mỗi người dùng)
-
Biến đổi logarit cho các phân phối có đuôi dày
Đây là cả một nghệ thuật. Đôi khi bạn tạo ra một tính năng, cảm thấy tự hào… nhưng nó chẳng mang lại kết quả gì. Hoặc tệ hơn, nó còn gây hại. Điều đó là bình thường. Đừng quá gắn bó về mặt cảm xúc với các tính năng - chúng không đáp lại tình cảm của bạn đâu 😅
5) Phân tách dữ liệu đúng cách ✂️
Điều này nghe có vẻ hiển nhiên cho đến khi nó không còn hiển nhiên nữa:
-
chia ngẫu nhiên cho dữ liệu iid
-
Phân chia theo thời gian cho chuỗi thời gian
-
Phân nhóm khi các thực thể lặp lại (người dùng, thiết bị, bệnh nhân)
Và điều quan trọng là: chia trước khi áp dụng quy trình tiền xử lý học từ dữ liệu . Nếu bước tiền xử lý của bạn “học” các tham số (như trung bình, từ vựng, bản đồ danh mục), nó phải học chúng chỉ từ quá trình huấn luyện. [2]
Xử lý sơ bộ dữ liệu bằng AI theo loại dữ liệu: dạng bảng, văn bản, hình ảnh 🎛️
Quá trình tiền xử lý sẽ thay đổi hình dạng tùy thuộc vào dữ liệu đầu vào mà bạn đưa vào mô hình.
Dữ liệu dạng bảng (bảng tính, nhật ký, cơ sở dữ liệu) 📊
Các bước thông thường:
-
chiến lược giá trị bị thiếu
-
mã hóa phân loại [1]
-
mở rộng các cột số [1]
-
Xử lý dữ liệu ngoại lai (quy tắc miền thường hiệu quả hơn "cắt ngẫu nhiên")
-
Các tính năng dẫn xuất (tổng hợp, độ trễ, thống kê luân chuyển)
Lời khuyên thiết thực: hãy xác định rõ ràng các nhóm cột (số, phân loại hay mã định danh). Chính bạn trong tương lai sẽ cảm ơn điều này.
Dữ liệu văn bản (Xử lý ngôn ngữ tự nhiên) 📝
Quá trình tiền xử lý văn bản thường bao gồm:
-
phân tách thành các từ/từ con
-
chuyển đổi thành ID đầu vào
-
đệm/cắt bớt
-
xây dựng mặt nạ chú ý để xử lý hàng loạt [3]
Một quy tắc nhỏ giúp tránh rắc rối: đối với các thiết lập dựa trên Transformer, hãy tuân theo cài đặt tokenizer được nhà sản xuất khuyến nghị và đừng tùy ý chỉnh sửa trừ khi có lý do chính đáng. Tùy ý chỉnh sửa là nguyên nhân dẫn đến kết quả "nó huấn luyện được nhưng lại hoạt động kỳ lạ"
Hình ảnh (thị giác máy tính) 🖼️
Quy trình tiền xử lý điển hình:
-
Thay đổi kích thước / cắt xén để có hình dạng đồng nhất
-
các phép biến đổi xác định để đánh giá
-
các phép biến đổi ngẫu nhiên để tăng cường huấn luyện (ví dụ: cắt ngẫu nhiên) [4]
Một chi tiết mà mọi người thường bỏ qua: “biến đổi ngẫu nhiên” không chỉ là một cảm giác mà chúng thực sự lấy mẫu các tham số mỗi khi được gọi. Tuyệt vời cho việc đào tạo đa dạng, nhưng lại tệ hại cho việc đánh giá nếu bạn quên tắt tính ngẫu nhiên. [4]
Cạm bẫy mà ai cũng mắc phải: rò rỉ dữ liệu 🕳️🐍
Rò rỉ dữ liệu xảy ra khi thông tin từ dữ liệu đánh giá lọt vào dữ liệu huấn luyện - thường là thông qua quá trình tiền xử lý. Điều này có thể khiến mô hình của bạn trông rất tuyệt vời trong quá trình kiểm định, nhưng lại gây thất vọng trong thực tế.
Các kiểu rò rỉ phổ biến:
-
mở rộng quy mô bằng cách sử dụng số liệu thống kê toàn bộ tập dữ liệu (thay vì chỉ huấn luyện) [2]
-
xây dựng bản đồ danh mục bằng cách sử dụng huấn luyện + kiểm tra cùng nhau [2]
-
bất kỳ
fit()hoặcfit_transform()nào “nhìn thấy” tập dữ liệu thử nghiệm [2]
Nguyên tắc chung (đơn giản, thô thiển, hiệu quả):
-
Bất cứ thứ gì có phù hợp chỉ nên được sử dụng trong quá trình luyện tập.
-
Sau đó, bạn chuyển đổi quá trình xác thực/kiểm thử bằng cách sử dụng bộ chuyển đổi đã được điều chỉnh đó. [2]
Và nếu bạn muốn kiểm tra trực giác "nó có thể tệ đến mức nào?": tài liệu của scikit-learn cho thấy một ví dụ về rò rỉ trong đó thứ tự tiền xử lý không chính xác dẫn đến độ chính xác khoảng 0,76 trên các mục tiêu ngẫu nhiên - sau đó giảm xuống còn ~ 0,5 sau khi rò rỉ được khắc phục. Đó là mức độ sai lầm đáng tin cậy mà rò rỉ có thể gây ra. [2]
Đưa quy trình tiền xử lý vào sản xuất mà không gây hỗn loạn 🏗️
Nhiều mô hình thất bại trong quá trình sản xuất không phải vì mô hình "tệ", mà vì thực tế đầu vào thay đổi - hoặc quy trình của bạn thay đổi.
Quá trình tiền xử lý hướng đến sản xuất thường bao gồm:
-
Các hiện vật được lưu (ánh xạ bộ mã hóa, tham số bộ chia tỷ lệ, cấu hình bộ mã hóa) để quá trình suy luận sử dụng chính xác các phép biến đổi đã học [2]
-
Các điều khoản nhập liệu nghiêm ngặt (các cột/kiểu dữ liệu/phạm vi dự kiến)
-
Theo dõi độ lệch và sự trôi dạt , vì dữ liệu sản xuất sẽ thay đổi [5]
Nếu bạn muốn định nghĩa cụ thể: Chức năng Giám sát Mô hình AI Vertex của Google phân biệt giữa độ lệch phục vụ đào tạo (phân phối sản xuất lệch khỏi đào tạo) và sự trôi dạt suy luận (phân phối sản xuất thay đổi theo thời gian), đồng thời hỗ trợ giám sát cả các đặc điểm phân loại và số. [5]
Vì những điều bất ngờ thì tốn kém. Và không phải là những điều bất ngờ thú vị.
Bảng so sánh: các công cụ tiền xử lý và giám sát phổ biến (và đối tượng sử dụng) 🧰
| Công cụ / thư viện | Tốt nhất cho | Giá | Lý do tại sao nó hiệu quả (và một chút thành thật) |
|---|---|---|---|
| tiền xử lý scikit-learn | Các quy trình ML dạng bảng | Miễn phí | Bộ mã hóa + bộ chia tỷ lệ chắc chắn (OneHotEncoder, StandardScaler, v.v.) và hành vi có thể dự đoán được [1] |
| Bộ mã hóa khuôn mặt ôm | Chuẩn bị đầu vào NLP | Miễn phí | Tạo ra ID đầu vào + mặt nạ chú ý một cách nhất quán trên các lần chạy/mô hình [3] |
| torchvision biến đổi | Tầm nhìn biến đổi + tăng cường | Miễn phí | Cách sạch sẽ để kết hợp các phép biến đổi xác định và ngẫu nhiên trong một quy trình [4] |
| Giám sát mô hình Vertex AI | Phát hiện độ lệch/sai số trong sản phẩm | Trả phí (đám mây) | Màn hình có tính năng độ lệch/trôi và cảnh báo khi vượt quá ngưỡng [5] |
(Vâng, cái bàn vẫn có ý kiến. Nhưng ít nhất đó là những ý kiến trung thực 😅)
Một danh sách kiểm tra tiền xử lý thực tế mà bạn có thể sử dụng ngay lập tức 📌
Trước khi huấn luyện
-
Xác định lược đồ đầu vào (kiểu dữ liệu, đơn vị, phạm vi cho phép)
-
Kiểm tra các giá trị bị thiếu và trùng lặp
-
Phân tách dữ liệu đúng cách (ngẫu nhiên / theo thời gian / theo nhóm)
-
chỉ trên (
fit/fit_transformvẫn ở trên huấn luyện) [2] -
Lưu trữ các hiện vật tiền xử lý để quá trình suy luận có thể tái sử dụng chúng [2]
Trong quá trình huấn luyện
-
Chỉ áp dụng tăng cường ngẫu nhiên khi thích hợp (thường chỉ chia thành các nhóm huấn luyện) [4]
-
Giữ nguyên quá trình tiền xử lý đánh giá mang tính xác định [4]
-
Theo dõi các thay đổi trong quá trình tiền xử lý giống như các thay đổi trong mô hình (vì chúng thực sự là như vậy)
Trước khi triển khai
-
Đảm bảo quá trình suy luận sử dụng đường dẫn tiền xử lý và các hiện vật giống hệt nhau [2]
-
Thiết lập giám sát trôi dạt/lệch (ngay cả việc kiểm tra phân phối tính năng cơ bản cũng rất hữu ích) [5]
Phân tích chuyên sâu: Những lỗi thường gặp trong quá trình tiền xử lý dữ liệu (và cách tránh chúng) 🧯
Sai lầm 1: “Mình sẽ nhanh chóng bình thường hóa mọi thứ” 😵
Nếu bạn tính toán các tham số tỷ lệ trên toàn bộ tập dữ liệu, bạn sẽ làm rò rỉ thông tin đánh giá. Hãy huấn luyện trên tập huấn luyện, sau đó chuyển đổi phần còn lại. [2]
Sai lầm thứ 2: Các danh mục trở nên hỗn loạn 🧩
Nếu ánh xạ danh mục của bạn thay đổi giữa quá trình huấn luyện và suy luận, mô hình của bạn có thể âm thầm hiểu sai thế giới. Hãy giữ cho ánh xạ được cố định thông qua các hiện vật đã lưu. [2]
Sai lầm 3: Việc bổ sung ngẫu nhiên vào quá trình đánh giá 🎲
Các phép biến đổi ngẫu nhiên rất tuyệt vời trong quá trình huấn luyện, nhưng chúng không nên được “bí mật bật” khi bạn đang cố gắng đo lường hiệu suất. (Ngẫu nhiên có nghĩa là ngẫu nhiên.) [4]
Lời kết 🧠✨
Xử lý sơ bộ AI là nghệ thuật có kỷ luật trong việc biến thực tế hỗn loạn thành dữ liệu đầu vào nhất quán cho mô hình. Nó bao gồm làm sạch, mã hóa, điều chỉnh tỷ lệ, phân tách từ, biến đổi hình ảnh và - quan trọng nhất - các quy trình và thành phần có thể lặp lại.
-
[2] Thực hiện xử lý trước một cách có chủ đích, chứ không phải tùy tiện
-
Chia trước, điều chỉnh các phép biến đổi chỉ trên quá trình huấn luyện, tránh rò rỉ. [2]
-
Sử dụng phương thức tiền xử lý phù hợp (bộ mã hóa cho văn bản, phép biến đổi cho hình ảnh). [3][4]
-
Theo dõi độ lệch/trôi dạt sản xuất để mô hình của bạn không dần dần trở nên vô nghĩa. [5]
Và nếu bạn gặp khó khăn, hãy tự hỏi:
“Liệu bước tiền xử lý này vẫn còn ý nghĩa nếu tôi thực hiện nó vào ngày mai với dữ liệu hoàn toàn mới?”
Nếu câu trả lời là “ừm… có lẽ?”, đó chính là manh mối đấy 😬
Câu hỏi thường gặp
Hiểu một cách đơn giản, tiền xử lý AI là gì?
Xử lý sơ bộ dữ liệu bằng AI là một chuỗi các bước lặp lại nhằm biến dữ liệu thô nhiễu, có độ biến thiên cao thành dữ liệu đầu vào nhất quán mà mô hình có thể học hỏi. Quá trình này có thể bao gồm làm sạch, xác thực, mã hóa các danh mục, chuẩn hóa giá trị số, phân tách văn bản và áp dụng các phép biến đổi hình ảnh. Mục tiêu là đảm bảo quá trình huấn luyện và suy luận trong môi trường sản xuất nhận được "cùng loại" dữ liệu đầu vào, để mô hình không bị lệch hướng và có hành vi khó đoán sau này.
Tại sao quá trình tiền xử lý bằng AI lại quan trọng đến vậy trong sản xuất?
Xử lý sơ bộ rất quan trọng vì các mô hình nhạy cảm với cách biểu diễn dữ liệu đầu vào. Nếu dữ liệu huấn luyện được chuẩn hóa, mã hóa, phân tách thành token hoặc biến đổi khác với dữ liệu sản xuất, bạn có thể gặp lỗi không khớp giữa dữ liệu huấn luyện và dữ liệu thực thi, những lỗi này trông có vẻ ổn khi chạy ngoại tuyến nhưng lại gây lỗi âm thầm khi chạy trực tuyến. Các quy trình xử lý sơ bộ mạnh mẽ cũng giúp giảm nhiễu, cải thiện tính ổn định của quá trình học và tăng tốc độ lặp lại vì bạn không phải gỡ rối mớ hỗn độn trong notebook.
Làm thế nào để tránh rò rỉ dữ liệu trong quá trình tiền xử lý?
Một quy tắc đơn giản là: bất kỳ thứ gì có huấn luyện (fit step) đều phải được huấn luyện trên dữ liệu huấn luyện mà thôi. Điều đó bao gồm các bộ chuẩn hóa (scalers), bộ mã hóa (encoders) và bộ mã hóa từ (tokenisers) học các tham số như giá trị trung bình, bản đồ danh mục hoặc từ vựng. Bạn chia dữ liệu trước, huấn luyện trên tập dữ liệu huấn luyện, sau đó chuyển đổi dữ liệu xác thực/kiểm thử bằng cách sử dụng bộ chuyển đổi đã được huấn luyện. Hiện tượng rò rỉ dữ liệu (leaking) có thể khiến dữ liệu xác thực trông "tốt một cách kỳ diệu" nhưng lại sụp đổ khi sử dụng trong môi trường sản xuất.
Các bước tiền xử lý phổ biến nhất đối với dữ liệu dạng bảng là gì?
Đối với dữ liệu dạng bảng, quy trình thông thường bao gồm làm sạch và xác thực (loại dữ liệu, phạm vi, giá trị thiếu), mã hóa phân loại (one-hot hoặc ordinal), và chuẩn hóa số (chuẩn hóa hoặc min-max). Nhiều quy trình bổ sung thêm kỹ thuật tạo đặc trưng theo lĩnh vực cụ thể như tỷ lệ, cửa sổ trượt hoặc số lượng. Một thói quen thực tế là xác định rõ ràng các nhóm cột (số học so với phân loại so với định danh) để các phép biến đổi của bạn được nhất quán.
Quá trình tiền xử lý hoạt động như thế nào đối với các mô hình văn bản?
Xử lý sơ bộ văn bản thường bao gồm việc phân tách thành các từ/từ con, chuyển đổi chúng thành ID đầu vào và xử lý phần đệm/cắt bớt để xử lý theo lô. Nhiều quy trình Transformer cũng tạo ra một mặt nạ chú ý cùng với các ID. Một cách tiếp cận phổ biến là sử dụng cấu hình bộ phân tách từ dự kiến của mô hình thay vì tự ý thay đổi, bởi vì những khác biệt nhỏ trong cài đặt bộ phân tách từ có thể dẫn đến kết quả "mô hình huấn luyện được nhưng hoạt động không thể đoán trước".
Việc tiền xử lý ảnh cho máy học có gì khác biệt?
Xử lý sơ bộ ảnh thường đảm bảo hình dạng và cách xử lý pixel nhất quán: thay đổi kích thước/cắt xén, chuẩn hóa và phân chia rõ ràng giữa các phép biến đổi xác định và ngẫu nhiên. Để đánh giá, các phép biến đổi nên mang tính xác định để các chỉ số có thể so sánh được. Đối với quá trình huấn luyện, việc tăng cường ngẫu nhiên (như cắt xén ngẫu nhiên) có thể cải thiện độ bền vững, nhưng tính ngẫu nhiên phải được giới hạn một cách có chủ đích trong quá trình huấn luyện, chứ không phải vô tình để lại trong quá trình đánh giá.
Điều gì khiến một quy trình tiền xử lý trở nên "tốt" thay vì dễ hỏng?
Một quy trình tiền xử lý AI tốt cần phải có khả năng tái tạo, an toàn rò rỉ dữ liệu và có thể quan sát được. Khả năng tái tạo nghĩa là cùng một đầu vào tạo ra cùng một đầu ra trừ khi việc thêm dữ liệu ngẫu nhiên là có chủ đích. An toàn rò rỉ dữ liệu nghĩa là các bước huấn luyện không bao giờ tác động đến dữ liệu xác thực/kiểm thử. Có thể quan sát được nghĩa là bạn có thể kiểm tra các số liệu thống kê như độ thiếu dữ liệu, số lượng danh mục và phân bố đặc trưng để việc gỡ lỗi dựa trên bằng chứng, chứ không phải cảm tính. Các quy trình luôn vượt trội hơn các chuỗi notebook tùy chỉnh.
Làm thế nào để đảm bảo tính nhất quán giữa quá trình tiền xử lý huấn luyện và suy luận?
Điều mấu chốt là phải tái sử dụng chính xác các thành phần đã học được trong quá trình suy luận: các tham số bộ điều chỉnh tỷ lệ, ánh xạ bộ mã hóa và cấu hình bộ mã hóa từ. Bạn cũng cần một hợp đồng đầu vào (các cột, kiểu dữ liệu và phạm vi dự kiến) để dữ liệu sản xuất không bị âm thầm thay đổi thành các hình dạng không hợp lệ. Tính nhất quán không chỉ là "thực hiện các bước giống nhau" - mà là "thực hiện các bước giống nhau với cùng các tham số và ánh xạ đã được huấn luyện"
Làm thế nào tôi có thể theo dõi các vấn đề về tiền xử lý như sự thay đổi và độ lệch theo thời gian?
Ngay cả với một quy trình xử lý dữ liệu ổn định, dữ liệu sản xuất vẫn thay đổi. Một phương pháp phổ biến là giám sát sự thay đổi phân bố đặc trưng và cảnh báo về sự lệch giữa dữ liệu huấn luyện và dữ liệu phục vụ (dữ liệu sản xuất khác với dữ liệu huấn luyện) và sự thay đổi trong suy luận (dữ liệu sản xuất thay đổi theo thời gian). Việc giám sát có thể đơn giản (kiểm tra phân bố cơ bản) hoặc được quản lý chặt chẽ (như Vertex AI Model Monitoring). Mục tiêu là phát hiện sớm các thay đổi đầu vào - trước khi chúng dần dần làm suy giảm hiệu suất của mô hình.
Tài liệu tham khảo
[1] API scikit-learn:
sklearn.preprocessing (bộ mã hóa, bộ điều chỉnh tỷ lệ, chuẩn hóa) [2] scikit-learn: Những lỗi thường gặp - Rò rỉ dữ liệu và cách tránh
[3] Tài liệu Hugging Face Transformers: Bộ mã hóa (ID đầu vào, mặt nạ chú ý)
[4] Tài liệu PyTorch Torchvision: Biến đổi (Thay đổi kích thước/Chuẩn hóa + biến đổi ngẫu nhiên)
[5] Tài liệu Google Cloud Vertex AI: Tổng quan về Giám sát Mô hình (độ lệch và trôi dạt đặc trưng)