Model Gemma-3-4B Fine-tuned - Mango City Edition

This model is fine-tuned from unsloth/gemma-3-1b-it-unsloth-bnb-4bit-unsloth-bnb-4bit using the LoRA (Low-Rank Adaptation) method with a specific dataset focused on local knowledge (such as "Kota Mangga" - Indramayu, the Mango City).

This model was trained using Unsloth for significant memory and speed efficiency.

Repository Structure

This repository contains the model in two formats for flexibility:

β”œβ”€β”€ config.json
β”œβ”€β”€ model.safetensors
β”œβ”€β”€ tokenizer.json
β”œβ”€β”€ tokenizer_config.json
β”œβ”€β”€ special_tokens_map.json
β”œβ”€β”€ generation_config.json
└── adapter/                 # adapter LoRA
    β”œβ”€β”€ adapter_config.json
    β”œβ”€β”€ adapter_model.safetensors
    └── ...

How to Use

1. Using the Merged Model

This is the easiest way to use the model. You will be loading a ready-to-use merged model.

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "Dnfs/Mangga-1-4B"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16, # Gunakan float16 untuk efisiensi
    device_map="auto"
)

# Contoh penggunaan
inputs = tokenizer("Siapakah bupati Indramayu saat ini?", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

2. Using the LoRA Adapter

If you want to apply the adapter to the base model manually.

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

base_model_id = "unsloth/gemma-3-1b-it-unsloth-bnb-4bit"
adapter_id = "Dnfs/Mangga-1-4B"

# Load the base model
base_model = AutoModelForCausalLM.from_pretrained(
    base_model_id,
    torch_dtype=torch.float16,
    device_map="auto"
)

# Load the tokenizer from this repo (as there might be new tokens)
tokenizer = AutoTokenizer.from_pretrained(adapter_id)

# Apply the adapter
model = PeftModel.from_pretrained(
    base_model,
    adapter_id,
    subfolder="adapter" # Don't forget the subfolder
)

# Example usage
inputs = tokenizer("Jelaskan tentang julukan Indramayu sebagai Kota Mangga.", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Model Details

Model Hierarchy:

  • Original Model: google/gemma-3-4b-it (Google Gemma-3-4B Instruct)
  • Unsloth Base Model: unsloth/gemma-3-1b-it-unsloth-bnb-4bit (Optimized version of the Google model)
  • Training Model: unsloth/gemma-3-1b-it-unsloth-bnb-4bit-unsloth-bnb-4bit (4-bit quantized version for fine-tuning)
  • Final Model: Dnfs/Mangga-1-4B (The fine-tuned model)

Specifications:

  • Method: LoRA (Low-Rank Adaptation) via Unsloth
  • Language: id (Indonesia)
  • Upload Precision: 16-bit

Lisensi

Apache 2.0

Downloads last month
-
Safetensors
Model size
4.3B params
Tensor type
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Dnfs/Mangga-1-4B

Adapters
2 models