Проектная работа по курсу Advanced NLP. Transformer encoder с заменой MLP-блока на MOE для задачи MLM
Реализована архитектура трансформер-энкодера с заменой FFN на MoE блок
Кроме того был выбран Sparse MoE подход и реализован topK выбор экспертов по принципу статьи Mixtral of Experts
Guide for mixture of experts
* из-за ограниченности ресурсов обучали top-1
- для получения пояснений к параметрам введите опцию --help
python data_processors/load_dataset.py --config-name dataset_params.yaml
python data_processors/dataset.py --config-dataset dataset_params.yaml --config-model model_params.yaml
python train/train.py --config-model model_params.yaml --config-dataset dataset_params.yaml --config-train train_params.yaml
python inference/inference.py --config-model model_params.yaml --config-dataset dataset_params.yaml --config-train train_params.yaml --save_path process_exp_results/results
или с параметрами по умолчанию
python inference/inference.py
Установить, если не установлен
pip install aim
Поднять UI
aim up
Запуск обучения с логированием эксперимента в Aim
python train/train.py --tag name
- seg_len=64 mask_prob=0.15 - красная (тег kaggle)
- seg_len=64 mask_prob=0.05 - розовая (тег kaggle-0.05)
- seg_len=128 mask_prob=0.1 - фиолетовая (тег kaggle-128-0.1)
- seg_len=128 mask_prob=0.3 - зеленая (тег kaggle-128-0.3)
- seg_len=64 mask_prob=0.15 - темно-синяя (тег kaggle-64-0.15-2)
модель 5) обучена на данных выбранных с учетом других тестируемых топиков
seg_len - максимальная длина последовательности
mask_prob - процент замаскированных токенов в одной последовательности длины seg_len
seg_len=64 mask_prob=0.15 | |
---|---|
seg_len=64 mask_prob=0.05 | |
---|---|
seg_len=128 mask_prob=0.1 | |
---|---|
seg_len=128 mask_prob=0.3 | |
---|---|
-
Для достижения наилучшего результата при маскировании данных необходимо найти золотую середину между длиной последовательности и процентом замаскированных токенов:
- хуже всего обучилась модель с 5% замаскированных токенов, то есть от 1 до 3 токенов в последовательности из 64
- наилучший результат достигла модель с 15% замаскированными токенами от длины последовательности 64
-
Не выявлено разительных отличий в активации экспертов на разные топики, скорее всего это связано с качетвом датасета - стиль повествования и тексты у разных топиков не сильно отличаются. Кроме того, при воссоздании архитектуры были изучены другие исследования, в которых отмечено, что эксперты скорее регируют больше на "технические" особенности текста, например подмечают особую пунктуацию, а не тематику текста