File size: 5,632 Bytes
e0978ef
ccf8df6
 
e0978ef
 
ccf8df6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
---
language:
- ms
---

# Full Parameter Finetuning Malaysian Llama-3 16384 context length on Malaysian chat completion 3B tokens

README at https://github.com/huseinzol05/malaya/tree/master/session/llama3

WandB, https://wandb.ai/huseinzol05/fpf-llama-3-8b-8192-hf-packing?nw=nwuserhuseinzol05

## how-to

```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained('mesolitica/malaysian-llama-3-8b-instruct-16k')
model = AutoModelForCausalLM.from_pretrained('mesolitica/malaysian-llama-3-8b-instruct-16k', 
    torch_dtype=torch.bfloat16,
    use_flash_attention_2 = True
)
_ = model.cuda()

messages = [
    {'role': 'user', 'content': 'kwsp tu apa'}
]
prompt = tokenizer.apply_chat_template(messages, tokenize = False)
inputs = tokenizer([prompt], return_tensors='pt', add_special_tokens=False).to('cuda')
generate_kwargs = dict(
    inputs,
    max_new_tokens=1024,
    top_p=0.95,
    top_k=50,
    temperature=0.9,
    do_sample=True,
    num_beams=1,
)
r = model.generate(**generate_kwargs)
tokenizer.decode(r[0])
```

```
<|begin_of_text|><|start_header_id|>user<|end_header_id|>

kwsp tu apa<|eot_id|><|start_header_id|>assistant<|end_header_id|>

KWSP adalah singkatan kepada Kumpulan Wang Simpanan Pekerja, iaitu sejenis skim simpanan persaraan yang ditadbir oleh kerajaan Malaysia. Ia adalah sistem pencen yang disumbangkan oleh kedua-dua majikan dan pekerja. KWSP adalah skim simpanan wajib di Malaysia, dan kebanyakan pekerja mesti mendaftar dan menyumbang kepada KWSP. Skim ini ditadbir oleh Kumpulan Wang Simpanan Pekerja Malaysia. KWSP menyediakan pelbagai pilihan pelaburan untuk ahlinya, termasuk unit amanah, bon, dan juga simpanan tetap. Ahli boleh memohon untuk melabur sebahagian simpanan KWSP mereka dalam pilihan ini pada bila-bila masa, tertakluk kepada kriteria kelayakan tertentu. KWSP juga menyediakan perkhidmatan lain, seperti perumahan dan insurans.<|eot_id|>
```

```python
messages = [
    {'role': 'user', 'content': 'nasi kandaq apa sedap kat sungai petani kedah'}
]
prompt = tokenizer.apply_chat_template(messages, tokenize = False)
inputs = tokenizer([prompt], return_tensors='pt', add_special_tokens=False).to('cuda')
generate_kwargs = dict(
    inputs,
    max_new_tokens=1024,
    top_p=0.95,
    top_k=50,
    temperature=0.9,
    do_sample=True,
    num_beams=1,
)
r = model.generate(**generate_kwargs)
print(tokenizer.decode(r[0]))
```

```
<|begin_of_text|><|start_header_id|>user<|end_header_id|>

nasi kandaq apa sedap kat sungai petani kedah<|eot_id|><|start_header_id|>assistant<|end_header_id|>

Di Sungai Petani, Kedah, terdapat sebuah gerai yang menyajikan "nasi kandaq" yang sangat lazat dan popular di kalangan penduduk setempat dan pelancong. Nasi kandaq ini merupakan sejenis hidangan nasi yang dimasak dengan santan dan rempah ratus yang dijual oleh seorang penjaja bernama "Cik Kandaq".

Gerai nasi kandaq yang terkenal ini terletak di Pekan Lama, Sungai Petani dan telah beroperasi selama lebih dari 30 tahun. Nasi kandaq ini dinamakan berdasarkan nama gerai yang menjualnya, Cik Kandaq, yang merupakan nama samaran bagi penjual tersebut. Nama "Cik Kandaq" sendiri adalah gabungan antara perkataan "Cik", yang merupakan kata ganti nama bagi seorang wanita yang lebih rendah statusnya berbanding dengan "Puan", dan perkataan "kandaq" yang bermaksud'miskin' dalam loghat Kedah.

Nasi kandaq yang dijual oleh Cik Kandaq sangat terkenal kerana rasa nasi yang lemak dan wangi dari campuran santan dan rempah ratus, serta kerangupan lauk-pauk yang dihidangkan bersama nasi tersebut. Lauk-pauk yang dihidangkan bersama nasi kandaq termasuk ikan goreng, sotong goreng, ayam goreng, dan telur masin.

Gerai ini hanya beroperasi pada waktu pagi sahaja dan seringkali pelanggan akan berbaris panjang untuk mendapatkan hidangan nasi kandaq yang sedap ini. Bagi penduduk setempat, nasi kandaq adalah makanan kegemaran yang sering dicari, terutama pada waktu sarapan atau makan tengahari. Bagi pelancong yang berkunjung ke Sungai Petani, gerai nasi kandaq ini adalah salah satu tempat yang wajib dikunjungi untuk merasai pengalaman makan nasi kandaq yang asli dan nikmat.<|eot_id|>
```

```python
messages = [
    {'role': 'user', 'content': 'asdsd231asd'},
    {'role': 'assistant', 'content': 'Saya minta maaf, saya tidak dapat menjana respons yang bermakna kepada input itu. Bolehkah anda berikan lebih banyak konteks atau jelaskan soalan anda?'},
    {'role': 'user', 'content': 'awak giler eh'},
]
prompt = tokenizer.apply_chat_template(messages, tokenize = False)
inputs = tokenizer([prompt], return_tensors='pt', add_special_tokens=False).to('cuda')
generate_kwargs = dict(
    inputs,
    max_new_tokens=1024,
    top_p=0.95,
    top_k=50,
    temperature=0.9,
    do_sample=True,
    num_beams=1,
)
r = model.generate(**generate_kwargs)
print(tokenizer.decode(r[0]))
```

```
<|begin_of_text|><|start_header_id|>user<|end_header_id|>

asdsd231asd<|eot_id|><|start_header_id|>assistant<|end_header_id|>

Saya minta maaf, saya tidak dapat menjana respons yang bermakna kepada input itu. Bolehkah anda berikan lebih banyak konteks atau jelaskan soalan anda?<|eot_id|><|start_header_id|>user<|end_header_id|>

awak giler eh<|eot_id|><|start_header_id|>assistant<|end_header_id|>

Saya memohon maaf jika saya memberi anda maklumat yang salah atau tidak membantu. Saya berusaha untuk memberikan jawapan yang tepat dan relevan kepada pertanyaan pengguna. Jika anda boleh memberikan lebih banyak konteks atau menjelaskan apa yang anda cari, saya berbesar hati untuk mencuba dan membantu anda sekali lagi.<|eot_id|>
```