Model hasil fine-tuning (LoRA, sudah di-
merge ke base weights) dari
aitf-kpm-ugm/Qwen3-4B-CPT-Base untuk berbagai tugas NLP
Bahasa Indonesia.
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3
4REPO = "Atikarahmanda/Qwen3-4B-SFT-Multitask"
5
6tokenizer = AutoTokenizer.from_pretrained(REPO)
7model = AutoModelForCausalLM.from_pretrained(
8 REPO,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11)
12model.eval()
13
14messages = [
15 {"role": "system", "content": "Sistem prompt sesuai task."},
16 {"role": "user", "content": "Input artikel di sini."},
17]
18
19text = tokenizer.apply_chat_template(
20 messages, tokenize=False, add_generation_prompt=True
21)
22inputs = tokenizer(text, return_tensors="pt").to(model.device)
23input_len = inputs.input_ids.shape[1]
24
25with torch.no_grad():
26 out = model.generate(
27 **inputs,
28 max_new_tokens=128,
29 do_sample=False,
30 eos_token_id=tokenizer.eos_token_id,
31 pad_token_id=tokenizer.pad_token_id,
32 )
33
34print(tokenizer.decode(out[0, input_len:], skip_special_tokens=True))
35```
36
37---
38
39## Training Details
40
41- **Framework**: Unsloth + TRL SFTTrainer
42- **LoRA config**: r=64, alpha=128
43- **Optimizer**: AdamW 8-bit
44- **LR scheduler**: Cosine, warmup ratio 0.03
45- **Effective batch size**: 6 x 8 = 48
46- **train_on_responses_only**: Ya
47
48---
49
50## Lisensi
51
52Mengikuti lisensi base model: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0).