Update README.md
Browse files
README.md
CHANGED
@@ -1,2 +1,34 @@
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 70b Distillation Experiment
|
2 |
+
This is not the full-fledged run that I plan to do for a large scale distillation of Llama3 70b.
|
3 |
+
Instead, it's a preliminary test train of the custom distillation trainer, where we target KL divergence from the larger Llama3 70b teacher model onto 4x8b (the student).
|
4 |
+
I'm releasing it here mainly so that people who are interested can tinker with it / finetune it to see how it behaves before I am ready to do a larger run.
|
5 |
+
|
6 |
+
# Training details
|
7 |
+
Each of the 8b expert MLP layers is duplicated 3x from the original Llama3 8b in a typical Mixtral-style Sparse MoE layout.
|
8 |
+
|
9 |
+
Over the course of the training run, the expert selection count was gradually increased from the minimum (topk=1) to the maximum (topk=4), as in [Sparse MoE as the New Dropout](https://arxiv.org/abs/2303.01610). This was done with a stochastic / randomized top_k expert selection with **frozen gate layers**, as recommended in the paper.
|
10 |
+
|
11 |
+
LR = 2e-6, ~2.5 mil tokens of Python instruct data, all around ~8k tokens ish for each sample ~(300 total samples).
|
12 |
+
Despite the use of instruct data, the model does not necessarily behave like one, as the training process involves mimicking a larger base model's distributions over to said data.
|
13 |
+
|
14 |
+
1 epoch distillation of 70b logprobs, topk=200 logits from the fp16 Llama3-70b.
|
15 |
+
|
16 |
+
# Evals
|
17 |
+
|
18 |
+
## llama3-4x8b-pythonT2_step_final
|
19 |
+
|
20 |
+
* mmlu: 65.10 (66.69) - 0.97x
|
21 |
+
* arc: 57.94 (59.47) - 0.97x
|
22 |
+
* hellaswag: 81.93 (82.09) - 0.99x
|
23 |
+
* winogrande: 77.03 (77.35) - 0.99x
|
24 |
+
* gsm8k: 50.95 (45.79) - 1.11x
|
25 |
+
* truthfulqa-mc1: 27.66
|
26 |
+
* truthfulqa-mc2: 44.53 (43.9) - 1.01x
|
27 |
+
* humaneval+: 32.9 (29.3) - 1.12x
|
28 |
+
* humaneval: 37.2 (33.5) - 1.11x
|
29 |
+
|
30 |
+
# Current Conclusions
|
31 |
+
Going by evals (and evals alone), full-finetuning seems to have caused some degree of mild catastrophic forgetting outside of the domains that were specifically distilled, as you might expect from the lack of data. I plan to remedy this with lower LRs and/or bigger batch sizes, and of course, on a much larger dataset than the limited selection seen here.
|
32 |
+
The plan is to do at least 1 billion unique tokens; we are still conducting custom tests for alternative loss functions (i.e, things in the vein of a weighted Cross-Entropy loss function to be used in tandem with KL divergence.)
|
33 |
+
|
34 |
+

|