File size: 3,396 Bytes
d723d2e
 
 
 
 
 
 
 
 
8cd8823
d723d2e
 
c78e9ad
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
---
title: Transformers Devops
emoji: 😻
colorFrom: red
colorTo: indigo
sdk: streamlit
sdk_version: 1.2.0
app_file: app.py
pinned: false
license: unlicense
---

# Лабораторная какая-то, часть какая-то по ML-2.

### Автор: Антон Белецкий.

Парсинг данных и обучение моделей находится в `models.ipynb`

Обученная модель состоит из файлов `config.json` и `pytorch_model.bin`.

Токенайзер также сохранен локально (так как в какой-то момент были проблемы с его автоматической сборкой).

Слайдер `Verbosity` отвечает за границу суммарной вероятности выводимых предсказаний. Если он стоит на 70, то будут выведены столько первых предсказаний, сколько потребуется чтобы их суммарная вероятность перевалила за 70. По умолчанию он стоит на 95, как и требуется в лабораторной, но с этим значением он выводит достаточно много низковероятностного мусора. Результаты выглядят гораздо приятнее если поставить слайдер на 70-80.

В процессе поиска оптимального варианта для классификации (таксономизации) статей были использованы следующие подходы:
* Стандартный `distilbert` на датасете, предоставленном нам "по умолчанию"
* Специальная версия той же архитектуры, но изначально тренировавшаяся на научных статьях в качестве текстов (`allenai/scibert_scivocab_uncased`). В том числе эта модель использует специализированный токенайзер. В итоге эта модель не дала существенного прироста в качестве, при этом ее обучение требовало почти в 2 раза больше времени на эпоху, поэтому в итоговой версии она не используется.
* Сбор дополнительных данных: использовался датасет [отсюда](https://www.kaggle.com/datasets/Cornell-University/arxiv). В итоге были использованы 100 000 статей оттуда. Эти данные отличались гораздо большим разнообразием и сбалансированностью тем, поэтому дали огромный прирост к качеству (без них классификатор обучился предсказывать `cs.AI` примерно всему).

Чтобы получить полный список тегов, используемых арксивом, я распарсил официальную страницу с таксономизацией с помощью `beautiful soup` (все это можно найти в `models.ipynb`).