CoolFace
Modelpublic

Adicandra/Qwen3-4B-Multitask

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes14downloads
Model Card

Qwen3-4B SFT-CPT โ€” Multitask Bahasa Indonesia (LoRA merged)

Model ini merupakan hasil fine-tuning (LoRA, sudah di-merge ke base weights) dari `aitf-kpm-ugm/Qwen3-4B-CPT-Base` untuk berbagai tugas NLP Bahasa Indonesia menggunakan format ChatML.


Deskripsi Singkat

AtributNilai
Base modelaitf-kpm-ugm/Qwen3-4B-CPT-Base
Metode fine-tuneLoRA (r=64, alpha=128)
Status adapterMerged ke base weights
Bahasa outputBahasa Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ
Format chatChatML (Qwen3-instruct)
EOS token`<\im_end\>`
Precisionbfloat16
Max seq length2048
Training epochs3
Train samples~93,579
Best val loss0.343

Cara Pakai (Inference)

python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

REPO = "Adicandra/Qwen3-4B-Multitask"

tokenizer = AutoTokenizer.from_pretrained(REPO)
model = AutoModelForCausalLM.from_pretrained(
    REPO,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
model.eval()

messages = [
    {"role": "system", "content": "Kamu adalah asisten AI yang membantu."},
    {"role": "user",   "content": "Ringkaskan teks berikut: ..."},
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(text, return_tensors="pt").to(model.device)
input_len = inputs.input_ids.shape[1]

im_end_id = tokenizer.convert_tokens_to_ids("<|im_end|>")

with torch.no_grad():
    out = model.generate(
        **inputs,
        max_new_tokens=512,
        do_sample=False,
        use_cache=True,
        eos_token_id=im_end_id,
        pad_token_id=tokenizer.pad_token_id,
    )

response = tokenizer.decode(out[0, input_len:], skip_special_tokens=True)
print(response)

Training Details

  • โ€”Framework: Unsloth + TRL SFTTrainer
  • โ€”LoRA config: r=64, alpha=128, target modules = q/k/v/o/gate/up/down_proj
  • โ€”Optimizer: AdamW 8-bit
  • โ€”LR scheduler: Cosine with warmup ratio 0.03
  • โ€”Batch size: 6 ร— 8 gradient accumulation = effective 48
  • โ€”train_on_responses_only: Ya (hanya loss pada respons assistant)

Lisensi

Mengikuti lisensi base model: Apache 2.0.