Compfest_akumaukePengospasangsolarpanel

LoRA adapter hasil Supervised Fine-Tuning (SFT) dari unsloth/Qwen3-8B, dilatih untuk berperan sebagai Promo Intelligence Agent: agent tool-calling multi-turn yang menghasilkan Pilot Experiment Decision berdasarkan data penjualan, partner produk, dan analisis kelayakan (BEP) suatu promo.

Dataset training mencakup 9 skenario dasar dengan ±100 contoh per skenario (total ±900 contoh sebelum split train/validation).

Detail Model

  • Base model: unsloth/Qwen3-8B
  • Metode fine-tuning: LoRA (via Unsloth + TRL SFTTrainer)
  • Chat template: ChatML gaya Qwen3 (qwen3-instruct), dengan <|im_end|> sebagai EOS token
  • Loss masking: hanya menghitung loss dari giliran assistant (train_on_responses_only), instruksi/user di-mask
  • Quantization saat training: 4-bit (load_in_4bit=True)
  • Bahasa: Indonesia (data & prompt sistem)
  • Lisensi: mengikuti lisensi base model, Apache 2.0 (sesuaikan bila berbeda)

Konfigurasi LoRA

Parameter Nilai
r 64
lora_alpha 128
lora_dropout 0.0
target_modules q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
use_rslora True
bias none

Konfigurasi Training

Parameter Nilai
max_seq_length 2048
num_train_epochs 3
per_device_train_batch_size 1
gradient_accumulation_steps 4 (effective batch = 4)
learning_rate 2e-4
lr_scheduler_type cosine
warmup_ratio 0.03
optimizer adamw_8bit
precision bf16 (fallback fp16 bila GPU tidak mendukung bf16)
seed 3407
eval/save strategy per-epoch, load_best_model_at_end=True (metric: eval_loss)

Training dijalankan di Kaggle Notebook (GPU T4/P100) menggunakan Unsloth, dengan tracking eksperimen via Weights & Biases (project: qwen3-8b-promo-agent-sft).

Dataset

Dataset custom promo_agent_dataset_v2.jsonl untuk Promo Intelligence Agent. Tiap baris JSONL berisi:

  • messages: percakapan ChatML (system / user / assistant dengan tool_calls, serta role tool)
  • tools: skema function-calling (search_sales_data, find_partner_products, calculate_bep, rank_regions)
  • meta: metadata skenario (tidak dipakai saat training, hanya untuk analisis)

9 skenario dasar, masing-masing berisi ±100 contoh: happy_path, clarification_path, fail_path_tool_error_retry, fail_path_cold_start, fail_path_infeasible, fail_path_tool_unavailable, refresh_path_revision, refresh_path_session_continuation, refusal_out_of_scope.

Catatan: skrip preprocessing di notebook training menghitung ukuran split train/validation secara otomatis (raw_datasets["train"] / raw_datasets["validation"]) — sesuaikan angka pastinya di sini kalau kamu tahu rasio split yang dipakai (mis. 90/10 dari total ±900 contoh).

Cara Penggunaan

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="Adicandra/Compfest_akumaukePengospasangsolarpanel",
    max_seq_length=2048,
    dtype=None,
    load_in_4bit=True,
)
FastLanguageModel.for_inference(model)

messages = [
    {"role": "system", "content": "Kamu adalah Promo Intelligence Agent..."},
    {"role": "user", "content": "Analisis kelayakan promo diskon 20% di region Jawa Timur."},
]

inputs = tokenizer.apply_chat_template(
    messages,
    tools=tools,          # skema tools jika dipakai
    add_generation_prompt=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Alternatif memuat lewat 🤗 transformers + peft:

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base_model = "unsloth/Qwen3-8B"
adapter_id = "Adicandra/Compfest_akumaukePengospasangsolarpanel"

tokenizer = AutoTokenizer.from_pretrained(adapter_id)
model = AutoModelForCausalLM.from_pretrained(base_model, device_map="auto")
model = PeftModel.from_pretrained(model, adapter_id)

Keterbatasan

  • Dataset masih berupa 9 skenario buatan (±100 contoh/skenario, ±900 total) → cakupan variasi kasus nyata di luar 9 pola ini belum tentu terwakili.
  • Model belum dievaluasi pada benchmark tool-calling standar; evaluasi sejauh ini hanya eval_loss pada validation set internal.
  • Ditujukan untuk domain spesifik (analisis promo/BEP berbahasa Indonesia dengan skema tools tertentu); performa di luar domain ini tidak terjamin.

Framework versions

  • Unsloth
  • Transformers 4.56.2
  • TRL 0.22.2
  • PEFT (LoRA)
Downloads last month
-
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Adicandra/Compfest_akumaukePengospasangsolarpanel

Finetuned
Qwen/Qwen3-8B
Finetuned
unsloth/Qwen3-8B
Adapter
(86)
this model