How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="Amu/spin-phi2", trust_remote_code=True)
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Amu/spin-phi2", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Amu/spin-phi2", trust_remote_code=True)
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

outputs

This model is a fine-tuned version of microsoft/phi-2 using SPIN on ultrachat_200k dataset.

What's new

I think SPIN not only can use on a SFT model, but also it can use on a pretrained model. Therefore, I use SPIN on a pretrained model microsoft/phi-2. And I get a higher score better than origin pretrained model. You can check the open llm leaderboard.

But the ultrachat_200k dataset is a alignment dataset for sft model. I think there should use a alignment dataset for pretrained model.

I Think the best paradigm for training a conversational Large Language Model (LLM): pretrain -> dpo(spin) -> sft -> dpo(spin)

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 5e-07
  • train_batch_size: 1
  • eval_batch_size: 1
  • seed: 42
  • distributed_type: multi-GPU
  • num_devices: 8
  • gradient_accumulation_steps: 8
  • total_train_batch_size: 64
  • total_eval_batch_size: 8
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_ratio: 0.1
  • num_epochs: 1

Framework versions

  • Transformers 4.37.0
  • Pytorch 2.1.2+cu121
  • Datasets 2.14.6
  • Tokenizers 0.15.2

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 61.68
AI2 Reasoning Challenge (25-Shot) 63.57
HellaSwag (10-Shot) 75.57
MMLU (5-Shot) 57.93
TruthfulQA (0-shot) 46.22
Winogrande (5-shot) 73.48
GSM8k (5-shot) 53.30
Downloads last month
101
Safetensors
Model size
3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Amu/spin-phi2

Base model

microsoft/phi-2
Finetuned
(410)
this model

Collection including Amu/spin-phi2

Evaluation results