Mô hình 🇷🇺 27.07.2026 01:05

Tại sao Micro F1=0.94 có thể che giấu một bộ phân loại vô dụng: Phân tích vấn đề đa nhãn

DeepPavlovDeepPavlov
Sử dụng ví dụ về kiểm duyệt AI cho Discord, bài viết chỉ ra rằng chỉ số micro F1 tổng hợp có thể che giấu các thất bại trên các lớp hiếm nhưng quan trọng. Tác giả cảnh báo về việc tuân theo nguyên tắc KISS một cách mù quáng trong các tác vụ đa nhãn và giải thích cách mất cân bằng lớp, lựa chọn hàm mất mát và chỉ số chọn checkpoint ảnh hưởng đến chất lượng mô hình thực tế.
Tác giả phát triển hệ thống kiểm duyệt AI cho Discord dựa trên mô hình ruBERT tiny2, được tinh chỉnh cho bài toán phân loại đa nhãn với 15 nhãn (SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD và các nhãn khác). Bộ dữ liệu chứa khoảng 1 triệu ví dụ được gán nhãn. Sau khi huấn luyện, mô hình đạt chỉ số F1 vi mô trên tập kiểm tra là 0.9358 và F1 vĩ mô là 0.8396 — sự chênh lệch gần 0.1 cho thấy cần kiểm tra chỉ số cho từng lớp riêng lẻ. Hóa ra, các lớp hiếm (ví dụ: EVASION với 35.000 mẫu) bị lu mờ bởi khối lượng các lớp thường gặp (ví dụ: SAFE với 400.000 mẫu), và F1 vi mô không phản ánh lỗi trên các lớp này. Để xử lý mất cân bằng, pos_weight đã được sử dụng trong BCEWithLogitsLoss. Phân tích chi tiết cho thấy TOXIC có recall≈0.78, nghĩa là mô hình bỏ sót một phần đáng kể các tin nhắn độc hại. Các lớp FLOOD và IMAGE_SCAM gần như không xuất hiện trong tập kiểm tra, nhưng việc xử lý chúng được giao cho các thành phần khác của hệ thống, không phải bộ phân loại văn bản. Tác giả cũng lưu ý rằng việc chọn checkpoint tốt nhất dựa trên loss huấn luyện dẫn đến overfitting: phương án tối ưu được tìm thấy bằng cách sử dụng F1 vĩ mô, không phải loss. Bài học chính: nguyên tắc KISS áp dụng cho việc triển khai, nhưng không áp dụng cho bài toán — không thể bỏ qua sự mất cân bằng lớp, sự khác biệt về chỉ số, độ chính xác/độ phủ riêng cho từng lớp và chi phí sai số. Bước tiếp theo là hiệu chỉnh ngưỡng riêng cho từng lớp.
Nguồn: Habr — хаб NLP — bản gốc
Bài viết liên quan trước đây ↓
Tin mới