--- base_model: meta-llama/Meta-Llama-3-70B-Instruct library_name: transformers tags: - axolotl - finetune - dpo - facebook - meta - pytorch - llama - llama-3 - chatml language: - en pipeline_tag: text-generation license: llama3 license_name: llama3 license_link: LICENSE inference: false model_creator: MaziyarPanahi model_name: Llama-3-70B-Instruct-DPO-v0.3 quantized_by: MaziyarPanahi datasets: - Intel/orca_dpo_pairs --- Llama-3 DPO Logo # MaziyarPanahi/Llama-3-70B-Instruct-DPO-v0.3 This model is a fine-tune (DPO) of `meta-llama/Meta-Llama-3-70B-Instruct` model. # Quantized GGUF All GGUF models are available here: [MaziyarPanahi/Llama-3-70B-Instruct-DPO-v0.3-GGUF](https://huggingface.co/MaziyarPanahi/Llama-3-70B-Instruct-DPO-v0.3-GGUF) # 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/Llama-3-70B-Instruct-DPO-v0.3` 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/Llama-3-70B-Instruct-DPO-v0.3" 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) pipeline = pipeline( "text-generation", model=model, tokenizer=tokenizer, model_kwargs={"torch_dtype": torch.bfloat16}, streamer=streamer ) # Then you can use the pipeline to generate text. messages = [ {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"}, {"role": "user", "content": "Who are you?"}, ] prompt = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) terminators = [ tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|im_end|>"), tokenizer.convert_tokens_to_ids("<|eot_id|>") # safer to have this too ] outputs = pipeline( prompt, max_new_tokens=2048, eos_token_id=terminators, do_sample=True, temperature=0.6, top_p=0.95, ) print(outputs[0]["generated_text"][len(prompt):]) ```