File size: 2,306 Bytes
158dfb9
 
 
 
 
 
 
c1c4a11
 
158dfb9
 
 
 
 
 
 
 
 
 
 
c1c4a11
158dfb9
 
 
c1c4a11
 
 
158dfb9
c1c4a11
158dfb9
c1c4a11
 
158dfb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c1c4a11
 
 
158dfb9
 
 
 
bf09c9f
158dfb9
 
 
c1c4a11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
library_name: transformers
license: llama3
base_model: meta-llama/Meta-Llama-3-8B-Instruct
tags:
- axolotl
- generated_from_trainer
- spectrum finetuning
- Deepspeed MultiGPU
model-index:
- name: Llama-3-8B-spectrum-25
  results: []
---

<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->


# Llama-3-8B-spectrum-25

This model is a fine-tuned version of [meta-llama/Meta-Llama-3-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct) on the [yuvraj17/finetune_alpaca_1K](https://huggingface.co/datasets/yuvraj17/finetune_alpaca_1K) dataset.
It achieves the following results on the evaluation set:
- Loss: 1.2791

## Spectrum Fine-tuning:
I have used the **Spectrum Fine-tuning** method as described in [Eric Hartford et. al 2024](https://arxiv.org/abs/2406.06623), which selectively targets some ***t%*** of the model layers with the highest **Signal-to-Noise Ratio (SNR)**. By focusing on the most information-dense layers, this approach maximizes fine-tuning efficiency while minimizing compute resources.
The key goal of Spectrum Fine-tuning is: *minimize the memory footprint and accelerate LLM training without sacrificing performance.*

The 25% layer selection ensures minimal computational overhead for fine-tuning.

## Training:
- Trained on **2x A40s (48GB VRAM each)** for over 1 hour using the **Axolotl**.


### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 0.0002
- train_batch_size: 4
- eval_batch_size: 4
- seed: 42
- distributed_type: multi-GPU
- num_devices: 2
- gradient_accumulation_steps: 4
- total_train_batch_size: 32
- total_eval_batch_size: 8
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 100
- num_epochs: 2


![Train/loss Curve Image](https://cdn-uploads.huggingface.co/production/uploads/66137d95e8d2cda230ddcea6/eSBh0SmeGYYUfx9pKgMIv.png)

![eval/loss Curve Image](https://cdn-uploads.huggingface.co/production/uploads/66137d95e8d2cda230ddcea6/xNslkLH1pKot7tzWtIiu9.png)


### Framework versions

- Axolotl 0.4.1
- Transformers 4.44.2
- Pytorch 2.4.0+cu121
- Datasets 2.20.0
- Tokenizers 0.19.1