metadata
language:
- ms
4 bit AWQ QLORA Malaysian Llama2 13B 32k chat completions
Original model at https://huggingface.co/mesolitica/malaysian-llama2-13b-32k-instructions, read more about AWQ integration at https://huggingface.co/docs/transformers/main_classes/quantization#awq-integration
how-to
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch
def parse_llama_chat(messages):
system = messages[0]['content']
user_query = messages[-1]['content']
users, assistants = [], []
for q in messages[1:-1]:
if q['role'] == 'user':
users.append(q['content'])
elif q['role'] == 'assistant':
assistants.append(q['content'])
texts = [f'<s>[INST] <<SYS>>\n{system}\n<</SYS>>\n\n']
for u, a in zip(users, assistants):
texts.append(f'{u.strip()} [/INST] {a.strip()} </s><s>[INST] ')
texts.append(f'{user_query.strip()} [/INST]')
prompt = ''.join(texts).strip()
return prompt
tokenizer = AutoTokenizer.from_pretrained('mesolitica/malaysian-llama2-13b-32k-instructions-AWQ')
model = AutoModelForCausalLM.from_pretrained(
'mesolitica/malaysian-llama2-13b-32k-instructions-AWQ',
use_flash_attention_2 = True,
)
_ = model.cuda()
messages = [
{'role': 'system', 'content': 'awak adalah AI yang mampu jawab segala soalan'},
{'role': 'user', 'content': 'kwsp tu apa'}
]
prompt = parse_llama_chat(messages)
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]))
'<s> [INST] <<SYS>>
awak adalah AI yang mampu jawab segala soalan
<</SYS>>
kwsp tu apa [/INST] Kumpulan Wang Simpanan Pekerja (KWSP) ialah sebuah badan berkanun yang ditubuhkan di Malaysia yang menguruskan tabung simpanan tetap pekerja bagi tujuan persaraan dan perancangan masa depan. Diasaskan pada tahun 1951, KWSP bertanggungjawab untuk mengumpul dan menguruskan sumber daripada majikan dan pekerja, dan juga menyediakan pelbagai faedah kepada ahli seperti dividen dan akses kepada pengeluaran simpanan pada usia persaraan. KWSP juga memainkan peranan penting dalam menyediakan perlindungan sosial dan pembangunan ekonomi di Malaysia, dengan mempromosikan simpanan pengguna dan meningkatkan kadar celik kewangan dalam kalangan rakyat. </s>'