Views
No views yet
1
2dataset = load_dataset("argilla/distilabel-intel-orca-dpo-pairs", split="train", token=hf_token)
3dataset = dataset.filter(lambda r: r["status"]!="tie" and r["chosen_score"]>5)
4
5def chatml_format(example):
6 # Format system
7 if len(example['system']) > 0:
8 message = {"role": "system", "content": example['system']}
9 system = tokenizer.apply_chat_template([message], tokenize=False)
10 else:
11 system = ""
12
13 # Format instruction
14 message = {"role": "user", "content": example['input']}
15 prompt = tokenizer.apply_chat_template([message], tokenize=False, add_generation_prompt=True)
16
17 # Format chosen answer
18 chosen = example['chosen'] + "<|im_end|>\n"
19
20 # Format rejected answer
21 rejected = example['rejected'] + "<|im_end|>\n"
22
23 return {
24 "prompt": system + prompt,
25 "chosen": chosen,
26 "rejected": rejected,
27 }
28
29# Load dataset
30#dataset = load_dataset("Intel/orca_dpo_pairs")['train']
31
32# Save columns
33original_columns = dataset.column_names
34
35# Tokenizer
36tokenizer = AutoTokenizer.from_pretrained(model_name)
37tokenizer.pad_token = tokenizer.eos_token
38tokenizer.padding_side = "left"
39
40# Format dataset
41dataset = dataset.map(
42 chatml_format,
43 remove_columns=original_columns
44)
45
46# Print sample
47dataset[1]