In this model, we wanted to see how the performance metrics were effected by adapting additional weight matrices with QLoRA. This was
shown to be the most important hyperparameter for improvement in performance metrics by far, whereas hyperparameters such as rank and scaling
factor were shown to be negligible in importance, with lower rank being just as good as higher rank. So, we decided to test the difference between
simply using the query, key, and value weight matrix adapters to using adapters for all possible weight matrices. The comparison for the
first epoch can be seen below. Note the minor performance improvements for the model using every possible weight matrix (this model).
1Test (epoch 1):
2'eval_loss': 0.41490185260772705,
3'eval_accuracy': 0.8625347674451358,
4'eval_precision': 0.11370668247419904,
5'eval_recall': 0.7800926533683039,
6'eval_f1': 0.19848246486644372,
7'eval_auc': 0.8222331548742136,
8'eval_mcc': 0.2639007297474409}
1Test (epoch 1):
2{'eval_loss': 0.3398605287075043,
3'eval_accuracy': 0.8557050926566265,
4'eval_precision': 0.10792930844408741,
5'eval_recall': 0.7726298654561553,
6'eval_f1': 0.18940102955847055,
7'eval_auc': 0.8150939843855006,
8'eval_mcc': 0.2535956911257298}
The metrics on the datasets
mentioned here
can be
found here.
Notably, it appears adding in the adapters for the additional weight matrices serves as a more robust regularization technique, and
that these models appear to generalize better.
1Train metrics:
2{'eval_loss': 0.35603779554367065,
3'eval_accuracy': 0.8439650327744697,
4'eval_precision': 0.11529132737114746,
5'eval_recall': 0.9162279099673907,
6'eval_f1': 0.20481078411524478,
7'eval_auc': 0.8792862815250805,
8'eval_mcc': 0.29286338236467047}
9
10Test metrics:
11{'eval_loss': 0.3942357003688812,
12'eval_accuracy': 0.8246741787222583,
13'eval_precision': 0.0942294455869611,
14'eval_recall': 0.8169195154212542,
15'eval_f1': 0.16896879944226734,
16'eval_auc': 0.8208833317810486,
17'eval_mcc': 0.23939865094539936}