File size: 6,398 Bytes
872b7e3
 
2c7788b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872b7e3
2c7788b
 
 
 
 
 
 
 
 
ad70141
2c7788b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3eec3d5
2c7788b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
407d774
a1b5d4d
 
 
 
 
 
 
 
 
407d774
2c7788b
 
 
 
407d774
2c7788b
407d774
 
2c7788b
407d774
 
2c7788b
407d774
3eec3d5
407d774
 
 
 
 
 
 
 
 
2c7788b
 
 
 
407d774
2c7788b
407d774
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2c7788b
 
 
 
 
 
 
3eec3d5
2c7788b
 
 
 
 
 
ad70141
 
 
2c7788b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a1b5d4d
 
 
 
 
2c7788b
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
---
license: apache-2.0
language:
- id
- en
tags:
- text-generation
- indonesian
- lfm2.5
- liquid
- fine-tuned
- sft
- instruction-tuning
- closed-qa
- reasoning
pipeline_tag: text-generation
base_model: OpenPathAI/Orbit-3-Nano
datasets:
- Irza/Dodol-15k-Indonesia
---

# Orbit-3.2-Nano

**Model Bahasa Indonesia berbasis LFM2.5 yang di-fine-tune untuk pemahaman konteks dan tanya jawab (closed QA).**

---

## Ringkasan

Orbit-3.2-Nano adalah iterasi terbaru dari seri **Orbit-Nano** yang dikembangkan oleh **OpenPathAI**. Model ini dibangun di atas **Orbit-3-Nano** (yang merupakan turunan dari LFM2.5-2.6B) dan di-fine-tune menggunakan dataset **Dodol-15k-Indonesia** dataset closed QA Bahasa Indonesia dengan konteks.

Model ini dirancang untuk:
- Menjawab pertanyaan berdasarkan **konteks** yang diberikan
- Memahami instruksi Bahasa Indonesia dengan baik
- Menjawab pertanyaan faktual secara akurat berdasarkan dokumen
- Membantu tugas **question answering** berbasis dokumen

---

## Spesifikasi Model

| Komponen | Detail |
|-----------|---------|
| **Arsitektur** | Lfm2ForCausalLM |
| **Model Type** | lfm2 |
| **Hidden Size** | 2048 |
| **Jumlah Layer** | 30 |
| **Jumlah Attention Heads** | 32 |
| **Vocab Size** | 128.000 |
| **Max Position** | 131.072 token |
| **Total Parameter** | ~2,6 Miliar |
| **Bahasa** | Indonesia, Inggris |

### Arsitektur Hybrid LFM2.5

LFM2.5 menggunakan arsitektur **hybrid**:
- **Short-Conv (LIV) layers** — efisiensi komputasi
- **GQA (Grouped Query Attention) layers** — penalaran

---

## Base Model

Model ini adalah versi **fine-tuned** dari:

| Aspek | Detail |
|-------|--------|
| **Base Model** | [OpenPathAI/Orbit-3-Nano](https://huggingface.co/OpenPathAI/Orbit-3-Nano) |
| **Model Asal** | [LiquidAI/LFM2.5-2.6B](https://huggingface.co/LiquidAI/LFM2.5-2.6B) |
| **Pengembang Asal** | Liquid AI |
| **Lisensi Base** | LFM Open License v1.0 |

---

## Detail Fine-Tuning

| Parameter | Nilai |
|-----------|-------|
| **Dataset** | Irza/Dodol-15k-Indonesia |
| **Jumlah Samples** | ~14.800 pasangan instruksi-konteks-respons |
| **Metode** | SFT (Supervised Fine-Tuning) dengan QLoRA |
| **LoRA Rank (r)** | 16 |
| **LoRA Alpha** | 32 |
| **LoRA Dropout** | 0,05 |
| **Target Modules** | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| **Epoch** | 3 |
| **Learning Rate** | 2e-4 |
| **Precision** | BF16 |

---

## Format Dataset

Dataset **Dodol-15k-Indonesia** memiliki struktur:

| Kolom | Deskripsi |
|-------|-----------|
| `instruction` | Pertanyaan yang harus dijawab |
| `context` | Konteks/dokumen yang berisi jawaban |
| `response` | Jawaban yang benar |
| `category` | Kategori pertanyaan (closed_qa, dll) |

Model dilatih dengan format:
```

Konteks:
[context]

Pertanyaan:
[instruction]

Jawaban:
[response]

```

---

## Cara Penggunaan

### Instalasi

```python
!pip install -q --upgrade transformers>=5.2.0 torch accelerate huggingface_hub

!pip uninstall -y torchvision torchaudio

print("=" * 60)
print("SETELAH INSTALL SELESAI:")
print("1. Klik Runtime → Restart Session")
print("2. Jalankan cell berikutnya")
print("=" * 60)
```

Penggunaan Dasar

```python
import os
import torch
import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer

print(f"transformers: {transformers.__version__}")
print(f"torch: {torch.__version__}")

HF_TOKEN = "TOKEN_HF"
MODEL_NAME = "OpenPathAI/Orbit-3.2-Nano"

os.environ["HUGGING_FACE_HUB_TOKEN"] = HF_TOKEN
os.environ["HF_TOKEN"] = HF_TOKEN

print("\nLoading tokenizer...")
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, token=HF_TOKEN)
print("✅ Tokenizer loaded!")

print("Loading model...")
model = AutoModelForCausalLM.from_pretrained(
    MODEL_NAME,
    torch_dtype=torch.float16,
    device_map="auto",
    token=HF_TOKEN,
)
model.eval()
print("✅ Model loaded!")

def chat(pertanyaan, max_new_tokens=512, temperature=0.7):
    """Fungsi chat untuk transformers v5."""
    messages = [{"role": "user", "content": pertanyaan}]
    
    inputs = tokenizer.apply_chat_template(
        messages,
        add_generation_prompt=True,
        return_tensors="pt",
        return_dict=True,
    ).to(model.device)
    
    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_new_tokens,
            temperature=temperature,
            top_p=0.9,
            do_sample=True,
            pad_token_id=tokenizer.eos_token_id,
        )
    
    response = tokenizer.decode(
        outputs[0][inputs["input_ids"].shape[1]:],
        skip_special_tokens=True
    )
    return response.strip()

pertanyaan = "halo, kamu bisa bantu aku gak?"

print("\n" + "=" * 60)
print(f"📝 Pertanyaan: {pertanyaan}")
print("=" * 60)
print("🤖 Jawaban dari Orbit-3-Nano:")
print(chat(pertanyaan))
print("=" * 60)
```

---

Keterbatasan

Keterbatasan Deskripsi
Ukuran Model 2,6B parameter kapasitas terbatas
Akurasi Mungkin menghasilkan informasi yang tidak akurat
Konteks Maksimal 131.072 token
Reasoning Terbatas untuk tugas kompleks

Model ini BUKAN untuk:

- Keputusan medis, hukum, atau keuangan
- Aplikasi produksi tanpa pengawasan
- Tugas yang butuh akurasi tinggi

---

Lisensi

Model ini mengikuti LFM Open License v1.0.

Ketentuan penting:

- Bebas digunakan untuk penelitian dan pengembangan
- Bebas dimodifikasi dan didistribusikan
- Penggunaan komersial gratis hanya untuk entitas dengan pendapatan tahunan di bawah $10 juta USD
- Jika pendapatan melebihi ambang batas, diperlukan lisensi komersial terpisah dari Liquid AI

---

Atribusi

Model ini dikembangkan oleh OpenPathAI sebagai turunan dari:

- Base Model: OpenPathAI/Orbit-3-Nano
- Model Asal: LiquidAI/LFM2.5-2.6B
- Dataset: Irza/Dodol-15k-Indonesia

---

Sitasi

```bibtex
@misc{orbit-3-2-nano,
  author = {OpenPathAI},
  title = {Orbit-3.2-Nano: Fine-tuned LFM2.5 for Indonesian Closed QA},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/OpenPathAI/Orbit-3.2-Nano}},
  note = {Fine-tuned from OpenPathAI/Orbit-3-Nano}
}
```

---

Kontak

- Website Details : https://openpath.web.id
- Hugging Face OpenPathAI : https://huggingface.co/OpenPathAI
- Email : Coming Soon
- Discord : https://discord.gg/Qp3NyrVFjg
- Base Model OpenPathAI/Orbit-3.2-Nano

---

Dikembangkan oleh OpenPathAI

Model ini adalah turunan dari LFM2.5-2.6B. Penggunaan tunduk pada LFM Open License v1.0.