Modelos 🇷🇺 27.07.2026 01:05

Por qué Micro F1=0.94 Puede Ocultar un Clasificador Inútil: Desglose de un Problema Multietiqueta

DeepPavlovDeepPavlov
Usando el ejemplo de la moderación con IA para Discord, el artículo muestra que la métrica micro F1 agregada puede ocultar fallos en clases raras pero críticas. El autor advierte sobre seguir ciegamente el principio KISS en tareas multietiqueta y explica cómo el desbalanceo de clases, la elección de la función de pérdida y las métricas de selección de puntos de control afectan la calidad real del modelo.
El autor desarrolla una moderación de IA para Discord basada en un modelo ruBERT tiny2, ajustado para clasificación multi-etiqueta con 15 etiquetas (SAFE, TOXIC, ADVERTISEMENT, SPAM, SCAM, THREAT, EVASION, FLOOD, y otras). El conjunto de datos contiene alrededor de un millón de ejemplos etiquetados. Después del entrenamiento, el modelo alcanzó un micro F1 de 0.9358 y un macro F1 de 0.8396 en el conjunto de prueba; una diferencia de casi 0.1 señaló la necesidad de revisar las métricas de cada clase individualmente. Resultó que las clases raras (por ejemplo, EVASION con 35,000 muestras) se ahogan en la masa de las frecuentes (SAFE con 400,000), y el micro F1 no refleja los errores en ellas. Para combatir el desequilibrio, se utilizó pos_weight en BCEWithLogitsLoss. Un análisis detallado reveló que TOXIC tiene un recall≈0.78, lo que significa que el modelo omite una parte notable de los mensajes tóxicos. Las clases FLOOD e IMAGE_SCAM están casi ausentes en la división de prueba, pero su procesamiento se delega a otros componentes del sistema, no al clasificador de texto. El autor también señala que seleccionar el mejor punto de control basado en la pérdida de entrenamiento conduce a sobreajuste: la variante óptima se encontró utilizando macro F1, no la pérdida. La conclusión principal: el principio KISS se aplica a la implementación, pero no a la tarea: el desequilibrio de clases, las diferencias de métricas, la precisión y el recall separados para cada clase, y los costos de error no pueden ignorarse. El siguiente paso es calibrar los umbrales para cada clase individualmente.
Fuente: Habr — хаб NLP — original
Nuestros artículos anteriores sobre este tema ↓
Noticias frescas