Spaces:
Running
Running
title: Articles Classifier | |
emoji: 📊 | |
colorFrom: green | |
colorTo: gray | |
sdk: streamlit | |
sdk_version: 1.43.2 | |
app_file: app.py | |
pinned: false | |
short_description: shad ml2 task 4 | |
Что я делал: | |
- я делал классификатор статей (задача, описанная в задании). Цель - увидеть топ-95%* тематик, отсортированных по убыванию вероятности. | |
- попробовал 2 немного разных подхода и несколько моделей в качестве основы нейросети, все они описаны здесь: https://huggingface.co/spaces/bumchik2/articles_classifier/tree/main/notebooks | |
- в целом albert-base-v2 и distilroberta-base давали очень похожие результаты. С точки зрения лосса на тесте у меня лучше всего работала distilroberta-base, поэтому ее и вставил в приложение | |
- основной ноутбук (в котором обучалась финальная модель) называется distilroberta_base_main.ipynb и лежит здесь: https://huggingface.co/spaces/bumchik2/articles_classifier/blob/main/notebooks/distilroberta_base_main.ipynb. В нем я немного смотрю на данные, потом обучаю нейросеть, за основу которой взята distilroberta-base. Я решаю задачу multibinary classification (поскольку одна и та же статья может соответстовать сразу нескольким категориям), в качестве лосса использую взвешенный BCEWithLogitsLoss (добавляю веса, чтобы учесть большую разницу в частотах классов). После того, как уже обучил модель, выходы модели можно использовать для подсчета искомых вероятностей категорий | |
Пример использования нейросети (скопирован из ноутбука): | |
 | |
Что где находится: | |
- основной ноутбук называется distilroberta_base_main.ipynb и лежит здесь: https://huggingface.co/spaces/bumchik2/articles_classifier/blob/main/notebooks/distilroberta_base_main.ipynb. В нем обучение финальной нейросети и примеры ее инференса | |
- данные о тегах и категориях с arxiv в удобном для меня формате: https://huggingface.co/spaces/bumchik2/articles_classifier/blob/main/arxiv_topics.csv | |
- финальную модель положил на huggingface сюда: https://huggingface.co/bumchik2/train-distilroberta-base-tags-classification | |
- код самого приложения https://huggingface.co/spaces/bumchik2/articles_classifier/blob/main/app.py |