---
title: phi-2-super
canonical_url: "https://www.modelscope.cn/models/AI-ModelScope/phi-2-super"
md_url: "https://www.modelscope.cn/models/AI-ModelScope/phi-2-super.md"
repository: AI-ModelScope/phi-2-super
last_updated: 2024-03-05
license: mit
pipeline_tag: text-generation
tasks:
  - text-generation
model_type:
  - phi
architectures:
  - PhiForCausalLM
parameters: 2.8B
tensor_type:
  - BF16
library_name:
  - pytorch
  - safetensors
frameworks:
  - pytorch
language:
  - en
inference_backends:
  - "deploy_task text/emb"
  - "sglang 0.5.2"
  - "vllm 0.9.2"
downloads: 5077
stars: 0
tags:
  - convAI
  - conversational
---

# phi-2-super

> phi-2-super - AI-ModelScope 在 ModelScope 开源的模型。Phi-2-super (SFT + cDPO)

AI-ModelScope/phi-2-super 是 ModelScope 魔搭社区上的 2.8B 参数text-generation模型，采用 mit 许可，可用 deploy_task text/emb、sglang 0.5.2、vllm 0.9.2 部署。

- **Repository**: AI-ModelScope/phi-2-super
- **License**: mit
- **Tasks**: text-generation
- **Parameters**: 2.8B
- **Inference backends**: deploy_task text/emb, sglang 0.5.2, vllm 0.9.2
- **Tags**: convAI, conversational
- **Downloads**: 5077
- **Stars**: 0
- **Last updated**: 2024-03-05

Source: https://www.modelscope.cn/models/AI-ModelScope/phi-2-super

---

# Phi-2-super (SFT + cDPO)

Base Model: [microsoft/phi-2](https://huggingface.co/microsoft/phi-2)

![image/png](https://cdn-uploads.huggingface.co/production/uploads/62ceeb27e7f6014c0e9d9268/5-LQCMrXi8FN_ewcWL47v.png)

# How to run inference:

```python
import transformers
import torch

if __name__ == "__main__":
  model_name = "abacaj/phi-2-super"
  tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
  
  model = (
      transformers.AutoModelForCausalLM.from_pretrained(
          model_name,
      )
      .to("cuda:0")
      .eval()
  )
  
  messages = [
      {"role": "user", "content": "Hello, who are you?"}
  ]
  inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
  input_ids_cutoff = inputs.size(dim=1)
  
  with torch.no_grad():
      generated_ids = model.generate(
          input_ids=inputs,
          use_cache=True,
          max_new_tokens=512,
          temperature=0.2,
          top_p=0.95,
          do_sample=True,
          eos_token_id=tokenizer.eos_token_id,
          pad_token_id=tokenizer.pad_token_id,
      )
  
  completion = tokenizer.decode(
      generated_ids[0][input_ids_cutoff:],
      skip_special_tokens=True,
  )
  
  print(completion)
```

# Chat template

The model uses the same chat template as found in Mistral instruct models:

```python
text = "<|endoftext|>[INST] What is your favourite condiment? [/INST]"
"Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!<|endoftext|> "
"[INST] Do you have mayonnaise recipes? [/INST]"
```

You don't need to do it manually if you use the HF transformers tokenizer:

```python
  messages = [
      {"role": "user", "content": "Hello, who are you?"},
      {"role": "assistant": "content": "I am ..."}
  ]
  inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
```

# MT-bench / heval

![image/png](https://cdn-uploads.huggingface.co/production/uploads/62ceeb27e7f6014c0e9d9268/lnFu3x1ufdpQVysIrX4-G.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/62ceeb27e7f6014c0e9d9268/mJfBpH8dIW7Ii2KAGI_A7.png)
