TinyLLaMA OpenHermes2.5 [Work in Progress]

This a finetune of TinyLLaMA base model finetuned on OpenHermes 2.5 and UltraChat 200k for a single epoch.

Training was generously supported by Jarvislabs.ai.

If you appreciate this work and would like to support its continued development, consider buying me a coffee. Your support is invaluable and greatly appreciated.

"Buy Me A Coffee"

See axolotl config

axolotl version: 0.4.0

base_model: TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer
trust_remote_code: true
is_llama_derived_model: true

# huggingface repo
datasets:
  - path: teknium/OpenHermes-2.5
    type: sharegpt
    conversation: chatml
    train_on_split: train

  - path: abhinand/ultrachat_200k_sharegpt
    type: sharegpt
    conversation: chatml
    train_on_split: train

load_in_4bit: false
load_in_8bit: false
bf16: true # require >=ampere
chat_template: chatml

dataset_prepared_path: last_run_prepared_path
hub_model_id: abhinand/TinyLlama-1.1B-OpenHermes-2.5-Chat-v1.0
group_by_length: false

val_set_size: 0.0
sequence_len: 2048
sample_packing: true
pad_to_sequence_len: true

adapter: lora
lora_model_dir:
lora_r: 32
lora_alpha: 16
lora_target_modules:
  - q_proj
  - v_proj
  - k_proj
  - o_proj
  - gate_proj
  - down_proj
  - up_proj
lora_modules_to_save:
  - embed_tokens
  - lm_head
lora_dropout: 0.05
lora_target_linear: true
lora_fan_in_fan_out:

output_dir: /home/tiny-llama/trained_models

gradient_accumulation_steps: 2
micro_batch_size: 32
eval_batch_size: 32
num_epochs: 1
logging_steps: 1
save_steps: 50
save_total_limit: 3

save_safetensors: true
gradient_checkpointing: true

lr_scheduler: cosine
optimizer: "adamw_bnb_8bit"
adam_beta2: 0.95
adam_epsilon: 0.00001
weight_decay: 0.1
learning_rate: 0.0005
max_grad_norm: 1.0
warmup_ratio: 0.05
# warmup_steps: 100

flash_attention: true

# Resume from a specific checkpoint dir
resume_from_checkpoint:
# If resume_from_checkpoint isn't set and you simply want it to start where it left off.
# Be careful with this being turned on between different models.
# auto_resume_from_checkpoints: true

# wandb configuration if you're using it
# Make sure your `WANDB_API_KEY` environment variable is set (recommended) or you login to wandb with `wandb login`.
wandb_mode: # "offline" to save run metadata locally and not sync to the server, "disabled" to turn off wandb
wandb_project: "tiny-llama-sft"
wandb_name:
wandb_run_id:

special_tokens:
  bos_token: "<s>"
  eos_token: "</s>"
  unk_token: "<unk>"
tokens: # these are delimiters
  - "<|im_start|>"
  - "<|im_end|>"

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0005
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • gradient_accumulation_steps: 2
  • total_train_batch_size: 64
  • optimizer: Adam with betas=(0.9,0.95) and epsilon=1e-05
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_steps: 476
  • num_epochs: 1

Framework versions

  • PEFT 0.8.2
  • Transformers 4.38.0.dev0
  • Pytorch 2.0.1
  • Datasets 2.16.1
  • Tokenizers 0.15.0

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 36.59
AI2 Reasoning Challenge (25-Shot) 33.79
HellaSwag (10-Shot) 58.72
MMLU (5-Shot) 24.52
TruthfulQA (0-shot) 36.22
Winogrande (5-shot) 60.93
GSM8k (5-shot) 5.38
Downloads last month
83
Safetensors
Model size
1.1B params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for abhinand/TinyLlama-1.1B-OpenHermes-2.5-Chat-v0.1-sft

Quantizations
1 model

Datasets used to train abhinand/TinyLlama-1.1B-OpenHermes-2.5-Chat-v0.1-sft

Evaluation results