kadalicious22 commited on
Commit
d79d78d
ยท
verified ยท
1 Parent(s): 3768557

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +115 -55
README.md CHANGED
@@ -16,60 +16,118 @@ language:
16
  pipeline_tag: image-text-to-text
17
  ---
18
 
19
- official website snapgate AI : www.snapgate.tech
20
 
21
- # snapgate-VL-4B
22
 
23
- **snapgate-VL-4B** adalah model vision-language multimodal hasil fine-tuning dari [Qwen/Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) menggunakan metode **QLoRA**, yang dioptimalkan untuk domain **coding** dan **UI/UX design**.
24
 
25
- Model ini dikembangkan oleh **Snapgate** sebagai asisten AI multimodal yang mampu memahami gambar sekaligus teks, khususnya untuk kebutuhan developer dan desainer.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  ---
28
 
29
  ## ๐Ÿง  Kemampuan Utama
30
 
31
- - **Code Generation & Review** โ€” Menulis, menganalisis, debug, dan mengoptimalkan kode (Python, JavaScript, TypeScript, HTML/CSS, SQL, dll.)
32
- - **UI/UX Design Analysis** โ€” Menganalisis screenshot antarmuka, memberikan saran desain, mengidentifikasi masalah UX
33
- - **Design to Code** โ€” Mengkonversi mockup, wireframe, atau screenshot UI menjadi kode HTML/CSS/React/Tailwind
34
- - **Diagram & Architecture** โ€” Memahami diagram alur, arsitektur sistem, ERD
35
- - **Code from Image** โ€” Membaca dan menjelaskan kode dari screenshot atau foto
36
- - **Technical Documentation** โ€” Membuat dokumentasi teknis yang jelas dan terstruktur
37
- - **Bilingual** โ€” Mendukung Bahasa Indonesia dan Inggris
 
38
 
39
  ---
40
 
41
- ## ๐Ÿ”ง Detail Training
 
 
 
42
 
43
  | Parameter | Value |
44
  |-----------|-------|
45
- | Base Model | Qwen/Qwen3-VL-4B-Instruct |
46
- | Method | QLoRA (4-bit NF4) |
47
- | LoRA Rank | 16 |
48
- | LoRA Alpha | 32 |
49
- | Target Modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
50
- | Trainable Params | 33,030,144 (0.74%) |
51
- | Epochs | 3 |
52
- | Learning Rate | 1e-4 |
53
- | Batch Size | 1 (grad accum: 8) |
54
- | Optimizer | paged_adamw_8bit |
55
- | Precision | bfloat16 |
56
- | Hardware | NVIDIA T4 (Google Colab) |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  ---
59
 
60
  ## ๐Ÿš€ Cara Penggunaan
61
 
62
- ### Install Dependencies
63
 
64
  ```bash
65
  pip install transformers>=4.51.0 accelerate>=0.30.0 qwen-vl-utils
66
  ```
67
 
68
- ### Inference dengan Gambar
69
 
70
  ```python
71
  from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
72
- from qwen_vl_utils import process_vision_info
73
  import torch
74
 
75
  model_id = "kadalicious22/snapgate-VL-4B"
@@ -82,7 +140,14 @@ model = Qwen3VLForConditionalGeneration.from_pretrained(
82
  trust_remote_code=True,
83
  )
84
 
85
- SYSTEM_PROMPT = """Kamu adalah Snapgate AI, asisten AI multimodal milik Snapgate yang ahli dalam bidang coding dan design."""
 
 
 
 
 
 
 
86
 
87
  messages = [
88
  {"role": "system", "content": SYSTEM_PROMPT},
@@ -112,61 +177,56 @@ response = processor.batch_decode(generated, skip_special_tokens=True)[0]
112
  print(response)
113
  ```
114
 
115
- ### Inference Teks Saja
116
 
117
  ```python
118
  messages = [
119
  {"role": "system", "content": SYSTEM_PROMPT},
120
- {"role": "user", "content": "Buatkan fungsi Python untuk validasi email."},
121
  ]
122
 
123
  text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
124
  inputs = processor(text=[text], return_tensors="pt").to(model.device)
125
 
126
  with torch.no_grad():
127
- output_ids = model.generate(**inputs, max_new_tokens=1024)
128
 
129
- response = processor.batch_decode(output_ids[:, inputs["input_ids"].shape[1]:], skip_special_tokens=True)[0]
 
 
 
130
  print(response)
131
  ```
132
 
133
  ---
134
 
135
- ## ๐Ÿ“Š Training Loss
136
-
137
- | Step | Loss |
138
- |------|------|
139
- | 5 | 2.419 |
140
- | 10 | 2.132 |
141
- | 15 | 1.918 |
142
- | 20 | 1.736 |
143
- | 25 | 1.640 |
144
- | 30 | 1.663 |
145
- | 35 | 1.584 |
146
-
147
- Loss turun konsisten dari **2.42 โ†’ 1.58** selama training.
148
-
149
- ---
150
-
151
  ## โš ๏ธ Limitasi
152
 
153
- - Model di-training pada dataset internal Snapgate yang relatif kecil โ€” performa akan meningkat seiring bertambahnya data training
154
- - Dioptimalkan untuk Bahasa Indonesia dan Inggris
155
- - Performa terbaik pada task coding dan analisis UI; kurang optimal untuk domain lain
 
156
 
157
  ---
158
 
159
  ## ๐Ÿ“„ Lisensi
160
 
161
- Model ini mengikuti lisensi **Apache 2.0** sesuai dengan base model Qwen3-VL-4B-Instruct.
162
 
163
  ---
164
 
165
  ## ๐Ÿ”— Links
166
 
167
- - ๐ŸŒ Website: [snapgate.tech](https://snapgate.tech)
168
- - ๐Ÿค— Base Model: [Qwen/Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct)
 
 
 
169
 
170
  ---
171
 
172
- *Dibuat dengan โค๏ธ oleh tim Snapgate*
 
 
 
 
 
16
  pipeline_tag: image-text-to-text
17
  ---
18
 
19
+ <div align="center">
20
 
21
+ <img src="https://snapgate.tech/logo.png" alt="Snapgate Logo" width="120"/>
22
 
23
+ # ๐ŸŒ snapgate-VL-4B
24
 
25
+ ### Vision-Language AI ยท Fine-tuned for Coding & Design
26
+
27
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
28
+ [![Base Model](https://img.shields.io/badge/Base-Qwen3--VL--4B-orange)](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct)
29
+ [![Language](https://img.shields.io/badge/Language-ID%20%7C%20EN-green)](https://huggingface.co/kadalicious22/snapgate-VL-4B)
30
+ [![Website](https://img.shields.io/badge/Website-snapgate.tech-purple)](https://snapgate.tech)
31
+
32
+ **snapgate-VL-4B** adalah model vision-language multimodal hasil fine-tuning dari [Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) menggunakan **QLoRA**, dioptimalkan khusus untuk kebutuhan **developer** dan **desainer** โ€” memahami gambar sekaligus teks dengan presisi tinggi.
33
+
34
+ *Dikembangkan oleh [Snapgate](https://snapgate.tech) ยท Made with โค๏ธ in Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ*
35
+
36
+ </div>
37
+
38
+ ---
39
+
40
+ ## โœจ Highlights
41
+
42
+ - ๐Ÿ† Fine-tuned dari Qwen3-VL-4B dengan QLoRA 4-bit โ€” efisien & powerful
43
+ - ๐ŸŽฏ Dioptimalkan untuk coding dan UI/UX analysis
44
+ - ๐ŸŒ Bilingual โ€” Bahasa Indonesia & English
45
+ - ๐Ÿ’ก Hanya 0.74% parameter yang ditraining โ€” training ringan, hasil maksimal
46
+ - ๐Ÿ“ฆ 200 samples ยท 10 kategori ยท 3 epochs ยท Final loss: **0.444**
47
+ - โšก Siap pakai di Google Colab dengan T4 GPU
48
 
49
  ---
50
 
51
  ## ๐Ÿง  Kemampuan Utama
52
 
53
+ | Kemampuan | Deskripsi |
54
+ |-----------|-----------|
55
+ | ๐Ÿ’ป **Code Generation & Review** | Menulis, menganalisis, debug, dan mengoptimalkan kode (Python, JS, TS, HTML/CSS, SQL, dll.) |
56
+ | ๐ŸŽจ **UI/UX Design Analysis** | Menganalisis screenshot antarmuka, memberikan saran desain, mengidentifikasi masalah UX |
57
+ | ๐Ÿ–ผ๏ธ **Design to Code** | Mengkonversi mockup, wireframe, atau screenshot UI menjadi kode HTML/CSS/React/Tailwind |
58
+ | ๐Ÿ—๏ธ **Diagram & Architecture** | Memahami diagram alur, arsitektur sistem, ERD, dan flowchart teknis |
59
+ | ๐Ÿ“ธ **Code from Image** | Membaca dan menjelaskan kode dari screenshot atau foto |
60
+ | ๐Ÿ“ **Technical Documentation** | Membuat dokumentasi teknis yang jelas, terstruktur, dan profesional |
61
 
62
  ---
63
 
64
+ ## ๐Ÿ”ง Training Configuration
65
+
66
+ <details>
67
+ <summary><b>Klik untuk lihat detail training</b></summary>
68
 
69
  | Parameter | Value |
70
  |-----------|-------|
71
+ | ๐Ÿค– Base Model | `Qwen/Qwen3-VL-4B-Instruct` |
72
+ | โš™๏ธ Method | QLoRA (4-bit NF4) |
73
+ | ๐Ÿ”ข LoRA Rank | 16 |
74
+ | ๐Ÿ”ข LoRA Alpha | 32 |
75
+ | ๐ŸŽฏ Target Modules | `q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj` |
76
+ | ๐Ÿ”ข Trainable Params | 33,030,144 **(0.74% of total)** |
77
+ | ๐Ÿ”„ Epochs | 3 |
78
+ | ๐Ÿ“ถ Total Steps | 75 |
79
+ | ๐Ÿ“ˆ Learning Rate | `1e-4` |
80
+ | ๐Ÿ“ฆ Batch Size | 1 (grad accumulation: 8) |
81
+ | โšก Optimizer | `paged_adamw_8bit` |
82
+ | ๐ŸŽ›๏ธ Precision | `bfloat16` |
83
+ | ๐Ÿ–ฅ๏ธ Hardware | NVIDIA T4 ยท Google Colab |
84
+ | ๐Ÿ“ฆ Dataset | 200 samples internal Snapgate |
85
+ | ๐Ÿท๏ธ Kategori | 10 kategori ยท 20 samples each |
86
+ | ๐Ÿ“Š Format | ShareGPT |
87
+
88
+ **Kategori Dataset:**
89
+ `code_generation` ยท `code_review` ยท `debugging` ยท `refactoring` ยท `ui_html_css` ยท `ui_react` ยท `ui_tailwind` ยท `design_system` ยท `ux_analysis` ยท `design_to_code`
90
+
91
+ </details>
92
+
93
+ ---
94
+
95
+ ## ๐Ÿ“Š Training Progress
96
+
97
+ Loss turun konsisten selama training โ€” dari **1.242 โ†’ 0.444** โœ…
98
+
99
+ ```
100
+ Step 5 โ”‚โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 1.242
101
+ Step 10 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.959
102
+ Step 15 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.808
103
+ Step 20 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.671
104
+ Step 25 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.544
105
+ Step 30 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.561
106
+ Step 35 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.513
107
+ Step 40 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.469
108
+ Step 45 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.448
109
+ Step 50 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.465
110
+ Step 55 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.453
111
+ Step 60 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.465
112
+ Step 65 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.465
113
+ Step 70 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.450
114
+ Step 75 โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ”‚ Loss: 0.444
115
+ ```
116
 
117
  ---
118
 
119
  ## ๐Ÿš€ Cara Penggunaan
120
 
121
+ ### 1. Install Dependencies
122
 
123
  ```bash
124
  pip install transformers>=4.51.0 accelerate>=0.30.0 qwen-vl-utils
125
  ```
126
 
127
+ ### 2. Load Model
128
 
129
  ```python
130
  from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
 
131
  import torch
132
 
133
  model_id = "kadalicious22/snapgate-VL-4B"
 
140
  trust_remote_code=True,
141
  )
142
 
143
+ SYSTEM_PROMPT = """Kamu adalah Snapgate AI, asisten AI multimodal milik Snapgate \
144
+ yang ahli dalam bidang coding dan UI/UX design."""
145
+ ```
146
+
147
+ ### 3. Inference dengan Gambar
148
+
149
+ ```python
150
+ from qwen_vl_utils import process_vision_info
151
 
152
  messages = [
153
  {"role": "system", "content": SYSTEM_PROMPT},
 
177
  print(response)
178
  ```
179
 
180
+ ### 4. Inference Teks Saja
181
 
182
  ```python
183
  messages = [
184
  {"role": "system", "content": SYSTEM_PROMPT},
185
+ {"role": "user", "content": "Buatkan fungsi Python untuk validasi email dengan regex."},
186
  ]
187
 
188
  text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
189
  inputs = processor(text=[text], return_tensors="pt").to(model.device)
190
 
191
  with torch.no_grad():
192
+ output_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=False)
193
 
194
+ response = processor.batch_decode(
195
+ output_ids[:, inputs["input_ids"].shape[1]:],
196
+ skip_special_tokens=True
197
+ )[0]
198
  print(response)
199
  ```
200
 
201
  ---
202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  ## โš ๏ธ Limitasi
204
 
205
+ - ๐Ÿ“ฆ Di-training pada dataset internal Snapgate yang relatif kecil (200 samples) โ€” performa akan terus meningkat seiring penambahan data
206
+ - ๐ŸŒ Dioptimalkan untuk Bahasa Indonesia dan Inggris; bahasa lain belum diuji
207
+ - ๐ŸŽฏ Performa terbaik pada task coding dan UI analysis; kurang optimal untuk domain di luar itu (misal: sains, hukum, medis)
208
+ - ๐Ÿ–ฅ๏ธ Direkomendasikan minimal GPU dengan 8GB VRAM untuk inference yang nyaman
209
 
210
  ---
211
 
212
  ## ๐Ÿ“„ Lisensi
213
 
214
+ Dirilis di bawah lisensi **Apache 2.0**, mengikuti lisensi base model [Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct).
215
 
216
  ---
217
 
218
  ## ๐Ÿ”— Links
219
 
220
+ | | |
221
+ |---|---|
222
+ | ๐ŸŒ Website | [snapgate.tech](https://snapgate.tech) |
223
+ | ๐Ÿค— Base Model | [Qwen/Qwen3-VL-4B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct) |
224
+ | ๐Ÿ“ง Contact | Via website Snapgate |
225
 
226
  ---
227
 
228
+ <div align="center">
229
+
230
+ *Dibuat dengan โค๏ธ oleh tim **Snapgate** ยท Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ*
231
+
232
+ </div>