metadata
base_model: HuggingFaceTB/SmolLM-135M
datasets:
- wikimedia/wikipedia
library_name: Distily
license: creativeml-openrail-m
tags:
- generated_from_trainer
- Distily
base_model_relation: finetune
model-index:
- name: distily_smollm_dataset_sweep
results: []
Summary
Distilled with Distily library using teacher model HuggingFaceTB/SmolLM-135M on dataset wikimedia/wikipedia.
Model Architecture:
- Architecture:
LlamaForCausalLM
- Total Parameters: 81,413,568
- Data Type (dtype): torch.float32
- Model Size: 0.30 GB
Student Model Details
LlamaForCausalLM(
(model): LlamaModel(
(embed_tokens): Embedding(49152, 576)
(layers): ModuleList(
(0-14): 15 x LlamaDecoderLayer(
(self_attn): LlamaSdpaAttention(
(q_proj): Linear(in_features=576, out_features=576, bias=False)
(k_proj): Linear(in_features=576, out_features=192, bias=False)
(v_proj): Linear(in_features=576, out_features=192, bias=False)
(o_proj): Linear(in_features=576, out_features=576, bias=False)
(rotary_emb): LlamaRotaryEmbedding()
)
(mlp): LigerSwiGLUMLP(
(gate_proj): Linear(in_features=576, out_features=1536, bias=False)
(up_proj): Linear(in_features=576, out_features=1536, bias=False)
(down_proj): Linear(in_features=1536, out_features=576, bias=False)
)
(input_layernorm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
(post_attention_layernorm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
)
)
(norm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
(rotary_emb): LlamaRotaryEmbedding()
)
(lm_head): Linear(in_features=576, out_features=49152, bias=False)
)
Benchmark Metrics Comparison
- student 0:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=20231101.en, dataset_uri=wikimedia_wikipedia, per_device_train_batch_size=8
- student 1:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=None, dataset_uri=distily_filtered_redpajama_en, per_device_train_batch_size=8
- student 2:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=sample-10BT, dataset_uri=HuggingFaceFW_fineweb-edu, per_device_train_batch_size=8
- student 3:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=sample-10BT, dataset_uri=HuggingFaceFW_fineweb, per_device_train_batch_size=8
- student 4:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=sample-10BT, dataset_uri=HuggingFaceFW_fineweb, learning_rate=6e-05, per_device_train_batch_size=8
- student 5:
dataset_max_seq_length=1024, dataset_sample_size=1000000, dataset_subset=sample-10BT, dataset_uri=HuggingFaceFW_fineweb-edu, learning_rate=6e-05, per_device_train_batch_size=8
- student 6:
dataset_max_seq_length=1024, dataset_sample_size=4000000, dataset_subset=20231101.en, dataset_uri=wikimedia_wikipedia, per_device_train_batch_size=8
Metric | teacher | student 0 | student 1 | student 2 | student 3 | student 4 | student 5 | student 6 |
---|---|---|---|---|---|---|---|---|
tinyArc.acc_norm,none | 0.37 | 0.303 | 0.295 | 0.302 | 0.26 | 0.269 | 0.319 | 0.286 |
tinyGSM8k.exact_match,flexible-extract | 0.006 | 0.029 | 0.03 | 0.025 | 0.006 | 0.006 | 0.012 | 0.012 |
tinyGSM8k.exact_match,strict-match | 0.006 | 0.006 | 0.006 | 0.006 | 0.006 | 0.006 | 0.006 | 0.006 |
tinyHellaswag.acc_norm,none | 0.452 | 0.341 | 0.281 | 0.327 | 0.3 | 0.303 | 0.301 | 0.364 |
tinyMMLU.acc_norm,none | 0.341 | 0.276 | 0.281 | 0.31 | 0.286 | 0.279 | 0.292 | 0.295 |
tinyTruthfulQA.acc,none | 0.38 | 0.463 | 0.447 | 0.423 | 0.419 | 0.421 | 0.427 | 0.44 |
tinyWinogrande.acc_norm,none | 0.509 | 0.466 | 0.436 | 0.46 | 0.492 | 0.473 | 0.417 | 0.439 |
Resource Usage
- Max Train VRAM Use: 13.1269 GB
- Available VRAM: 23.4329 GB
- GPUs:
- 1x NVIDIA GeForce RTX 4090
- CPUs: 64
- CPU Memory: 251.7299 GB
- CPU Memory Bandwidth: 1600 GB/s
Distillation (Teacher -> Student) Architecture Difference:
- Architecture:
LlamaForCausalLM
->LlamaForCausalLM
- Total Parameters: 134,515,008 -> 81,413,568
- Data Type (dtype): torch.float32 -> torch.float32
- Model Size: 0.25 GB -> 0.30 GB
Module Diff Details
--- teacher model modules
+++ student model modules
@@ -2,7 +2,7 @@
(model): LlamaModel(
(embed_tokens): Embedding(49152, 576)
(layers): ModuleList(
- (0-29): 30 x LlamaDecoderLayer(
+ (0-14): 15 x LlamaDecoderLayer(
(self_attn): LlamaSdpaAttention(
(q_proj): Linear(in_features=576, out_features=576, bias=False)
(k_proj): Linear(in_features=576, out_features=192, bias=False)
@@ -10,17 +10,16 @@
(o_proj): Linear(in_features=576, out_features=576, bias=False)
(rotary_emb): LlamaRotaryEmbedding()
)
- (mlp): LlamaMLP(
+ (mlp): LigerSwiGLUMLP(
(gate_proj): Linear(in_features=576, out_features=1536, bias=False)
(up_proj): Linear(in_features=576, out_features=1536, bias=False)
(down_proj): Linear(in_features=1536, out_features=576, bias=False)
- (act_fn): SiLU()
)
- (input_layernorm): LlamaRMSNorm((576,), eps=1e-05)
- (post_attention_layernorm): LlamaRMSNorm((576,), eps=1e-05)
+ (input_layernorm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
+ (post_attention_layernorm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
)
)
- (norm): LlamaRMSNorm((576,), eps=1e-05)
+ (norm): LigerRMSNorm((576,), eps=1e-05, offset=0.0)
(rotary_emb): LlamaRotaryEmbedding()
)
(lm_head): Linear(in_features=576, out_features=49152, bias=False)
Train Dataset
Trained on 1,857,293,914 tokens from the wikimedia/wikipedia dataset.
- Num Samples:
3,992,000
- Subset:
20231101.en
- Split:
train
Training Objective
DistillationObjective(
logits_loss_component=LossComponent(
weight=1,
loss_fn='kl'
),
hs_loss_component=LossComponent(
weight=0
),
attn_loss_component=LossComponent(
weight=0
)
)
Hyperparameters
The following hyperparameters were used during training:
Expand
- learning_rate:
0.0001
- train_batch_size:
8
- eval_batch_size:
4
- seed:
42
- optimizer:
Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type:
polynomial
- lr_scheduler_warmup_ratio:
0.1
- num_epochs:
1.0
- distillation_objective:
DistillationObjective( logits_loss_component=LossComponent( weight=1, loss_fn='kl' ), hs_loss_component=LossComponent( weight=0 ), attn_loss_component=LossComponent( weight=0 ) )
- lr_scheduler:
<torch.optim.lr_scheduler.LambdaLR object at 0x766de39d92d0>
- student_model_name_or_path:
None
- student_config_name_or_path:
None
- student_model_config:
{'num_hidden_layers': 15}
- reinitialize_weights:
None
- copy_teacher_modules:
[('lm_head', False)]
- student_model_as_bitnet:
False
- student_use_liger_kernel:
True
- teacher_model_name_or_path:
HuggingFaceTB/SmolLM-135M
- teacher_load_in_8bit:
False
- teacher_load_in_4bit:
False
- dataset_uri:
wikimedia/wikipedia
- dataset_subset:
20231101.en
- dataset_split:
train
- dataset_column_name:
text
- dataset_sample_size:
4000000
- dataset_max_seq_length:
1024
- dataset_test_size:
0.002
- dataset_shuffle:
False
- dataset_shuffle_seed:
42
- dataset_trust_remote_code:
False
- gradient_accumulation_steps:
1
- weight_decay:
0.0
- max_grad_norm:
1.0
- warmup_ratio:
0.1
- warmup_steps:
0
- gradient_checkpointing:
True
Framework Versions
- Distily 0.5.0
- Transformers 4.45.0.dev0
- Pytorch 2.5.0.dev20240910+cu121
- Datasets 2.21.0