Código fuente del artículo extenso EMNLP2022: El ajuste eficiente de los parámetros constituye un buen cabezal de clasificación
arxiv
encontramos que
- Ajuste el LM previamente entrenado con un algoritmo eficiente en parámetros.
- Ajuste el LM previamente entrenado inicializando el cabezal de clasificación como el peso de 1.
Generalmente es mejor que el ajuste fino directo.
Implementamos nuestros métodos basados en una biblioteca de código abierto SwissArmyTransformers.
Paso 1.
Descargue el punto de control de RoBERTa-Large o BERT-Large (proporcionado por SwissArmyTransformer) y descomprímalo.
Paso 2.
Agregue la ruta del directorio del punto de control a la línea 5 en EH-FT/roberta/scripts/finetune.sh
Paso 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
Paso 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
El script iniciará procesos [number-gpu] con gpu [gpu-s], gpu [gpu-s+1], ..., gpu [gpu-s + number-gpu - 1]. Cada proceso tiene una semilla aleatoria diferente.
Puede cambiar el conjunto de datos y ajustar el tipo.
Conjunto de datos: rte, mrpc, boolq, wic, cb, copa, wsc, qnli, stsb
Tipo de ajuste fino | nombre en papel |
---|---|
todo | ajuste tradicional |
2pasos+cabeza | LP-FT |
2 pasos+bitfit | EH-FT (BitFit) |
2pasos+lora | EH-FT(LoRA) |
2paso+pt | EH-FT(PT) |
bitft/lora/pt | Ajuste de BitFit/LoRA/prefijo |
cabeza | Sondeo lineal |
niño | sintonización infantil |
mezcla | mezcla |
Paso 4.
Ver resultados en ejecuciones/usando tensorboard.