Downloads · 30 days
6
19% of all-time downloads
Willy030125/finetune-indoMMLU-Sidrap-7B-v1
finetune-indoMMLU-Sidrap-7B-v1 is a machine learning model from Willy030125. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for adapter-transformers. The card lists the license as apache-2.0.
Based on Sidrap-v2 Mistral v0.1: https://huggingface.co/robinsyihab/Sidrap-7B-v2<br Dataset used on Fine Tuning: https://github.com/fajri91/IndoMMLU <br
Downloads · 30 days
6
19% of all-time downloads
All-time downloads
32
Public
Repo size
328 MB
Likes
0
Public
Click a slice to open those files.
.pt218 MB · 67%
From the Hugging Face model README
Based on Sidrap-v2 Mistral v0.1: https://huggingface.co/robinsyihab/Sidrap-7B-v2<br> Dataset used on Fine Tuning: https://github.com/fajri91/IndoMMLU <br>
Some training params used:
lora r=64
lora_alpha=16
lora_dropout=0.05
learning_rate = 2e-4
lr_scheduler = "constant"
optimizer = "paged_adamw_32bit"
max_seq_length = 2048
Inference:
import torch
from transformers import AutoTokenizer, AutoConfig, AutoModelForCausalLM, BitsAndBytesConfig, LlamaTokenizer
from peft import PeftModel, PeftConfig
model_name = "robinsyihab/Sidrap-7B-v2"
adapter_name = "Willy030125/finetune-indoMMLU-Sidrap-7B-v1"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto",
trust_remote_code=True
)
model = PeftModel.from_pretrained(model, adapter_name)
tokenizer = LlamaTokenizer.from_pretrained(model_name)
def generate_response(question: str) -> str:
chat = [
{"role": "system", "content": "Anda adalah asisten yang suka membantu, penuh hormat, dan jujur. Selalu jawab semaksimal mungkin, sambil tetap aman. Jawaban Anda tidak boleh berisi konten berbahaya, tidak etis, rasis, seksis, beracun, atau ilegal. Harap pastikan bahwa tanggapan Anda tidak memihak secara sosial dan bersifat positif.\n\
Jika sebuah pertanyaan tidak masuk akal, atau tidak koheren secara faktual, jelaskan alasannya daripada menjawab sesuatu yang tidak benar. Jika Anda tidak mengetahui jawaban atas sebuah pertanyaan, mohon jangan membagikan informasi palsu."},
{"role": "user", "content": question}
]
prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt", return_attention_mask=True)
with torch.no_grad():
outputs = model.generate(input_ids=inputs["input_ids"].to("cuda"),
attention_mask=inputs.attention_mask,
eos_token_id=tokenizer.eos_token_id,
pad_token_id=tokenizer.eos_token_id,
max_new_tokens=1024)
response = tokenizer.batch_decode(outputs.detach().cpu().numpy(), skip_special_tokens=True)[0]
return response[response.find("[/INST]\n") + len("[/INST]\n"):]
prompt = """Hewan pemakan tumbuhan dinamakan ...
A. Omnivora
B. Karnivora
C. Pengurai
D. Herbivora"""
print(generate_response(prompt))