🔬 Einstein-v4-phi2
This model is a full fine-tuned version of microsoft/phi-2 on diverse datasets.
This model is finetuned using 8xRTX3090
+ 1xRTXA6000
using axolotl.
This model's training was sponsored by sablo.ai.
See axolotl config
axolotl version: 0.4.0
base_model: microsoft/phi-2
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer
load_in_8bit: false
load_in_4bit: false
strict: false
chat_template: chatml
datasets:
- path: data/merged_all.json
ds_type: json
type: alpaca
conversation: chatml
- path: data/capybara_sharegpt.json
ds_type: json
type: sharegpt
conversation: chatml
- path: data/synthia-v1.3_sharegpt_12500.json
ds_type: json
type: sharegpt
conversation: chatml
- path: data/cot_alpaca_gpt4_extracted_openhermes_2.5_sharegpt.json
ds_type: json
type: sharegpt
conversation: chatml
- path: data/slimorca_dedup_filtered_95k_sharegpt.json
ds_type: json
type: sharegpt
conversation: chatml
- path: data/airoboros_3.2_without_contextual_slimorca_orca_sharegpt.json
ds_type: json
type: sharegpt
conversation: chatml
dataset_prepared_path: last_run_prepared
val_set_size: 0.005
output_dir: ./Einstein-v4-phi2-model
sequence_len: 2048
sample_packing: true
pad_to_sequence_len: true
eval_sample_packing: false
wandb_project: Einstein
wandb_entity:
wandb_watch:
wandb_name:
wandb_log_model:
hub_model_id: Weyaxi/Einstein-v4-phi2
save_safetensors: true
gradient_accumulation_steps: 4
micro_batch_size: 3
num_epochs: 2
optimizer: adamw_torch # adamw_bnb_8bit
lr_scheduler: cosine
learning_rate: 0.000005
train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
tf32: false
gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true
warmup_steps: 10
evals_per_epoch: 2 # changed
eval_table_size:
eval_table_max_new_tokens: 128
saves_per_epoch: 4
debug:
deepspeed: zero3_bf16.json
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
eos_token: "<|im_end|>"
pad_token: "<|endoftext|>"
tokens:
- "<|im_start|>"
💬 Prompt Template
You can use this prompt template while using the model:
ChatML
<|im_start|>system
{system}<|im_end|>
<|im_start|>user
{user}<|im_end|>
<|im_start|>assistant
{asistant}<|im_end|>
This prompt template is available as a chat template, which means you can format messages using the
tokenizer.apply_chat_template()
method:
messages = [
{"role": "system", "content": "You are helpful AI asistant."},
{"role": "user", "content": "Hello!"}
]
gen_input = tokenizer.apply_chat_template(message, return_tensors="pt")
model.generate(**gen_input)
🔄 Quantizationed versions
Quantizationed versions of this model is available.
GGUF @bartowski:
Exl2 @bartowski:
🎯 Open LLM Leaderboard Evaluation Results
Detailed results can be found here
Metric | Value |
---|---|
Avg. | 60.77 |
AI2 Reasoning Challenge (25-Shot) | 59.98 |
HellaSwag (10-Shot) | 74.07 |
MMLU (5-Shot) | 56.89 |
TruthfulQA (0-shot) | 45.80 |
Winogrande (5-shot) | 73.88 |
GSM8k (5-shot) | 53.98 |
🤖 Additional information about training
This model is full fine-tuned for 2 epochs.
Total number of steps was 2178.
🤝 Acknowledgments
Thanks to sablo.ai for sponsoring this model.
Thanks to all the dataset authors mentioned in the datasets section.
Thanks to axolotl for making the repository I used to make this model.
Thanks to all open source AI community.
If you would like to support me:
- Downloads last month
- 22
Model tree for Weyaxi/Einstein-v4-phi2
Datasets used to train Weyaxi/Einstein-v4-phi2
Collection including Weyaxi/Einstein-v4-phi2
Evaluation results
- normalized accuracy on AI2 Reasoning Challenge (25-Shot)test set Open LLM Leaderboard59.980
- normalized accuracy on HellaSwag (10-Shot)validation set Open LLM Leaderboard74.070
- accuracy on MMLU (5-Shot)test set Open LLM Leaderboard56.890
- mc2 on TruthfulQA (0-shot)validation set Open LLM Leaderboard45.800
- accuracy on Winogrande (5-shot)validation set Open LLM Leaderboard73.880
- accuracy on GSM8k (5-shot)test set Open LLM Leaderboard53.980