rizbuy-submission-qwen3-indonesian

Model instruksi bahasa Indonesia hasil fine-tuning dari unsloth/Qwen3-4B menggunakan pustaka Unsloth dan TRL (SFTTrainer). Model dilatih menggunakan metode QLoRA 4-bit dan diekspor menggunakan metode bobot gabungan 16-bit (merged 16-bit) untuk kompatibilitas inferensi langsung tanpa memerlukan dependensi LoRA terpisah.


Spesifikasi Model

  • Model Dasar: unsloth/Qwen3-4B
  • Tipe Arsitektur: Causal Language Model (Transformer)
  • Format Bobot: 16-bit Merged (merged_16bit Safetensors)
  • Panjang Konteks Maksimal: 1024 token
  • Bahasa: Indonesia (id)
  • Lisensi: Apache-2.0

Konfigurasi Pelatihan & Hyperparameter

Model ini dilatih dengan konfigurasi teknis berikut:

1. Dataset

  • Sumber Data: Ichsan2895/alpaca-gpt4-indonesian
  • Distribusi Data:
    • Data Latih: 40.000 sampel (acak dengan seed 3407)
    • Data Evaluasi: 200 sampel (acak dengan seed 3407)
  • Format Pesan: Chat template qwen2.5 dengan system prompt:

    "Kamu adalah asisten AI yang membantu menjawab pertanyaan pengguna berdasarkan data dan fakta yang kamu miliki."

2. Parameter LoRA (PEFT)

  • Rank ($r$): 8
  • LoRA Alpha: 16
  • LoRA Dropout: 0
  • Target Modules: ["q_proj", "k_proj", "v_proj", "o_proj"]
  • Bias: none
  • Gradient Checkpointing: Unsloth native engine

3. Hyperparameter SFTTrainer

  • Optimizer: paged_adamw_8bit
  • Learning Rate: $1\times 10^{-5}$ – $2\times 10^{-5}$
  • LR Scheduler: cosine
  • Warmup Steps: 50 – 70 langkah
  • Per-Device Batch Size: 1
  • Gradient Accumulation Steps: 4 – 8 langkah
  • Max Steps: 800 langkah
  • Precision: Mixed Precision (BF16 native jika didukung perangkat keras)

Cara Inferensi

Berikut adalah contoh inferensi menggunakan Hugging Face Transformers sesuai dengan parameter decoding yang digunakan saat validasi:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

model_id = "rizkyayub/rizbuy-submission-qwen3-indonesian"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16,
    device_map="auto"
)

system_prompt = "Kamu adalah asisten AI yang membantu menjawab pertanyaan pengguna berdasarkan data dan fakta yang kamu miliki."

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "Sebutkan 3 bandara terkenal di Indonesia beserta lokasinya!"}
]

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

attention_mask = torch.ones_like(inputs)
streamer = TextStreamer(tokenizer, skip_prompt=True)

terminators = [tokenizer.eos_token_id] if tokenizer.eos_token_id is not None else [151643]
pad_id = tokenizer.pad_token_id if tokenizer.pad_token_id is not None else terminators[0]

_ = model.generate(
    input_ids=inputs,
    attention_mask=attention_mask,
    streamer=streamer,
    max_new_tokens=256,
    temperature=0.1,
    top_k=20,
    top_p=0.9,
    repetition_penalty=1.05,
    do_sample=True,
    eos_token_id=terminators,
    pad_token_id=pad_id,
)
Downloads last month
350
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for rizkyayub/rizbuy-submission-qwen3-indonesian

Finetuned
Qwen/Qwen3-4B
Finetuned
unsloth/Qwen3-4B
Adapter
(50)
this model