--- language: - en license: mit library_name: transformers tags: - axolotl - finetune - dpo - microsoft - phi - pytorch - phi-3 - nlp - code - chatml base_model: microsoft/Phi-3-mini-4k-instruct model_name: Phi-3-mini-4k-instruct-v0.1 pipeline_tag: text-generation inference: false model_creator: MaziyarPanahi quantized_by: MaziyarPanahi model-index: - name: Phi-3-mini-4k-instruct-v0.1 results: - task: type: text-generation name: Text Generation dataset: name: AI2 Reasoning Challenge (25-Shot) type: ai2_arc config: ARC-Challenge split: test args: num_few_shot: 25 metrics: - type: acc_norm value: 62.63 name: normalized accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: HellaSwag (10-Shot) type: hellaswag split: validation args: num_few_shot: 10 metrics: - type: acc_norm value: 81.07 name: normalized accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: MMLU (5-Shot) type: cais/mmlu config: all split: test args: num_few_shot: 5 metrics: - type: acc value: 68.96 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: TruthfulQA (0-shot) type: truthful_qa config: multiple_choice split: validation args: num_few_shot: 0 metrics: - type: mc2 value: 61.48 source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: Winogrande (5-shot) type: winogrande config: winogrande_xl split: validation args: num_few_shot: 5 metrics: - type: acc value: 71.03 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: GSM8k (5-shot) type: gsm8k config: main split: test args: num_few_shot: 5 metrics: - type: acc value: 72.25 name: accuracy source: url: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 name: Open LLM Leaderboard --- Phi-3 Logo # MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1 This model is a fine-tune (DPO) of `microsoft/Phi-3-mini-4k-instruct` model. # ⚡ Quantized GGUF All GGUF models are available here: [MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1-GGUF](https://huggingface.co/MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1-GGUF) # 🏆 [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) Detailed results can be found [here](https://huggingface.co/datasets/open-llm-leaderboard/details_MaziyarPanahi__Phi-3-mini-4k-instruct-v0.1) | Metric |Value| |---------------------------------|----:| |Avg. |69.57| |AI2 Reasoning Challenge (25-Shot)|62.63| |HellaSwag (10-Shot) |81.07| |MMLU (5-Shot) |68.96| |TruthfulQA (0-shot) |61.48| |Winogrande (5-shot) |71.03| |GSM8k (5-shot) |72.25| # Prompt Template This model uses `ChatML` prompt template: ``` <|im_start|>system {System} <|im_end|> <|im_start|>user {User} <|im_end|> <|im_start|>assistant {Assistant} ```` # How to use You can use this model by using `MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1` as the model name in Hugging Face's transformers library. ```python from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer from transformers import pipeline import torch model_id = "MaziyarPanahi/Phi-3-mini-4k-instruct-v0.1" model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True, # attn_implementation="flash_attention_2" ) tokenizer = AutoTokenizer.from_pretrained( model_id, trust_remote_code=True ) streamer = TextStreamer(tokenizer) messages = [ {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"}, {"role": "user", "content": "Who are you?"}, ] # this should work perfectly for the model to stop generating terminators = [ tokenizer.eos_token_id, # this should be <|im_end|> tokenizer.convert_tokens_to_ids("<|assistant|>"), # sometimes model stops generating at <|assistant|> tokenizer.convert_tokens_to_ids("<|end|>") # sometimes model stops generating at <|end|> ] pipe = pipeline( "text-generation", model=model, tokenizer=tokenizer, ) generation_args = { "max_new_tokens": 500, "return_full_text": False, "temperature": 0.0, "do_sample": False, "streamer": streamer, "eos_token_id": terminators, } output = pipe(messages, **generation_args) print(output[0]['generated_text']) ```