Исходный код для длинной статьи EMNLP2022: Эффективная настройка параметров обеспечивает хорошую классификацию
архив
Мы обнаружили, что
- Точная настройка предварительно обученного LM с помощью алгоритма с эффективными параметрами.
- Точная настройка предварительно обученного LM с инициализацией головы классификации как веса от 1.
обычно лучше, чем прямая точная настройка.
Мы реализуем наши методы на основе библиотеки с открытым исходным кодом SwissArmyTransformers.
Шаг 1.
Загрузите контрольную точку RoBERTa-Large или BERT-Large (предоставлено SwissArmyTransformer) и распакуйте.
Шаг 2.
Добавьте путь к каталогу контрольной точки в строку 5 в EH-FT/roberta/scripts/finetune.sh
Шаг3.
cd EH-FT/roberta
python scripts/run_multiseed.py --number-gpu 1 --gpu-s 0 --seed-per-gpu 1 --dataset rte --finetune-type 2step+bitfit
Шаг4.
cd EH-FT/roberta
python scripts/run_multiseed.py --number-gpu 1 --gpu-s 0 --seed-per-gpu 1 --dataset rte --finetune-type 2step+bitfit
Скрипт запустит процессы [number-gpu] с gpu [gpu-s], gpu [gpu-s+1], ..., gpu [gpu-s + number-gpu - 1]. Каждый процесс имеет свое случайное начальное число.
Вы можете изменить набор данных и тип точной настройки.
Набор данных: rte, mrpc, boolq, wic, cb, copa, wsc, qnli, stsb
Тип точной настройки | имя в бумаге |
---|---|
все | традиционная точная настройка |
2шаг+голова | ЛП-ФТ |
2шаг+битфит | EH-FT(БитФит) |
2шаг+лора | ЭХ-ФТ(Лора) |
2шаг+точка | ЭХ-ФТ(ПТ) |
битфт/лора/пт | Настройка BitFit/LoRA/Prefix |
голова | Линейное зондирование |
ребенок | детский тюнинг |
миксаут | миксаут |
Шаг4.
См. результаты в запусках/с использованием тензорной доски.