huseinzol05 commited on
Commit
98b71f2
1 Parent(s): f3c437e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +95 -1
README.md CHANGED
@@ -9,4 +9,98 @@ QLORA https://huggingface.co/mesolitica/llama-13b-hf-32768-fpf on translated Ult
9
 
10
  We use exact Llama2 chat template.
11
 
12
- README at https://github.com/mesolitica/malaya/tree/5.1/session/llama2#13b-16384-context-length-flash-attention-2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  We use exact Llama2 chat template.
11
 
12
+ README at https://github.com/mesolitica/malaya/tree/5.1/session/llama2#13b-16384-context-length-flash-attention-2
13
+
14
+ ## how-to
15
+
16
+ ```python
17
+ from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
18
+ import torch
19
+
20
+ TORCH_DTYPE = 'bfloat16'
21
+ nf4_config = BitsAndBytesConfig(
22
+ load_in_4bit=True,
23
+ bnb_4bit_quant_type='nf4',
24
+ bnb_4bit_use_double_quant=True,
25
+ bnb_4bit_compute_dtype=getattr(torch, TORCH_DTYPE)
26
+ )
27
+ tokenizer = AutoTokenizer.from_pretrained('mesolitica/malaysian-llama2-13b-32k-instructions')
28
+ model = AutoModelForCausalLM.from_pretrained(
29
+ 'mesolitica/malaysian-llama2-13b-32k-instructions',
30
+ use_flash_attention_2 = True,
31
+ quantization_config = nf4_config
32
+ )
33
+
34
+ def parse_llama_chat(messages):
35
+
36
+ system = messages[0]['content']
37
+ user_query = messages[-1]['content']
38
+
39
+ users, assistants = [], []
40
+ for q in messages[1:-1]:
41
+ if q['role'] == 'user':
42
+ users.append(q['content'])
43
+ elif q['role'] == 'assistant':
44
+ assistants.append(q['content'])
45
+
46
+ texts = [f'<s>[INST] <<SYS>>\n{system}\n<</SYS>>\n\n']
47
+ for u, a in zip(users, assistants):
48
+ texts.append(f'{u.strip()} [/INST] {a.strip()} </s><s>[INST] ')
49
+ texts.append(f'{user_query.strip()} [/INST]')
50
+ prompt = ''.join(texts).strip()
51
+ return prompt
52
+
53
+ messages = [
54
+ {'role': 'system', 'content': 'awak adalah AI yang mampu jawab segala soalan'},
55
+ {'role': 'user', 'content': 'kwsp tu apa'}
56
+ ]
57
+ prompt = parse_llama_chat(messages)
58
+ inputs = tokenizer([prompt], return_tensors='pt', add_special_tokens=False).to('cuda')
59
+ generate_kwargs = dict(
60
+ inputs,
61
+ max_new_tokens=1024,
62
+ top_p=0.95,
63
+ top_k=50,
64
+ temperature=0.9,
65
+ do_sample=True,
66
+ num_beams=1,
67
+ )
68
+ r = model.generate(**generate_kwargs)
69
+ tokenizer.decode(r[0])
70
+ ```
71
+
72
+ ```text
73
+ '<s> [INST] <<SYS>>
74
+ awak adalah AI yang mampu jawab segala soalan
75
+ <</SYS>>
76
+
77
+ kwsp tu apa [/INST] Kumpulan Wang Simpanan Pekerja (KWSP) merupakan sebuah badan berkanun yang ditubuhkan di bawah Akta Kumpulan Wang Simpanan Pekerja 1991 untuk menguruskan simpanan persaraan pekerja dan melaksanakan program persaraan kepada pekerja dan tanggungan mereka. Visi KWSP adalah untuk menjadi pihak berkuasa persaraan terkemuka dalam membina dan membangunkan simpanan untuk masa depan yang lebih baik. </s>'
78
+ ```
79
+
80
+ ```python
81
+ messages = [
82
+ {'role': 'system', 'content': 'awak adalah AI yang mampu jawab segala soalan'},
83
+ {'role': 'user', 'content': 'awat malaysia ada jabatan koko, malaysia bukan buat keluaq koko banyak pun'}
84
+ ]
85
+ prompt = parse_llama_chat(messages)
86
+ inputs = tokenizer([prompt], return_tensors='pt', add_special_tokens=False).to('cuda')
87
+ generate_kwargs = dict(
88
+ inputs,
89
+ max_new_tokens=1024,
90
+ top_p=0.95,
91
+ top_k=50,
92
+ temperature=0.9,
93
+ do_sample=True,
94
+ num_beams=1,
95
+ )
96
+ r = model.generate(**generate_kwargs)
97
+ print(tokenizer.decode(r[0]))
98
+ ```
99
+
100
+ ```text
101
+ <s> [INST] <<SYS>>
102
+ awak adalah AI yang mampu jawab segala soalan
103
+ <</SYS>>
104
+
105
+ awat malaysia ada jabatan koko, malaysia bukan buat keluaq koko banyak pun [/INST] Jabatan Koko Malaysia ialah agensi kerajaan yang bertanggungjawab untuk pembangunan dan pengawalseliaan industri koko Malaysia. Sementara itu, pengeluaran koko adalah sebahagian kecil daripada ekonomi Malaysia. Antara faktor yang menyumbang kepada ini ialah kos tenaga buruh yang tinggi, kekurangan tanah untuk penanaman koko, dan kekurangan penglibatan dalam sektor hiliran. Walau bagaimanapun, industri koko Malaysia mempunyai potensi besar untuk berkembang dan memacu pertumbuhan ekonomi. </s>
106
+ ```