Frasa-1B-v0.2 (Not for Use)
Model Overview
Frasa-1B-v0.2
adalah model bahasa besar (LLM) yang merupakan hasil Continual Pretraining (CPT) & Fine-tune Conversational dari model dasar Frasa-1B-v0.1 dengan fokus pada peningkatan pemahaman bahasa Indonesia. Model ini dilatih menggunakan subset 10% dari dataset Wikipedia berbahasa Indonesia & dataset Alpaca GPT4 Indonesian (dengan hanya 120 steps), menjadikannya fondasi yang cukup kuat untuk tugas-tugas generatif dalam Bahasa Indonesia.
Model ini dibangun dengan framework Unsloth.ai untuk efisiensi pelatihan yang maksimal.
Bagaimana Model Ini Dibuat
Model Frasa-1B-v0.2
dihasilkan melalui proses Continual Pretraining (CPT) & Fine-tune Conversational dengan langkah-langkah berikut:
- Base Model:
nxvay/Frasa-1B-v0.1
- Framework: Unsloth.ai
- Kuantisasi: 4-bit (via
load_in_4bit=True
) untuk efisiensi memori. - Teknik Fine-tuning: LoRA (Low-Rank Adaptation)
r = 128
lora_alpha = 32
target_modules
:["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj", "embed_tokens", "lm_head"]
(Modulembed_tokens
danlm_head
disertakan untuk adaptasi pengetahuan yang lebih dalam selama CPT).use_gradient_checkpointing = "unsloth"
use_rslora = True
- Dataset Pelatihan:
wikimedia/wikipedia
(versi20231101.id
, diambil 10% dari settrain
)FreedomIntelligence/alpaca-gpt4-indonesian
- Pemformatan Data: Setiap entri Wikipedia diformat menggunakan template spesifik untuk CPT:
Artikel Wikipedia ### Judul: [Judul Artikel] ### Artikel: [Isi Artikel]</s>
- Hyperparameter Pelatihan:
per_device_train_batch_size = 2
gradient_accumulation_steps = 8
(Effective batch size: 16)max_steps = 120
warmup_steps = 10
learning_rate = 5e-5
embedding_learning_rate = 1e-5
optim = "adamw_8bit"
lr_scheduler_type = "linear"
Cara Menggunakan Model Ini
Model ini paling cocok sebagai base model yang lebih baik untuk fine-tuning lanjutan (terutama instruction-tuning atau domain-specific fine-tuning) di Bahasa Indonesia. Karena ini adalah hasil CPT, model ini belum dioptimalkan untuk mengikuti instruksi atau berdialog secara langsung.
Memuat Model dengan Unsloth
Anda bisa memuat model ini dengan mudah menggunakan Unsloth:
from unsloth import FastLanguageModel
import torch
model_name = "nxvay/Frasa-1B-v0.2"
max_seq_length = 2048
dtype = torch.bfloat16
load_in_4bit = True
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = model_name,
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
)
FastLanguageModel.for_inference(model)
Contoh Inferensi (Generasi Teks Dasar)
Untuk contoh penggunaan, model ini akan melanjutkan teks berdasarkan pola yang dipelajari dari Wikipedia. Karena ini adalah model CPT, Anda mungkin tidak mendapatkan respons dialogik secara langsung.
from transformers import TextStreamer
alpaca_prompt = """Berikut adalah perintah yang menjelaskan tugas tersebut. Tulis respons yang melengkapi permintaan dengan benar.
### Instruksi:
{}
### Respons:
{}"""
inputs = tokenizer(
[
alpaca_prompt.format(
"Bagaimana dengan musik Indonesia?",
"",
)
], return_tensors = "pt").to("cuda")
from transformers import TextStreamer
text_streamer = TextStreamer(tokenizer)
print("Model sedang menghasilkan respons:")
_ = model.generate(
**inputs,
streamer = text_streamer,
max_new_tokens = 512,
do_sample = True,
temperature = 0.7,
top_p = 0.9,
pad_token_id = tokenizer.eos_token_id,
)
Potensi Penggunaan
- Dasar untuk Instruction Tuning: Model ini dapat digunakan sebagai base model untuk fine-tuning lebih lanjut dengan dataset instruksi Bahasa Indonesia (seperti ShareGPT-Indonesian yang diformat ChatML) untuk menciptakan asisten AI yang mampu berdialog.
- Penelitian dan Pengembangan: Dapat berfungsi sebagai checkpoint untuk eksplorasi lebih lanjut dalam continual pretraining bahasa Indonesia atau adaptasi domain.
Lisensi
Model ini dilisensikan di bawah Apache 2.0 License.