---
base_model: gpt2
datasets:
- wikimedia/wikipedia
library_name: Distily
license: mit
tags:
- bitnet
- 1.58b
- generated_from_trainer
model-index:
- name: distily_multi_experiment
results: []
---
# Summary
Distilled with [Distily](https://github.com/lapp0/distily) library
using teacher model [gpt2](https://huggingface.co/gpt2)
on dataset [wikimedia/wikipedia](https://huggingface.co/datasets/wikimedia/wikipedia).
# Model Architecture:
- **Architecture**: `GPT2LMHeadModel`
- **Total Parameters**: 124,439,808
- **Data Type (dtype)**: torch.bfloat16
- **Model Size**: 0.24 GB
# Evaluation Metrics Comparison
| step | epoch | enwikippl | frwikippl | loss | runtime | samples_per_second | steps_per_second | tinystoriesppl | zhwikippl |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **teacher eval** | | 43.25 | 61.25 | | | | | 11.6875 | 19.125 |
| 0 | 0 | 2473901162496.0 | 170424302305280.0 | 21.1784 | 25.4152 | 98.366 | 12.315 | 4060086272.0 | 71468255805440.0 |
| 2500 | 0.0404 | 764.0 | 5376.0 | 2.3596 | 25.4066 | 98.4 | 12.32 | 470.0 | 2096.0 |
| 5000 | 0.0808 | 312.0 | 1344.0 | 1.6581 | 25.4693 | 98.157 | 12.289 | 232.0 | 241.0 |
| 7500 | 0.1212 | 210.0 | 744.0 | 1.3794 | 25.4328 | 98.298 | 12.307 | 172.0 | 154.0 |
| 10000 | 0.1616 | 158.0 | 560.0 | 1.1831 | 25.4425 | 98.261 | 12.302 | 129.0 | 156.0 |
| 12500 | 0.2020 | 117.0 | 456.0 | 0.9687 | 25.4175 | 98.357 | 12.314 | 98.5 | 140.0 |
| 15000 | 0.2424 | 103.5 | 418.0 | 0.8616 | 25.4115 | 98.381 | 12.317 | 84.5 | 110.5 |
| 17500 | 0.2828 | 91.0 | 340.0 | 0.7766 | 25.4459 | 98.248 | 12.301 | 74.0 | 107.5 |
| 20000 | 0.3232 | 78.5 | 300.0 | 0.7221 | 25.4945 | 98.06 | 12.277 | 66.0 | 173.0 |
| 22500 | 0.3636 | 72.0 | 230.0 | 0.6270 | 25.4673 | 98.165 | 12.29 | 59.0 | 99.0 |
| 25000 | 0.4040 | 67.5 | 211.0 | 0.5925 | 25.4934 | 98.064 | 12.278 | 49.75 | 118.5 |
| 27500 | 0.4444 | 66.0 | 208.0 | 0.5720 | 25.4123 | 98.378 | 12.317 | 47.75 | 159.0 |
| 30000 | 0.4848 | 65.5 | 215.0 | 0.5761 | 25.481 | 98.112 | 12.284 | 50.75 | 86.5 |
| 32500 | 0.5253 | 64.5 | 189.0 | 0.5649 | 25.4585 | 98.199 | 12.295 | 47.0 | 80.5 |
| 35000 | 0.5657 | 61.5 | 190.0 | 0.5213 | 25.4186 | 98.353 | 12.314 | 43.75 | 125.5 |
| 37500 | 0.6061 | 61.75 | 167.0 | 0.5083 | 25.4687 | 98.16 | 12.29 | 46.5 | 74.0 |
| 40000 | 0.6465 | 59.25 | 182.0 | 0.4943 | 25.4354 | 98.288 | 12.306 | 40.25 | 64.5 |
| 42500 | 0.6869 | 58.75 | 165.0 | 0.4828 | 25.4783 | 98.123 | 12.285 | 41.75 | 83.0 |
| 45000 | 0.7273 | 53.75 | 161.0 | 0.4080 | 25.4586 | 98.199 | 12.294 | 36.0 | 79.0 |
| 47500 | 0.7677 | 53.0 | 135.0 | 0.3898 | 25.4198 | 98.349 | 12.313 | 35.0 | 72.0 |
| 50000 | 0.8081 | 52.5 | 138.0 | 0.3778 | 25.4834 | 98.103 | 12.283 | 34.25 | 42.0 |
| 52500 | 0.8485 | 50.75 | 132.0 | 0.3690 | 25.432 | 98.301 | 12.307 | 34.0 | 48.5 |
| 55000 | 0.8889 | 50.5 | 126.0 | 0.3554 | 25.4536 | 98.218 | 12.297 | 32.5 | 37.25 |
| 57500 | 0.9293 | 49.75 | 127.0 | 0.3516 | 25.4028 | 98.415 | 12.321 | 32.25 | 36.0 |
| 60000 | 0.9697 | 49.75 | 124.5 | 0.3487 | 25.4725 | 98.145 | 12.288 | 32.0 | 35.75 |
| 61875 | 1.0 | 49.75 | 125.0 | 0.3485 | 25.4582 | 98.2 | 12.295 | 32.0 | 35.75 |
# Resource Usage Comparison
- VRAM Use: 7.7851 GB
# Distillation (Teacher -> Student) Architecture Difference:
- **Architecture**: `GPT2LMHeadModel` -> `GPT2LMHeadModel`
- **Total Parameters**: 124,439,808 -> 124,439,808
- **Data Type (dtype)**: torch.bfloat16 -> torch.bfloat16
- **Model Size**: 0.24 GB -> 0.24 GB
Module Diff Details
```diff
```
# Train Dataset
Trained on 145,744,973 tokens from the [wikimedia/wikipedia](https://huggingface.co/datasets/wikimedia/wikipedia) dataset.
- Num Samples: `247,500`
- Subset: `20231101.en`
- Split: `train`
# Training Objective
```
DistillationObjective(logits_loss_component=LossComponent(label=logits, weight=1, loss_fn=kl), attn_loss_component=LossComponent(label=attn, weight=5, loss_fn=kl, layer_mapper=layer-2))
```
# Hyperparameters
The following hyperparameters were used during training:
Expand
- learning_rate: `0.0001`
- train_batch_size: `4`
- eval_batch_size: `8`
- seed: `42`
- optimizer: `Adam with betas=(0.9,0.999) and epsilon=1e-08`
- lr_scheduler_type: `linear`
- lr_scheduler_warmup_ratio: `0.5`
- num_epochs: `1.0`
- distillation_objective: `DistillationObjective(logits_loss_component=LossComponent(label=logits, weight=1, loss_fn=kl), attn_loss_component=LossComponent(label=attn, weight=5, loss_fn=kl, layer_mapper=layer-2))`
- train_embeddings: `True`
- lr_scheduler: ``
- student_model_name_or_path: `None`
- student_config_name_or_path: `None`
- student_model_config: `None`
- reinitialize_weights: `None`
- copy_teacher_modules: `[('lm_head', False)]`
- student_model_as_bitnet: `True`
- student_model_compile: `False`
- dropout: `None`
- teacher_model_name_or_path: `gpt2`
- teacher_load_in_8bit: `False`
- teacher_load_in_4bit: `False`
- teacher_model_compile: `False`
- dataset_uri: `wikimedia/wikipedia`
- dataset_subset: `20231101.en`
- dataset_split: `train`
- dataset_column_name: `text`
- dataset_sample_size: `250000`
- dataset_test_size: `0.01`
- gradient_accumulation_steps: `1`
- weight_decay: `0.0`
- max_grad_norm: `1.0`
- warmup_ratio: `0.5`
- warmup_steps: `0`
- gradient_checkpointing: `True`
# Framework Versions
- Distily 0.2.0
- Transformers 4.44.1
- Pytorch 2.5.0.dev20240821+cu121
- Datasets 2.21.0