M-FAC/bert-tiny-finetuned-squadv2

M-FAC
Pregunta y respuesta

Este modelo ha sido afinado en el conjunto de datos SQuAD versión 2 con el optimizador de segundo orden de última generación M-FAC. Se recomienda revisar el artículo de NeurIPS 2021 para más detalles sobre M-FAC: https://arxiv.org/pdf/2107.03356.pdf.

Como usar

Para reproducir los resultados, añada el código del optimizador M-FAC en https://github.com/huggingface/transformers/blob/master/examples/pytorch/question-answering/run_qa.py y ejecute el siguiente script bash:

CUDA_VISIBLE_DEVICES=0 python run_qa.py \
--seed 42 \
--model_name_or_path prajjwal1/bert-tiny \
--dataset_name squad_v2 \
--version_2_with_negative \
--do_train \
--do_eval \
--per_device_train_batch_size 12 \
--learning_rate 1e-4 \
--num_train_epochs 2 \
--max_seq_length 384 \
--doc_stride 128 \
--output_dir out_dir/ \
--optim MFAC \
--optim_args '{"lr": 1e-4, "num_grads": 1024, "damp": 1e-6}'

Creemos que estos resultados podrían mejorarse con una modesta afinación de los hiperparámetros: per_device_train_batch_size, learning_rate, num_train_epochs, num_grads y damp. Para seguir una comparación justa y una configuración predeterminada robusta, usamos los mismos hiperparámetros en todos los modelos (bert-tiny, bert-mini) y en todos los conjuntos de datos (SQuAD versión 2 y GLUE). Nuestro código para M-FAC se puede encontrar aquí: https://github.com/IST-DASLab/M-FAC. Un tutorial paso a paso sobre cómo integrar y usar M-FAC en cualquier repositorio se puede encontrar aquí: https://github.com/IST-DASLab/M-FAC/tree/master/tutorials.

Funcionalidades

Modelo BERT-tiny afinado con M-FAC
Optimización de segundo orden con M-FAC
Comparación justa contra el optimizador Adam predeterminado

Casos de uso

Respuesta a preguntas