Built with Axolotl

See axolotl config

axolotl version: 0.6.0

base_model: meta-llama/Llama-3.2-1B
# Automatically upload checkpoint and final model to HF
# hub_model_id: username/custom_model_name

load_in_8bit: false
load_in_4bit: true
strict: false

datasets:
  - path: yahma/alpaca-cleaned
    type: alpaca
dataset_prepared_path: last_run_prepared
val_set_size: 0.1
output_dir: ./outputs/qlora-out

adapter: qlora
lora_model_dir:

sequence_len: 2048
sample_packing: true
eval_sample_packing: true
pad_to_sequence_len: true

lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_fan_in_fan_out:
lora_target_modules:
  - gate_proj
  - down_proj
  - up_proj
  - q_proj
  - v_proj
  - k_proj
  - o_proj

wandb_project: "axolotl"
wandb_entity: "kasfiekfs-e"
wandb_watch:
wandb_name:
wandb_log_model:

gradient_accumulation_steps: 4
micro_batch_size: 2
num_epochs: 1
optimizer: adamw_bnb_8bit
lr_scheduler: cosine
learning_rate: 0.0002

train_on_inputs: false
group_by_length: false
bf16: auto
fp16:
tf32: false

gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true

loss_watchdog_threshold: 5.0
loss_watchdog_patience: 3

warmup_steps: 10
evals_per_epoch: 4
eval_table_size:
eval_max_new_tokens: 128
saves_per_epoch: 1
debug:
deepspeed:
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
  pad_token: "<|end_of_text|>"

QLoRA-Llama-3.2-1B-Alpaca

This model is a fine-tuned version of meta-llama/Llama-3.2-1B on the yahma/alpaca-cleaned dataset. It achieves the following results on the evaluation set:

  • Loss: 1.2517

Model description

This is an instruction-tuned model trained using the Alpaca Prompt Format with the cleaned version of the original Alpaca Dataset (yahma/alpaca-cleaned) released by Stanford.
Please note that this model is based on the Llama 3.2 1B Base (pretrained) model.

Intended uses & limitations

The following chat template provides optimal performance for inference:

# w/o train system prompt
{{ bos_token }}{% for message in messages %}{% if message['role'] == 'user' %}{{ '### Instruction:\n' + message['content'] + '\n\n' }}{% elif message['role'] == 'assistant' %}{{ '### Response:\n' + message['content'] + eos_token + '\n\n' }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '### Response:\n' }}{% endif %}

# w/ train system prompt
{{ bos_token }}{{ 'Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n' }}{% for message in messages %}{% if message['role'] == 'user' %}{{ '### Instruction:\n' + message['content'] + '\n\n' }}{% elif message['role'] == 'assistant' %}{{ '### Response:\n' + message['content'] + eos_token + '\n\n' }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '### Response:\n' }}{% endif %}

The model was trained with the system prompt:
"Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request."
However, it has not been tested whether including this prompt in inference is the optimal choice. Feel free to experiment.

An example rendering with the w/ train system prompt template is as follows:

<|begin_of_text|>### Instruction:
what is  43 + 12?

### Response:
The sum of numbers 43 and 12 is 55.<|end_of_text|>

In this case, the model output is:
The sum of numbers 43 and 12 is 55.<|end_of_text|>
Be mindful of the EOS token.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0002
  • train_batch_size: 2
  • eval_batch_size: 2
  • seed: 42
  • gradient_accumulation_steps: 4
  • total_train_batch_size: 8
  • optimizer: Use OptimizerNames.ADAMW_BNB with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_steps: 10
  • num_epochs: 1.0

Training results

https://wandb.ai/kasfiekfs-e/axolotl/runs/uzitnvvj

Training Loss Epoch Step Validation Loss
1.4939 0.0018 1 1.4682
1.3169 0.2510 138 1.2773
1.2603 0.5020 276 1.2603
1.2301 0.7531 414 1.2517

Framework versions

  • PEFT 0.14.0
  • Transformers 4.47.1
  • Pytorch 2.5.1+cu124
  • Datasets 3.2.0
  • Tokenizers 0.21.0
Downloads last month
0
Inference Providers NEW
This model is not currently available via any of the supported third-party Inference Providers, and HF Inference API was unable to determine this model’s pipeline type.

Model tree for minpeter/QLoRA-Llama-3.2-1B-alpaca

Adapter
(266)
this model

Dataset used to train minpeter/QLoRA-Llama-3.2-1B-alpaca

Collection including minpeter/QLoRA-Llama-3.2-1B-alpaca