GLUE tasks

October 20, 2023 ยท View on GitHub

Here are the corresponding GLUE scores on BiGS in Pytorch.

Experiments

GLUE is made up of a total of 9 different tasks, we finetune BiGS on a single 24G titanrtx.

export TASK_NAME=cola

python run_glue_pytorch.py \
  --model_name_or_path JunxiongWang/BiGS_128 \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 128 \
  --per_device_train_batch_size 16 \
  --learning_rate 2e-5 \
  --num_train_epochs 3 \
  --overwrite_output_dir \
  --output_dir BiGS_128_$TASK_NAME/
  --ignore_mismatched_sizes \
  --save_total_limit 2 \
  --output_dir BiGS_128_$TASK_NAME/

Those give us the following result

Without pykeops package

TaskMetricResult
CoLAMatthews corr65.5
SST-2Accuracy93.1
QQPAccuracy/F191.2/88.2
MNLIMatched acc./Mismatched acc.86.0
QNLIAccuracy90.9

Notice that, our Pytorch MNLI models are port from JAX models. And it has higher accuracy 86.4 instead of 86.0. You can run a quick evaluation on MNLI.

python run_glue_pytorch.py \
  --model_name_or_path JunxiongWang/BiGS_128_MNLI \
  --task_name MNLI \
  --do_eval \
  --max_seq_length 128 \
  --overwrite_output_dir \
  --output_dir BiGS_128_$TASK_NAME/
  --ignore_mismatched_sizes \
  --save_total_limit 2 \
  --output_dir BiGS_128_$TASK_NAME/

For MRPC, STS-B and RTE, we finetune on the MNLI model

export TASK_NAME=cola

python run_glue_pytorch.py \
  --model_name_or_path JunxiongWang/BiGS_128_MNLI \
  --task_name $TASK_NAME \
  --do_train \
  --do_eval \
  --max_seq_length 128 \
  --per_device_train_batch_size 16 \
  --learning_rate 2e-5 \
  --num_train_epochs 3 \
  --overwrite_output_dir \
  --output_dir BiGS_128_$TASK_NAME/
  --ignore_mismatched_sizes \
  --save_total_limit 2 \
  --output_dir BiGS_128_$TASK_NAME/

Without pykeops package

TaskMetricResult
MRPCAccuracy/F182.4/87.5
STS-BPearson/Spearman corr.89.8/89.9
RTEAccuracy78.3

Using pykeops package

TaskMetricResult
MRPCAccuracy/F183.3/88.1
STS-BPearson/Spearman corr.89.8/89.9
RTEAccuracy80.1