Text Generation
PEFT
Safetensors
Transformers
mistral3
image-text-to-text
lora
sft
trl
unsloth
dfk-detection
vlm
indonesian
multimodal
image-classification
content-moderation
conversational
Instructions to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with PEFT:
Task type is invalid.
- Transformers
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification") model = AutoModelForMultimodalLM.from_pretrained("aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification
- SGLang
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Studio
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification", max_seq_length=2048, ) - Docker Model Runner
How to use aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification with Docker Model Runner:
docker model run hf.co/aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification
spuuntries commited on
Commit ·
5b65e7f
1
Parent(s): ff4ee2d
feat: non-merged
Browse files- .gitattributes +4 -0
- README.md +580 -0
- adapter/.gitattributes +35 -0
- adapter/README.md +210 -0
- adapter/adapter_config.json +44 -0
- adapter/adapter_model.safetensors +3 -0
- chat_template.jinja +121 -0
- config.json +73 -0
- dfk_hero_banner.png +3 -0
- generation_config.json +7 -0
- metrics.json +28 -0
- tokenizer.json +3 -0
- tokenizer_config.json +17 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
model.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
adapter/adapter_model.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
dfk_hero_banner.png filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,580 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: aitf-komdigi/KomdigiITS-8B-DFK-CPT
|
| 3 |
+
library_name: peft
|
| 4 |
+
pipeline_tag: text-generation
|
| 5 |
+
tags:
|
| 6 |
+
- base_model:adapter:aitf-komdigi/KomdigiITS-8B-DFK-CPT
|
| 7 |
+
- lora
|
| 8 |
+
- sft
|
| 9 |
+
- transformers
|
| 10 |
+
- trl
|
| 11 |
+
- unsloth
|
| 12 |
+
- dfk-detection
|
| 13 |
+
- vlm
|
| 14 |
+
- indonesian
|
| 15 |
+
- multimodal
|
| 16 |
+
- image-classification
|
| 17 |
+
- content-moderation
|
| 18 |
+
---
|
| 19 |
+
|
| 20 |
+
<style>
|
| 21 |
+
.df {
|
| 22 |
+
--bg: #0c1220;
|
| 23 |
+
--surface: #111a2a;
|
| 24 |
+
--edge: #1e2d42;
|
| 25 |
+
--rule: #283a52;
|
| 26 |
+
--text: #a0b0c4;
|
| 27 |
+
--dim: #556878;
|
| 28 |
+
--bright: #e4ecf4;
|
| 29 |
+
--accent: #d4a04a;
|
| 30 |
+
--accent2: #e8c06a;
|
| 31 |
+
--warn: #c06050;
|
| 32 |
+
--ac-glow: rgba(212,160,74,0.08);
|
| 33 |
+
--wn-glow: rgba(192,96,80,0.06);
|
| 34 |
+
--mono: 'JetBrains Mono', monospace;
|
| 35 |
+
--sans: 'Inter', sans-serif;
|
| 36 |
+
|
| 37 |
+
font-family: var(--sans);
|
| 38 |
+
color: var(--text);
|
| 39 |
+
max-width: 880px;
|
| 40 |
+
margin: 0 auto;
|
| 41 |
+
padding: 0 0 64px;
|
| 42 |
+
line-height: 1.7;
|
| 43 |
+
font-size: 1rem;
|
| 44 |
+
background:
|
| 45 |
+
radial-gradient(ellipse at 50% 0%, rgba(212,160,74,0.03) 0%, transparent 50%),
|
| 46 |
+
var(--bg);
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
/* ── Hero ── */
|
| 50 |
+
.df-hero { position: relative; overflow: hidden; }
|
| 51 |
+
.df-hero img { display: block; width: 100%; height: 340px; object-fit: cover; margin: 0; }
|
| 52 |
+
.df-ident {
|
| 53 |
+
position: absolute; bottom: 0; left: 0; right: 0;
|
| 54 |
+
padding: 100px 36px 32px;
|
| 55 |
+
background: linear-gradient(to top, var(--bg) 0%, rgba(12,18,32,0.92) 40%, transparent 100%);
|
| 56 |
+
}
|
| 57 |
+
.df-name {
|
| 58 |
+
font-size: 2.6rem; font-weight: 900; color: var(--bright);
|
| 59 |
+
letter-spacing: 0.04em; line-height: 1.05; margin: 0 0 10px;
|
| 60 |
+
text-shadow: 0 2px 8px rgba(0,0,0,0.5);
|
| 61 |
+
overflow-wrap: break-word;
|
| 62 |
+
}
|
| 63 |
+
.df-base {
|
| 64 |
+
font-family: var(--mono); font-size: 0.66rem;
|
| 65 |
+
color: var(--accent); letter-spacing: 0.14em;
|
| 66 |
+
text-transform: uppercase; display: block;
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
/* ── Sections ── */
|
| 70 |
+
.df-section { padding: 0; }
|
| 71 |
+
.df-shead {
|
| 72 |
+
position: relative; display: flex; align-items: center; gap: 14px;
|
| 73 |
+
padding: 16px 36px 14px; margin-bottom: 24px;
|
| 74 |
+
border-top: 2px solid; border-image: linear-gradient(90deg, var(--accent), var(--warn)) 1;
|
| 75 |
+
}
|
| 76 |
+
.df-snum {
|
| 77 |
+
font-family: var(--mono); font-size: 2rem; font-weight: 900;
|
| 78 |
+
color: var(--accent); letter-spacing: 0.06em; opacity: 0.10;
|
| 79 |
+
position: absolute; right: 36px; top: 50%; transform: translateY(-50%); line-height: 1;
|
| 80 |
+
}
|
| 81 |
+
.df-stitle {
|
| 82 |
+
font-size: 1.05rem; font-weight: 700; letter-spacing: 0.1em;
|
| 83 |
+
text-transform: uppercase; color: var(--bright);
|
| 84 |
+
}
|
| 85 |
+
.df-stitle::before {
|
| 86 |
+
content: '\2726'; color: var(--accent); font-size: 0.8em; margin-right: 8px;
|
| 87 |
+
}
|
| 88 |
+
.df-sbody { padding: 0 36px 40px; }
|
| 89 |
+
.df-sbody p { margin: 0 0 14px; font-size: 0.94rem; }
|
| 90 |
+
.df-sbody p:last-child { margin-bottom: 0; }
|
| 91 |
+
|
| 92 |
+
/* ── Sub-headings ── */
|
| 93 |
+
.df-sub {
|
| 94 |
+
color: var(--bright) !important; font-size: 0.95rem !important;
|
| 95 |
+
margin: 22px 0 12px !important; padding: 0 0 7px !important;
|
| 96 |
+
font-weight: 700; text-transform: uppercase; letter-spacing: 2px;
|
| 97 |
+
border: none !important; border-bottom: 1px solid var(--edge) !important;
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
/* ── Panels ── */
|
| 101 |
+
.df-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
|
| 102 |
+
.df-panel {
|
| 103 |
+
border: 1px solid var(--edge); border-left: 3px solid var(--accent);
|
| 104 |
+
position: relative; background: var(--surface);
|
| 105 |
+
box-shadow: 0 0 16px rgba(212,160,74,0.03);
|
| 106 |
+
}
|
| 107 |
+
.df-panel::before {
|
| 108 |
+
content: ''; position: absolute; top: -1px; right: -1px;
|
| 109 |
+
width: 9px; height: 9px;
|
| 110 |
+
border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); opacity: 0.45;
|
| 111 |
+
}
|
| 112 |
+
.df-panel::after {
|
| 113 |
+
content: ''; position: absolute; bottom: -1px; right: -1px;
|
| 114 |
+
width: 9px; height: 9px;
|
| 115 |
+
border-bottom: 1px solid var(--warn); border-right: 1px solid var(--warn); opacity: 0.35;
|
| 116 |
+
}
|
| 117 |
+
.df-panel--warn { border-left-color: var(--warn); }
|
| 118 |
+
.df-phead {
|
| 119 |
+
font-family: var(--mono); font-size: 0.66rem; font-weight: 700;
|
| 120 |
+
letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim);
|
| 121 |
+
padding: 9px 14px; border-bottom: 1px solid var(--edge);
|
| 122 |
+
}
|
| 123 |
+
.df-phead::after { content: ' \2726'; color: var(--accent); opacity: 0.4; }
|
| 124 |
+
.df-row {
|
| 125 |
+
display: grid; grid-template-columns: 13ch 1fr; align-items: baseline;
|
| 126 |
+
column-gap: 4px; padding: 8px 14px; border-bottom: 1px solid var(--edge); font-size: 0.88rem;
|
| 127 |
+
}
|
| 128 |
+
.df-row:last-child { border-bottom: none; }
|
| 129 |
+
.df-k { font-family: var(--mono); font-size: 0.88rem; color: var(--dim); }
|
| 130 |
+
.df-k::after { content: ':'; }
|
| 131 |
+
.df-v { color: var(--bright); font-size: 0.88rem; }
|
| 132 |
+
.df-row .df-v:only-child { grid-column: 1 / -1; }
|
| 133 |
+
|
| 134 |
+
/* ── Metric cards ── */
|
| 135 |
+
.df-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
|
| 136 |
+
.df-metric {
|
| 137 |
+
background: var(--surface); border: 1px solid var(--edge);
|
| 138 |
+
border-top: 3px solid var(--accent); padding: 14px 10px 12px;
|
| 139 |
+
text-align: center; box-shadow: 0 0 12px var(--ac-glow);
|
| 140 |
+
position: relative;
|
| 141 |
+
}
|
| 142 |
+
.df-metric::before {
|
| 143 |
+
content: ''; position: absolute; top: -1px; right: -1px;
|
| 144 |
+
width: 8px; height: 8px;
|
| 145 |
+
border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); opacity: 0.3;
|
| 146 |
+
}
|
| 147 |
+
.df-metric--hi { border-top-color: var(--warn); }
|
| 148 |
+
.df-metric--hi::before { border-color: var(--warn); }
|
| 149 |
+
.df-mval {
|
| 150 |
+
font-family: var(--mono); font-size: 1.6rem; font-weight: 900;
|
| 151 |
+
color: var(--accent); line-height: 1; margin-bottom: 4px;
|
| 152 |
+
}
|
| 153 |
+
.df-metric--hi .df-mval { color: var(--warn); }
|
| 154 |
+
.df-mlbl {
|
| 155 |
+
font-family: var(--mono); font-size: 0.54rem; font-weight: 700;
|
| 156 |
+
letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim);
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
/* ── Note box ── */
|
| 160 |
+
.df-note {
|
| 161 |
+
border: 1px solid var(--edge); border-left: 3px solid var(--accent);
|
| 162 |
+
padding: 12px 16px; margin-top: 16px; background: var(--ac-glow);
|
| 163 |
+
font-size: 0.86rem; color: var(--dim); position: relative;
|
| 164 |
+
}
|
| 165 |
+
.df-note::before {
|
| 166 |
+
content: ''; position: absolute; top: -1px; right: -1px;
|
| 167 |
+
width: 8px; height: 8px;
|
| 168 |
+
border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); opacity: 0.3;
|
| 169 |
+
}
|
| 170 |
+
.df-note strong {
|
| 171 |
+
color: var(--accent); font-family: var(--mono);
|
| 172 |
+
font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
/* ── Links ── */
|
| 176 |
+
.df a { color: var(--bright); text-decoration: none; border-bottom: 1px solid var(--rule); }
|
| 177 |
+
.df a:hover { color: var(--accent); border-bottom-color: var(--accent); }
|
| 178 |
+
|
| 179 |
+
/* ── Dropdown ── */
|
| 180 |
+
.df details {
|
| 181 |
+
border: 1px solid var(--edge); border-left: 3px solid var(--accent);
|
| 182 |
+
margin-top: 20px; position: relative; background: var(--surface);
|
| 183 |
+
box-shadow: 0 0 16px rgba(212,160,74,0.03);
|
| 184 |
+
}
|
| 185 |
+
.df details::before {
|
| 186 |
+
content: ''; position: absolute; top: -1px; right: -1px;
|
| 187 |
+
width: 9px; height: 9px;
|
| 188 |
+
border-top: 1px solid var(--accent); border-right: 1px solid var(--accent); opacity: 0.45;
|
| 189 |
+
}
|
| 190 |
+
.df details::after {
|
| 191 |
+
content: ''; position: absolute; bottom: -1px; right: -1px;
|
| 192 |
+
width: 9px; height: 9px;
|
| 193 |
+
border-bottom: 1px solid var(--warn); border-right: 1px solid var(--warn); opacity: 0.35;
|
| 194 |
+
}
|
| 195 |
+
.df summary {
|
| 196 |
+
list-style: none; padding: 10px 14px; cursor: pointer;
|
| 197 |
+
font-family: var(--mono); font-size: 0.7rem; font-weight: 700;
|
| 198 |
+
letter-spacing: 0.12em; text-transform: uppercase; color: var(--dim);
|
| 199 |
+
user-select: none; display: flex; align-items: center; gap: 10px;
|
| 200 |
+
}
|
| 201 |
+
.df summary::-webkit-details-marker { display: none; }
|
| 202 |
+
.df summary::before {
|
| 203 |
+
content: '+'; color: var(--accent); font-size: 1rem; line-height: 1; flex-shrink: 0;
|
| 204 |
+
}
|
| 205 |
+
.df details[open] summary::before { content: '\2212'; }
|
| 206 |
+
.df summary:hover { color: var(--bright); }
|
| 207 |
+
.df-drop-body { padding: 18px 16px; border-top: 1px solid var(--edge); }
|
| 208 |
+
.df-drop-body p { margin: 0 0 14px; font-size: 0.9rem; }
|
| 209 |
+
|
| 210 |
+
/* ── Code ── */
|
| 211 |
+
.df pre {
|
| 212 |
+
background: #080e18; border: 1px solid var(--edge); border-left: 2px solid var(--accent);
|
| 213 |
+
padding: 14px 16px; overflow-x: auto; font-family: var(--mono);
|
| 214 |
+
font-size: 0.74rem; line-height: 1.6; color: var(--text); margin: 0 0 18px;
|
| 215 |
+
}
|
| 216 |
+
.df pre:last-child { margin-bottom: 0; }
|
| 217 |
+
.df pre code { background: none; color: inherit; padding: 0; border: none; }
|
| 218 |
+
.df code {
|
| 219 |
+
font-family: var(--mono); font-size: 0.85em; color: var(--accent);
|
| 220 |
+
background: var(--ac-glow); padding: 2px 5px; border: 1px solid rgba(212,160,74,0.12);
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
/* ── Mobile ── */
|
| 224 |
+
@media (max-width: 640px) {
|
| 225 |
+
.df-hero img { height: 220px; }
|
| 226 |
+
.df-name { font-size: 1.8rem; }
|
| 227 |
+
.df-ident { padding: 80px 20px 24px; }
|
| 228 |
+
.df-shead { padding: 14px 20px 12px; }
|
| 229 |
+
.df-sbody { padding: 0 20px 32px; }
|
| 230 |
+
.df-snum { right: 20px; }
|
| 231 |
+
.df-grid { grid-template-columns: 1fr; }
|
| 232 |
+
.df-metrics { grid-template-columns: repeat(2, 1fr); }
|
| 233 |
+
.df-row { grid-template-columns: 1fr; gap: 2px; }
|
| 234 |
+
.df-k::after { content: ''; }
|
| 235 |
+
}
|
| 236 |
+
</style>
|
| 237 |
+
<html lang="en">
|
| 238 |
+
<head>
|
| 239 |
+
<meta charset="UTF-8">
|
| 240 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 241 |
+
<title>KomdigiITS-8B-DFK-MultimodalClassification</title>
|
| 242 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 243 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 244 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
| 245 |
+
</head>
|
| 246 |
+
<body>
|
| 247 |
+
<div class="df">
|
| 248 |
+
|
| 249 |
+
<div class="df-hero">
|
| 250 |
+
<img src="dfk_hero_banner.png" alt="image">
|
| 251 |
+
<div class="df-ident">
|
| 252 |
+
<h1 class="df-name">KomdigiITS-8B-DFK<br>Multimodal Classification</h1>
|
| 253 |
+
<span class="df-base">Ministral-3-8B-Base-2512 · LoRA · Vision-Language</span>
|
| 254 |
+
</div>
|
| 255 |
+
</div>
|
| 256 |
+
|
| 257 |
+
<!-- ═══════════════════ 01 · Overview ═══════════════════ -->
|
| 258 |
+
<div class="df-section">
|
| 259 |
+
<div class="df-shead">
|
| 260 |
+
<span class="df-snum">01</span>
|
| 261 |
+
<span class="df-stitle">Overview</span>
|
| 262 |
+
</div>
|
| 263 |
+
<div class="df-sbody">
|
| 264 |
+
<p>A LoRA adapter fine-tuned on <a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-CPT">aitf-komdigi/KomdigiITS-8B-DFK-CPT</a> (Ministral-3-8B-Base-2512 based) as a Vision-Language Model for multimodal content classification. The model analyzes social media screenshots and classifies them into four categories: <code>netral</code>, <code>disinformasi</code>, <code>fitnah</code>, and <code>ujaran kebencian</code>.</p>
|
| 265 |
+
<p>Trained using the <a href="https://github.com/aitf-its-tim3-dfk/SITA">SITA</a> framework with Unsloth's SFT pipeline. Given an image, the model produces a structured analysis with a classification label and a detailed Indonesian-language reasoning of any violations found.</p>
|
| 266 |
+
<div class="df-note">
|
| 267 |
+
<strong>♦ Note:</strong> This is the final checkpoint from Workshop 3 (<code>final-ministral-8b-cpt-ws3</code>), trained on the DFK VLM Dataset V3 with augmented train/val splits. The base model (<code>aitf-komdigi/KomdigiITS-8B-DFK-CPT</code>) was continual-pretrained on DFK domain-oriented text before fine-tuning.
|
| 268 |
+
</div>
|
| 269 |
+
</div>
|
| 270 |
+
</div>
|
| 271 |
+
|
| 272 |
+
<!-- ═══════════════════ 02 · Model Details ═══════════════════ -->
|
| 273 |
+
<div class="df-section">
|
| 274 |
+
<div class="df-shead">
|
| 275 |
+
<span class="df-snum">02</span>
|
| 276 |
+
<span class="df-stitle">Model Details</span>
|
| 277 |
+
</div>
|
| 278 |
+
<div class="df-sbody">
|
| 279 |
+
<div class="df-grid">
|
| 280 |
+
<div class="df-panel">
|
| 281 |
+
<div class="df-phead">Identity</div>
|
| 282 |
+
<div class="df-row"><span class="df-k">Developed</span><span class="df-v">DFK Tim 3 ITS</span></div>
|
| 283 |
+
<div class="df-row"><span class="df-k">Type</span><span class="df-v">VLM — LoRA adapter</span></div>
|
| 284 |
+
<div class="df-row"><span class="df-k">Language</span><span class="df-v">Indonesian</span></div>
|
| 285 |
+
</div>
|
| 286 |
+
<div class="df-panel">
|
| 287 |
+
<div class="df-phead">Architecture</div>
|
| 288 |
+
<div class="df-row"><span class="df-k">Base</span><span class="df-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-CPT">KomdigiITS-8B-DFK-CPT</a></span></div>
|
| 289 |
+
<div class="df-row"><span class="df-k">Arch</span><span class="df-v">Mistral3ForConditionalGeneration</span></div>
|
| 290 |
+
<div class="df-row"><span class="df-k">Params</span><span class="df-v">8B (base)</span></div>
|
| 291 |
+
<div class="df-row"><span class="df-k">Precision</span><span class="df-v">float16</span></div>
|
| 292 |
+
</div>
|
| 293 |
+
</div>
|
| 294 |
+
</div>
|
| 295 |
+
</div>
|
| 296 |
+
|
| 297 |
+
<!-- ═══════════════════ 03 · Uses ═══════════════════ -->
|
| 298 |
+
<div class="df-section">
|
| 299 |
+
<div class="df-shead">
|
| 300 |
+
<span class="df-snum">03</span>
|
| 301 |
+
<span class="df-stitle">Uses</span>
|
| 302 |
+
</div>
|
| 303 |
+
<div class="df-sbody">
|
| 304 |
+
<h3 class="df-sub">Direct Use</h3>
|
| 305 |
+
<div class="df-panel" style="margin-bottom:16px;">
|
| 306 |
+
<div class="df-row"><span class="df-v">Image-based content moderation classification for Indonesian social media. Given a screenshot, the model produces a structured analysis with a classification label (<code>netral</code>, <code>disinformasi</code>, <code>fitnah</code>, or <code>ujaran kebencian</code>) and a detailed reasoning in Indonesian.</span></div>
|
| 307 |
+
</div>
|
| 308 |
+
<h3 class="df-sub">Out-of-Scope Use</h3>
|
| 309 |
+
<div class="df-panel df-panel--warn">
|
| 310 |
+
<div class="df-row"><span class="df-v">This model is not intended for general-purpose vision-language tasks. It is specialized for the DFK disinformation detection pipeline and should not be used for content moderation in other languages or domains without further fine-tuning.</span></div>
|
| 311 |
+
</div>
|
| 312 |
+
</div>
|
| 313 |
+
</div>
|
| 314 |
+
|
| 315 |
+
<!-- ═══════════════════ 04 · Evaluation ═══════════════════ -->
|
| 316 |
+
<div class="df-section">
|
| 317 |
+
<div class="df-shead">
|
| 318 |
+
<span class="df-snum">04</span>
|
| 319 |
+
<span class="df-stitle">Evaluation</span>
|
| 320 |
+
</div>
|
| 321 |
+
<div class="df-sbody">
|
| 322 |
+
<p>Evaluated on the held-out validation split using greedy decoding (<code>temperature=0.0</code>) and BERTScore (<code>bert-base-multilingual-cased</code>).</p>
|
| 323 |
+
<div class="df-metrics">
|
| 324 |
+
<div class="df-metric df-metric--hi">
|
| 325 |
+
<div class="df-mval">94.3</div>
|
| 326 |
+
<div class="df-mlbl">Accuracy</div>
|
| 327 |
+
</div>
|
| 328 |
+
<div class="df-metric">
|
| 329 |
+
<div class="df-mval">91.6</div>
|
| 330 |
+
<div class="df-mlbl">F1 Macro</div>
|
| 331 |
+
</div>
|
| 332 |
+
<div class="df-metric">
|
| 333 |
+
<div class="df-mval">94.3</div>
|
| 334 |
+
<div class="df-mlbl">F1 Weighted</div>
|
| 335 |
+
</div>
|
| 336 |
+
<div class="df-metric">
|
| 337 |
+
<div class="df-mval">80.2</div>
|
| 338 |
+
<div class="df-mlbl">BERTScore F1</div>
|
| 339 |
+
</div>
|
| 340 |
+
</div>
|
| 341 |
+
<details>
|
| 342 |
+
<summary>Per-Class Breakdown</summary>
|
| 343 |
+
<div class="df-drop-body">
|
| 344 |
+
<div class="df-panel" style="margin-bottom:0;">
|
| 345 |
+
<div class="df-row"><span class="df-k">Netral</span><span class="df-v">P 0.937 · R 0.973 · F1 0.954 · n=970</span></div>
|
| 346 |
+
<div class="df-row"><span class="df-k">Ujrn Kbnci</span><span class="df-v">P 0.979 · R 0.960 · F1 0.969 · n=867</span></div>
|
| 347 |
+
<div class="df-row"><span class="df-k">Disinfo</span><span class="df-v">P 0.946 · R 0.895 · F1 0.920 · n=392</span></div>
|
| 348 |
+
<div class="df-row"><span class="df-k">Fitnah</span><span class="df-v">P 0.822 · R 0.822 · F1 0.822 · n=213</span></div>
|
| 349 |
+
</div>
|
| 350 |
+
</div>
|
| 351 |
+
</details>
|
| 352 |
+
<details>
|
| 353 |
+
<summary>Generation Quality Metrics</summary>
|
| 354 |
+
<div class="df-drop-body">
|
| 355 |
+
<div class="df-panel">
|
| 356 |
+
<div class="df-phead">BERTScore · bert-base-multilingual-cased</div>
|
| 357 |
+
<div class="df-row"><span class="df-k">Precision</span><span class="df-v">0.804</span></div>
|
| 358 |
+
<div class="df-row"><span class="df-k">Recall</span><span class="df-v">0.801</span></div>
|
| 359 |
+
<div class="df-row"><span class="df-k">F1</span><span class="df-v">0.802</span></div>
|
| 360 |
+
</div>
|
| 361 |
+
<div class="df-panel" style="margin-top:12px;">
|
| 362 |
+
<div class="df-phead">ROUGE-L · n-gram overlap</div>
|
| 363 |
+
<div class="df-row"><span class="df-k">Precision</span><span class="df-v">0.400</span></div>
|
| 364 |
+
<div class="df-row"><span class="df-k">Recall</span><span class="df-v">0.387</span></div>
|
| 365 |
+
<div class="df-row"><span class="df-k">F1</span><span class="df-v">0.387</span></div>
|
| 366 |
+
</div>
|
| 367 |
+
</div>
|
| 368 |
+
</details>
|
| 369 |
+
</div>
|
| 370 |
+
</div>
|
| 371 |
+
|
| 372 |
+
<!-- ═══════════════════ 05 · Training Details ═══════════════════ -->
|
| 373 |
+
<div class="df-section">
|
| 374 |
+
<div class="df-shead">
|
| 375 |
+
<span class="df-snum">05</span>
|
| 376 |
+
<span class="df-stitle">Training Details</span>
|
| 377 |
+
</div>
|
| 378 |
+
<div class="df-sbody">
|
| 379 |
+
<h3 class="df-sub">Training Data</h3>
|
| 380 |
+
<div class="df-panel" style="margin-bottom:16px;">
|
| 381 |
+
<div class="df-row"><span class="df-k">Dataset</span><span class="df-v"><code>dfk_vlm_dataset_v3</code> (augmented on <code>fitnah</code> class)</span></div>
|
| 382 |
+
<div class="df-row"><span class="df-k">Splits</span><span class="df-v">Fixed (train_aug.csv / val_aug.csv)</span></div>
|
| 383 |
+
<div class="df-row"><span class="df-k">Train</span><span class="df-v">14,293 samples</span></div>
|
| 384 |
+
<div class="df-row"><span class="df-k">Val</span><span class="df-v">2,831 samples</span></div>
|
| 385 |
+
</div>
|
| 386 |
+
<h3 class="df-sub">Label Classes</h3>
|
| 387 |
+
<div class="df-panel" style="margin-bottom:16px;">
|
| 388 |
+
<div class="df-row"><span class="df-k">Netral</span><span class="df-v">Factual content or non-DFK material — no violation detected</span></div>
|
| 389 |
+
<div class="df-row"><span class="df-k">Disinfo</span><span class="df-v">Claims that contradict established facts, not directed at a specific person</span></div>
|
| 390 |
+
<div class="df-row"><span class="df-k">Fitnah</span><span class="df-v">False claims directed at a specific individual (defamation)</span></div>
|
| 391 |
+
<div class="df-row"><span class="df-k">Ujrn Kbnci</span><span class="df-v">Hate speech targeting ethnicity, religion, race, or intergroup identity (SARA)</span></div>
|
| 392 |
+
</div>
|
| 393 |
+
<details>
|
| 394 |
+
<summary>Dataset Distribution</summary>
|
| 395 |
+
<div class="df-drop-body">
|
| 396 |
+
<div class="df-panel">
|
| 397 |
+
<div class="df-phead">Train (augmented) · 14,293 total</div>
|
| 398 |
+
<div class="df-row"><span class="df-k">Netral</span><span class="df-v">3,883 (27.2%)</span></div>
|
| 399 |
+
<div class="df-row"><span class="df-k">Fitnah</span><span class="df-v">3,846 (26.9%)</span></div>
|
| 400 |
+
<div class="df-row"><span class="df-k">Ujrn Kbnci</span><span class="df-v">3,484 (24.4%)</span></div>
|
| 401 |
+
<div class="df-row"><span class="df-k">Disinfo</span><span class="df-v">3,080 (21.6%)</span></div>
|
| 402 |
+
</div>
|
| 403 |
+
<div class="df-panel" style="margin-top:12px;">
|
| 404 |
+
<div class="df-phead">Val (augmented) · 2,831 total</div>
|
| 405 |
+
<div class="df-row"><span class="df-k">Netral</span><span class="df-v">970 (34.3%)</span></div>
|
| 406 |
+
<div class="df-row"><span class="df-k">Ujrn Kbnci</span><span class="df-v">867 (30.6%)</span></div>
|
| 407 |
+
<div class="df-row"><span class="df-k">Disinfo</span><span class="df-v">765 (27.0%)</span></div>
|
| 408 |
+
<div class="df-row"><span class="df-k">Fitnah</span><span class="df-v">229 (8.1%)</span></div>
|
| 409 |
+
</div>
|
| 410 |
+
</div>
|
| 411 |
+
</details>
|
| 412 |
+
<h3 class="df-sub">Configuration</h3>
|
| 413 |
+
<div class="df-grid" style="margin-top:20px;">
|
| 414 |
+
<div class="df-panel">
|
| 415 |
+
<div class="df-phead">LoRA Configuration</div>
|
| 416 |
+
<div class="df-row"><span class="df-k">r</span><span class="df-v">16</span></div>
|
| 417 |
+
<div class="df-row"><span class="df-k">Alpha</span><span class="df-v">16</span></div>
|
| 418 |
+
<div class="df-row"><span class="df-k">Dropout</span><span class="df-v">0.1</span></div>
|
| 419 |
+
<div class="df-row"><span class="df-k">Targets</span><span class="df-v">all-linear</span></div>
|
| 420 |
+
<div class="df-row"><span class="df-k">Vision</span><span class="df-v">✓ finetuned</span></div>
|
| 421 |
+
<div class="df-row"><span class="df-k">Language</span><span class="df-v">✓ finetuned</span></div>
|
| 422 |
+
<div class="df-row"><span class="df-k">Attention</span><span class="df-v">✓ finetuned</span></div>
|
| 423 |
+
<div class="df-row"><span class="df-k">MLP</span><span class="df-v">✓ finetuned</span></div>
|
| 424 |
+
</div>
|
| 425 |
+
<div class="df-panel">
|
| 426 |
+
<div class="df-phead">Hyperparameters</div>
|
| 427 |
+
<div class="df-row"><span class="df-k">Epochs</span><span class="df-v">3</span></div>
|
| 428 |
+
<div class="df-row"><span class="df-k">Batch</span><span class="df-v">16 (4 × 4 accum)</span></div>
|
| 429 |
+
<div class="df-row"><span class="df-k">LR</span><span class="df-v">5e-4</span></div>
|
| 430 |
+
<div class="df-row"><span class="df-k">Optimizer</span><span class="df-v">AdamW 8-bit</span></div>
|
| 431 |
+
<div class="df-row"><span class="df-k">Max len</span><span class="df-v">4096</span></div>
|
| 432 |
+
<div class="df-row"><span class="df-k">Grad norm</span><span class="df-v">1</span></div>
|
| 433 |
+
<div class="df-row"><span class="df-k">Warmup</span><span class="df-v">0.03</span></div>
|
| 434 |
+
<div class="df-row"><span class="df-k">Grad ckpt</span><span class="df-v">unsloth</span></div>
|
| 435 |
+
<div class="df-row"><span class="df-k">Seed</span><span class="df-v">3407</span></div>
|
| 436 |
+
</div>
|
| 437 |
+
</div>
|
| 438 |
+
<h3 class="df-sub" style="margin-top:24px;">Trainer</h3>
|
| 439 |
+
<div class="df-panel" style="margin-bottom:16px;">
|
| 440 |
+
<div class="df-row"><span class="df-k">Type</span><span class="df-v"><code>unsloth_vlm_sft</code> (Unsloth VLM SFT trainer)</span></div>
|
| 441 |
+
<div class="df-row"><span class="df-k">Train on</span><span class="df-v">Responses only</span></div>
|
| 442 |
+
<div class="df-row"><span class="df-k">Instr part</span><span class="df-v"><code>[INST]</code></span></div>
|
| 443 |
+
<div class="df-row"><span class="df-k">Resp part</span><span class="df-v"><code>[/INST]</code></span></div>
|
| 444 |
+
<div class="df-row"><span class="df-k">Best model</span><span class="df-v">Selected by <code>eval_loss</code> (lower is better)</span></div>
|
| 445 |
+
</div>
|
| 446 |
+
<details>
|
| 447 |
+
<summary>Prompt Template</summary>
|
| 448 |
+
<div class="df-drop-body">
|
| 449 |
+
<p>Each sample is formatted as a multi-turn conversation using the <code>ministral_3</code> chat template. The dataset builds structured content blocks which the Jinja template renders as:</p>
|
| 450 |
+
<pre><code><s>[SYSTEM_PROMPT]...default Ministral system prompt...[/SYSTEM_PROMPT][INST]Anda adalah seorang analis konten media sosial ahli. Diberikan tangkapan layar dari sebuah konten, tentukan label kategori pelanggaran dan berikan analisis detail mengenai pelanggaran yang ditemukan.Ringkasan: {ringkasan}
|
| 451 |
+
Klaim: {klaim}
|
| 452 |
+
Fakta: {fakta}[IMG][/INST]Label: {label}
|
| 453 |
+
|
| 454 |
+
Analisis: {analisis}</s></code></pre>
|
| 455 |
+
|
| 456 |
+
<h3 class="df-sub" style="margin-top:20px;">Input Fields</h3>
|
| 457 |
+
<div class="df-panel" style="margin-bottom:16px;">
|
| 458 |
+
<div class="df-row"><span class="df-k">Ringkasan</span><span class="df-v">Content summary. In the RAG pipeline this is the concatenation of the image caption (from a captioning model) and any user-provided text (e.g. post caption, tweet text). Effectively holds all available textual context about the content.</span></div>
|
| 459 |
+
<div class="df-row"><span class="df-k">Klaim</span><span class="df-v">The core claim extracted from the content, used as a web search query for fact-checking. Generated by an LLM from the ringkasan. Can also be a direct caption or user-provided text in simpler setups.</span></div>
|
| 460 |
+
<div class="df-row"><span class="df-k">Fakta</span><span class="df-v">Verification context retrieved via web search. Contains numbered search results with titles, descriptions, and source URLs. If no relevant sources are found, defaults to <code>"Tidak ditemukan sumber yang valid."</code></span></div>
|
| 461 |
+
<div class="df-row"><span class="df-k">[IMG]</span><span class="df-v">Screenshot of the social media post being analyzed.</span></div>
|
| 462 |
+
</div>
|
| 463 |
+
<h3 class="df-sub">Output Fields</h3>
|
| 464 |
+
<div class="df-panel">
|
| 465 |
+
<div class="df-row"><span class="df-k">Label</span><span class="df-v">One of <code>netral</code>, <code>disinformasi</code>, <code>fitnah</code>, or <code>ujaran kebencian</code>.</span></div>
|
| 466 |
+
<div class="df-row"><span class="df-k">Analisis</span><span class="df-v">Free-form Indonesian-language explanation of why the content was assigned its label, referencing the image, context, and any retrieved facts.</span></div>
|
| 467 |
+
</div>
|
| 468 |
+
</div>
|
| 469 |
+
</details>
|
| 470 |
+
<details>
|
| 471 |
+
<summary>Full Training Config</summary>
|
| 472 |
+
<div class="df-drop-body">
|
| 473 |
+
<pre><code>experiment_name: final-ministral-8b-cpt-ws3
|
| 474 |
+
seed: 3407
|
| 475 |
+
|
| 476 |
+
reporting:
|
| 477 |
+
wandb: true
|
| 478 |
+
wandb_project: "DFK3"
|
| 479 |
+
|
| 480 |
+
model:
|
| 481 |
+
name: unsloth_vlm
|
| 482 |
+
pretrained: aitf-komdigi/KomdigiITS-8B-DFK-CPT
|
| 483 |
+
kwargs:
|
| 484 |
+
load_in_4bit: false
|
| 485 |
+
chat_template: "sita/templates/ministral_3.jinja"
|
| 486 |
+
|
| 487 |
+
adapter:
|
| 488 |
+
name: unsloth_vlm_lora
|
| 489 |
+
kwargs:
|
| 490 |
+
finetune_vision_layers: true
|
| 491 |
+
finetune_language_layers: true
|
| 492 |
+
finetune_attention_modules: true
|
| 493 |
+
finetune_mlp_modules: true
|
| 494 |
+
r: 16
|
| 495 |
+
lora_alpha: 16
|
| 496 |
+
lora_dropout: 0.1
|
| 497 |
+
bias: "none"
|
| 498 |
+
target_modules: "all-linear"
|
| 499 |
+
use_gradient_checkpointing: "unsloth"
|
| 500 |
+
random_state: 3407
|
| 501 |
+
|
| 502 |
+
dataset:
|
| 503 |
+
name: dfk_vlm_dataset_v3
|
| 504 |
+
kwargs:
|
| 505 |
+
data_dir: /content/dataset/images/images
|
| 506 |
+
|
| 507 |
+
training:
|
| 508 |
+
num_epochs: 3
|
| 509 |
+
batch_size: 4
|
| 510 |
+
learning_rate: 5e-4
|
| 511 |
+
gradient_accumulation_steps: 4
|
| 512 |
+
max_grad_norm: 1
|
| 513 |
+
warmup_ratio: 0.03
|
| 514 |
+
weight_decay: 0
|
| 515 |
+
logging_steps: 1
|
| 516 |
+
eval_steps: 250
|
| 517 |
+
extra:
|
| 518 |
+
seed: 3407
|
| 519 |
+
max_length: 4096
|
| 520 |
+
load_best_model_at_end: true
|
| 521 |
+
metric_for_best_model: eval_loss
|
| 522 |
+
greater_is_better: false
|
| 523 |
+
|
| 524 |
+
trainer:
|
| 525 |
+
name: unsloth_vlm_sft
|
| 526 |
+
kwargs:
|
| 527 |
+
train_on_responses_only: true
|
| 528 |
+
instruction_part: "[INST]"
|
| 529 |
+
response_part: "[/INST]"
|
| 530 |
+
optim: adamw_8bit
|
| 531 |
+
|
| 532 |
+
evaluation:
|
| 533 |
+
name: vlm_gen
|
| 534 |
+
kwargs:
|
| 535 |
+
max_new_tokens: 512
|
| 536 |
+
temperature: 0.0
|
| 537 |
+
bert_model: bert-base-multilingual-cased
|
| 538 |
+
batch_size: 16
|
| 539 |
+
num_workers: 11</code></pre>
|
| 540 |
+
|
| 541 |
+
</div>
|
| 542 |
+
</details>
|
| 543 |
+
</div>
|
| 544 |
+
</div>
|
| 545 |
+
|
| 546 |
+
<!-- ═══════════════════ 06 · Model Sources ═══════════════════ -->
|
| 547 |
+
<div class="df-section">
|
| 548 |
+
<div class="df-shead">
|
| 549 |
+
<span class="df-snum">06</span>
|
| 550 |
+
<span class="df-stitle">Model Sources</span>
|
| 551 |
+
</div>
|
| 552 |
+
<div class="df-sbody">
|
| 553 |
+
<div class="df-panel">
|
| 554 |
+
<div class="df-row"><span class="df-k">Framework</span><span class="df-v"><a href="https://github.com/aitf-its-tim3-dfk/SITA">SITA</a></span></div>
|
| 555 |
+
<div class="df-row"><span class="df-k">W&B Run</span><span class="df-v"><a href="https://wandb.ai/aitfits2026-kementerian-komdigi/DFK3/runs/zbplofhf">DFK3 / final-ministral-8b-cpt-ws3</a></span></div>
|
| 556 |
+
</div>
|
| 557 |
+
</div>
|
| 558 |
+
</div>
|
| 559 |
+
|
| 560 |
+
<!-- ═══════════════════ 07 · Framework Versions ═══════════════════ -->
|
| 561 |
+
<div class="df-section">
|
| 562 |
+
<div class="df-shead">
|
| 563 |
+
<span class="df-snum">07</span>
|
| 564 |
+
<span class="df-stitle">Framework Versions</span>
|
| 565 |
+
</div>
|
| 566 |
+
<div class="df-sbody">
|
| 567 |
+
<div class="df-panel">
|
| 568 |
+
<div class="df-row"><span class="df-k">TRL</span><span class="df-v">0.24.0</span></div>
|
| 569 |
+
<div class="df-row"><span class="df-k">Transformers</span><span class="df-v">5.5.0</span></div>
|
| 570 |
+
<div class="df-row"><span class="df-k">PyTorch</span><span class="df-v">2.11.0+cu128</span></div>
|
| 571 |
+
<div class="df-row"><span class="df-k">Datasets</span><span class="df-v">4.3.0</span></div>
|
| 572 |
+
<div class="df-row"><span class="df-k">PEFT</span><span class="df-v">0.19.0</span></div>
|
| 573 |
+
<div class="df-row"><span class="df-k">Tokenizers</span><span class="df-v">0.22.2</span></div>
|
| 574 |
+
</div>
|
| 575 |
+
</div>
|
| 576 |
+
</div>
|
| 577 |
+
|
| 578 |
+
</div>
|
| 579 |
+
</body>
|
| 580 |
+
</html>
|
adapter/.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
adapter/README.md
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: aitf-komdigi/ministral-8b-dfk-cpt-last
|
| 3 |
+
library_name: peft
|
| 4 |
+
pipeline_tag: text-generation
|
| 5 |
+
tags:
|
| 6 |
+
- base_model:adapter:aitf-komdigi/ministral-8b-dfk-cpt-last
|
| 7 |
+
- lora
|
| 8 |
+
- sft
|
| 9 |
+
- transformers
|
| 10 |
+
- trl
|
| 11 |
+
- unsloth
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Model Card for Model ID
|
| 15 |
+
|
| 16 |
+
<!-- Provide a quick summary of what the model is/does. -->
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
## Model Details
|
| 21 |
+
|
| 22 |
+
### Model Description
|
| 23 |
+
|
| 24 |
+
<!-- Provide a longer summary of what this model is. -->
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
- **Developed by:** [More Information Needed]
|
| 29 |
+
- **Funded by [optional]:** [More Information Needed]
|
| 30 |
+
- **Shared by [optional]:** [More Information Needed]
|
| 31 |
+
- **Model type:** [More Information Needed]
|
| 32 |
+
- **Language(s) (NLP):** [More Information Needed]
|
| 33 |
+
- **License:** [More Information Needed]
|
| 34 |
+
- **Finetuned from model [optional]:** [More Information Needed]
|
| 35 |
+
|
| 36 |
+
### Model Sources [optional]
|
| 37 |
+
|
| 38 |
+
<!-- Provide the basic links for the model. -->
|
| 39 |
+
|
| 40 |
+
- **Repository:** [More Information Needed]
|
| 41 |
+
- **Paper [optional]:** [More Information Needed]
|
| 42 |
+
- **Demo [optional]:** [More Information Needed]
|
| 43 |
+
|
| 44 |
+
## Uses
|
| 45 |
+
|
| 46 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 47 |
+
|
| 48 |
+
### Direct Use
|
| 49 |
+
|
| 50 |
+
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
| 51 |
+
|
| 52 |
+
[More Information Needed]
|
| 53 |
+
|
| 54 |
+
### Downstream Use [optional]
|
| 55 |
+
|
| 56 |
+
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
| 57 |
+
|
| 58 |
+
[More Information Needed]
|
| 59 |
+
|
| 60 |
+
### Out-of-Scope Use
|
| 61 |
+
|
| 62 |
+
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 63 |
+
|
| 64 |
+
[More Information Needed]
|
| 65 |
+
|
| 66 |
+
## Bias, Risks, and Limitations
|
| 67 |
+
|
| 68 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 69 |
+
|
| 70 |
+
[More Information Needed]
|
| 71 |
+
|
| 72 |
+
### Recommendations
|
| 73 |
+
|
| 74 |
+
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 75 |
+
|
| 76 |
+
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 77 |
+
|
| 78 |
+
## How to Get Started with the Model
|
| 79 |
+
|
| 80 |
+
Use the code below to get started with the model.
|
| 81 |
+
|
| 82 |
+
[More Information Needed]
|
| 83 |
+
|
| 84 |
+
## Training Details
|
| 85 |
+
|
| 86 |
+
### Training Data
|
| 87 |
+
|
| 88 |
+
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 89 |
+
|
| 90 |
+
[More Information Needed]
|
| 91 |
+
|
| 92 |
+
### Training Procedure
|
| 93 |
+
|
| 94 |
+
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 95 |
+
|
| 96 |
+
#### Preprocessing [optional]
|
| 97 |
+
|
| 98 |
+
[More Information Needed]
|
| 99 |
+
|
| 100 |
+
|
| 101 |
+
#### Training Hyperparameters
|
| 102 |
+
|
| 103 |
+
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 104 |
+
|
| 105 |
+
#### Speeds, Sizes, Times [optional]
|
| 106 |
+
|
| 107 |
+
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 108 |
+
|
| 109 |
+
[More Information Needed]
|
| 110 |
+
|
| 111 |
+
## Evaluation
|
| 112 |
+
|
| 113 |
+
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 114 |
+
|
| 115 |
+
### Testing Data, Factors & Metrics
|
| 116 |
+
|
| 117 |
+
#### Testing Data
|
| 118 |
+
|
| 119 |
+
<!-- This should link to a Dataset Card if possible. -->
|
| 120 |
+
|
| 121 |
+
[More Information Needed]
|
| 122 |
+
|
| 123 |
+
#### Factors
|
| 124 |
+
|
| 125 |
+
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 126 |
+
|
| 127 |
+
[More Information Needed]
|
| 128 |
+
|
| 129 |
+
#### Metrics
|
| 130 |
+
|
| 131 |
+
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 132 |
+
|
| 133 |
+
[More Information Needed]
|
| 134 |
+
|
| 135 |
+
### Results
|
| 136 |
+
|
| 137 |
+
[More Information Needed]
|
| 138 |
+
|
| 139 |
+
#### Summary
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
|
| 143 |
+
## Model Examination [optional]
|
| 144 |
+
|
| 145 |
+
<!-- Relevant interpretability work for the model goes here -->
|
| 146 |
+
|
| 147 |
+
[More Information Needed]
|
| 148 |
+
|
| 149 |
+
## Environmental Impact
|
| 150 |
+
|
| 151 |
+
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 152 |
+
|
| 153 |
+
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 154 |
+
|
| 155 |
+
- **Hardware Type:** [More Information Needed]
|
| 156 |
+
- **Hours used:** [More Information Needed]
|
| 157 |
+
- **Cloud Provider:** [More Information Needed]
|
| 158 |
+
- **Compute Region:** [More Information Needed]
|
| 159 |
+
- **Carbon Emitted:** [More Information Needed]
|
| 160 |
+
|
| 161 |
+
## Technical Specifications [optional]
|
| 162 |
+
|
| 163 |
+
### Model Architecture and Objective
|
| 164 |
+
|
| 165 |
+
[More Information Needed]
|
| 166 |
+
|
| 167 |
+
### Compute Infrastructure
|
| 168 |
+
|
| 169 |
+
[More Information Needed]
|
| 170 |
+
|
| 171 |
+
#### Hardware
|
| 172 |
+
|
| 173 |
+
[More Information Needed]
|
| 174 |
+
|
| 175 |
+
#### Software
|
| 176 |
+
|
| 177 |
+
[More Information Needed]
|
| 178 |
+
|
| 179 |
+
## Citation [optional]
|
| 180 |
+
|
| 181 |
+
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 182 |
+
|
| 183 |
+
**BibTeX:**
|
| 184 |
+
|
| 185 |
+
[More Information Needed]
|
| 186 |
+
|
| 187 |
+
**APA:**
|
| 188 |
+
|
| 189 |
+
[More Information Needed]
|
| 190 |
+
|
| 191 |
+
## Glossary [optional]
|
| 192 |
+
|
| 193 |
+
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 194 |
+
|
| 195 |
+
[More Information Needed]
|
| 196 |
+
|
| 197 |
+
## More Information [optional]
|
| 198 |
+
|
| 199 |
+
[More Information Needed]
|
| 200 |
+
|
| 201 |
+
## Model Card Authors [optional]
|
| 202 |
+
|
| 203 |
+
[More Information Needed]
|
| 204 |
+
|
| 205 |
+
## Model Card Contact
|
| 206 |
+
|
| 207 |
+
[More Information Needed]
|
| 208 |
+
### Framework versions
|
| 209 |
+
|
| 210 |
+
- PEFT 0.19.1
|
adapter/adapter_config.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": {
|
| 6 |
+
"base_model_class": "Mistral3ForConditionalGeneration",
|
| 7 |
+
"parent_library": "transformers.models.mistral3.modeling_mistral3",
|
| 8 |
+
"unsloth_fixed": true
|
| 9 |
+
},
|
| 10 |
+
"base_model_name_or_path": "aitf-komdigi/ministral-8b-dfk-cpt-last",
|
| 11 |
+
"bias": "none",
|
| 12 |
+
"corda_config": null,
|
| 13 |
+
"ensure_weight_tying": false,
|
| 14 |
+
"eva_config": null,
|
| 15 |
+
"exclude_modules": null,
|
| 16 |
+
"fan_in_fan_out": false,
|
| 17 |
+
"inference_mode": true,
|
| 18 |
+
"init_lora_weights": true,
|
| 19 |
+
"layer_replication": null,
|
| 20 |
+
"layers_pattern": null,
|
| 21 |
+
"layers_to_transform": null,
|
| 22 |
+
"loftq_config": {},
|
| 23 |
+
"lora_alpha": 16,
|
| 24 |
+
"lora_bias": false,
|
| 25 |
+
"lora_dropout": 0.1,
|
| 26 |
+
"lora_ga_config": null,
|
| 27 |
+
"megatron_config": null,
|
| 28 |
+
"megatron_core": "megatron.core",
|
| 29 |
+
"modules_to_save": null,
|
| 30 |
+
"peft_type": "LORA",
|
| 31 |
+
"peft_version": "0.19.1",
|
| 32 |
+
"qalora_group_size": 16,
|
| 33 |
+
"r": 16,
|
| 34 |
+
"rank_pattern": {},
|
| 35 |
+
"revision": null,
|
| 36 |
+
"target_modules": "(?:.*?(?:vision|image|visual|patch|language|text).*?(?:self_attn|attention|attn|mlp|feed_forward|ffn|dense).*?(?:gate_proj|up_proj|down_proj|k_proj|v_proj|q_proj|o_proj).*?)|(?:\\bmodel\\.layers\\.[\\d]{1,}\\.(?:self_attn|attention|attn|mlp|feed_forward|ffn|dense)\\.(?:(?:gate_proj|up_proj|down_proj|k_proj|v_proj|q_proj|o_proj)))",
|
| 37 |
+
"target_parameters": null,
|
| 38 |
+
"task_type": "CAUSAL_LM",
|
| 39 |
+
"trainable_token_indices": null,
|
| 40 |
+
"use_bdlora": null,
|
| 41 |
+
"use_dora": false,
|
| 42 |
+
"use_qalora": false,
|
| 43 |
+
"use_rslora": false
|
| 44 |
+
}
|
adapter/adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f3697db02b23e1f1e42394f9cf5567a736be1539920eb238f3aba503b0cddf22
|
| 3 |
+
size 214559872
|
chat_template.jinja
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{#- Unsloth template fixes #}
|
| 2 |
+
{#- Default system message if no system prompt is passed. #}
|
| 3 |
+
{%- set default_system_message = 'You are Ministral-3-8B-Instruct-2512, a Large Language Model (LLM) created by Mistral AI, a French startup headquartered in Paris.\nYou power an AI assistant called Le Chat.\nYour knowledge base was last updated on 2023-10-01.\nThe current date is {today}.\n\nWhen you\'re not sure about some information or when the user\'s request requires up-to-date or specific data, you must use the available tools to fetch the information. Do not hesitate to use tools whenever they can provide a more accurate or complete response. If no relevant tools are available, then clearly state that you don\'t have the information and avoid making up anything.\nIf the user\'s question is not clear, ambiguous, or does not provide enough context for you to accurately answer the question, you do not try to answer it right away and you rather ask the user to clarify their request (e.g. "What are some good restaurants around me?" => "Where are you?" or "When is the next flight to Tokyo" => "Where do you travel from?").\nYou are always very attentive to dates, in particular you try to resolve dates (e.g. "yesterday" is {yesterday}) and when asked about information at specific dates, you discard information that is at another date.\nYou follow these instructions in all languages, and always respond to the user in the language they use or request.\nNext sections describe the capabilities that you have.\n\n# WEB BROWSING INSTRUCTIONS\n\nYou cannot perform any web search or access internet to open URLs, links etc. If it seems like the user is expecting you to do so, you clarify the situation and ask the user to copy paste the text directly in the chat.\n\n# MULTI-MODAL INSTRUCTIONS\n\nYou have the ability to read images, but you cannot generate images. You also cannot transcribe audio files or videos.\nYou cannot read nor transcribe audio files or videos.\n\n# TOOL CALLING INSTRUCTIONS\n\nYou may have access to tools that you can use to fetch information or perform actions. You must use these tools in the following situations:\n\n1. When the request requires up-to-date information.\n2. When the request requires specific data that you do not have in your knowledge base.\n3. When the request involves actions that you cannot perform without tools.\n\nAlways prioritize using tools to provide the most accurate and helpful response. If tools are not available, inform the user that you cannot perform the requested action at the moment.' %}
|
| 4 |
+
|
| 5 |
+
{#- Begin of sequence token. #}
|
| 6 |
+
{{- bos_token }}
|
| 7 |
+
|
| 8 |
+
{#- Handle system prompt if it exists. #}
|
| 9 |
+
{#- System prompt supports text content or text chunks. #}
|
| 10 |
+
{%- if messages[0]['role'] == 'system' %}
|
| 11 |
+
{{- '[SYSTEM_PROMPT]' -}}
|
| 12 |
+
{%- if messages[0]['content'] is string %}
|
| 13 |
+
{{- messages[0]['content'] -}}
|
| 14 |
+
{%- else %}
|
| 15 |
+
{%- for block in messages[0]['content'] %}
|
| 16 |
+
{%- if block['type'] == 'text' %}
|
| 17 |
+
{{- block['text'] }}
|
| 18 |
+
{%- else %}
|
| 19 |
+
{{- raise_exception('Only text chunks are supported in system message contents.') }}
|
| 20 |
+
{%- endif %}
|
| 21 |
+
{%- endfor %}
|
| 22 |
+
{%- endif %}
|
| 23 |
+
{{- '[/SYSTEM_PROMPT]' -}}
|
| 24 |
+
{%- set loop_messages = messages[1:] %}
|
| 25 |
+
{%- else %}
|
| 26 |
+
{%- set loop_messages = messages %}
|
| 27 |
+
{%- if default_system_message != '' %}
|
| 28 |
+
{{- '[SYSTEM_PROMPT]' + default_system_message + '[/SYSTEM_PROMPT]' }}
|
| 29 |
+
{%- endif %}
|
| 30 |
+
{%- endif %}
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
{#- Tools definition #}
|
| 34 |
+
{%- set tools_definition = '' %}
|
| 35 |
+
{%- set has_tools = false %}
|
| 36 |
+
{%- if tools is defined and tools is not none and tools|length > 0 %}
|
| 37 |
+
{%- set has_tools = true %}
|
| 38 |
+
{%- set tools_definition = '[AVAILABLE_TOOLS]' + (tools| tojson) + '[/AVAILABLE_TOOLS]' %}
|
| 39 |
+
{{- tools_definition }}
|
| 40 |
+
{%- endif %}
|
| 41 |
+
|
| 42 |
+
{#- Checks for alternating user/assistant messages. #}
|
| 43 |
+
{%- set ns = namespace(index=0) %}
|
| 44 |
+
{%- for message in loop_messages %}
|
| 45 |
+
{%- if message.role == 'user' or (message.role == 'assistant' and (message.tool_calls is not defined or message.tool_calls is none or message.tool_calls | length == 0)) %}
|
| 46 |
+
{%- if (message['role'] == 'user') != (ns.index % 2 == 0) %}
|
| 47 |
+
{{- raise_exception('After the optional system message, conversation roles must alternate user and assistant roles except for tool calls and results.') }}
|
| 48 |
+
{%- endif %}
|
| 49 |
+
{%- set ns.index = ns.index + 1 %}
|
| 50 |
+
{%- endif %}
|
| 51 |
+
{%- endfor %}
|
| 52 |
+
|
| 53 |
+
{#- Handle conversation messages. #}
|
| 54 |
+
{%- for message in loop_messages %}
|
| 55 |
+
|
| 56 |
+
{#- User messages supports text content or text and image chunks. #}
|
| 57 |
+
{%- if message['role'] == 'user' %}
|
| 58 |
+
{%- if message['content'] is string %}
|
| 59 |
+
{{- '[INST]' + message['content'] + '[/INST]' }}
|
| 60 |
+
{%- elif message['content'] | length > 0 %}
|
| 61 |
+
{{- '[INST]' }}
|
| 62 |
+
{%- if message['content'] | length == 2 %}
|
| 63 |
+
{%- set blocks = message['content'] | sort(attribute='type') %}
|
| 64 |
+
{%- else %}
|
| 65 |
+
{%- set blocks = message['content'] %}
|
| 66 |
+
{%- endif %}
|
| 67 |
+
{%- for block in blocks %}
|
| 68 |
+
{%- if block['type'] == 'text' %}
|
| 69 |
+
{{- block['text'] }}
|
| 70 |
+
{%- elif block['type'] in ['image', 'image_url'] %}
|
| 71 |
+
{{- '[IMG]' }}
|
| 72 |
+
{%- else %}
|
| 73 |
+
{{- raise_exception('Only text, image and image_url chunks are supported in user message content.') }}
|
| 74 |
+
{%- endif %}
|
| 75 |
+
{%- endfor %}
|
| 76 |
+
{{- '[/INST]' }}
|
| 77 |
+
{%- else %}
|
| 78 |
+
{{- raise_exception('User message must have a string or a list of chunks in content') }}
|
| 79 |
+
{%- endif %}
|
| 80 |
+
|
| 81 |
+
{#- Assistant messages supports text content or text and image chunks. #}
|
| 82 |
+
{%- elif message['role'] == 'assistant' %}
|
| 83 |
+
|
| 84 |
+
{%- if message['content'] is string %}
|
| 85 |
+
{{- message['content'] }}
|
| 86 |
+
{%- elif message['content'] is iterable and message['content'] | length > 0 %}
|
| 87 |
+
{%- for block in message['content'] %}
|
| 88 |
+
{%- if block['type'] == 'text' %}
|
| 89 |
+
{{- block['text'] }}
|
| 90 |
+
{%- else %}
|
| 91 |
+
{{- raise_exception('Only text chunks are supported in assistant message contents.') }}
|
| 92 |
+
{%- endif %}
|
| 93 |
+
{%- endfor %}
|
| 94 |
+
{%- endif %}
|
| 95 |
+
|
| 96 |
+
{%- if message['tool_calls'] is defined and message['tool_calls'] is not none and message['tool_calls']|length > 0 %}
|
| 97 |
+
{%- for tool in message['tool_calls'] %}
|
| 98 |
+
{%- set arguments = tool['function']['arguments'] %}
|
| 99 |
+
{%- if arguments is not string %}
|
| 100 |
+
{%- set arguments = arguments|tojson|safe %}
|
| 101 |
+
{%- elif arguments == '' %}
|
| 102 |
+
{%- set arguments = '{}' %}
|
| 103 |
+
{%- endif %}
|
| 104 |
+
{{- '[TOOL_CALLS]' + tool['function']['name'] + '[ARGS]' + arguments }}
|
| 105 |
+
{%- endfor %}
|
| 106 |
+
{%- endif %}
|
| 107 |
+
|
| 108 |
+
{#- End of sequence token for each assistant messages. #}
|
| 109 |
+
{{- eos_token }}
|
| 110 |
+
|
| 111 |
+
{#- Tool messages only supports text content. #}
|
| 112 |
+
{%- elif message['role'] == 'tool' %}
|
| 113 |
+
{{- '[TOOL_RESULTS]' + message['content']|string + '[/TOOL_RESULTS]' }}
|
| 114 |
+
|
| 115 |
+
{#- Raise exception for unsupported roles. #}
|
| 116 |
+
{%- else %}
|
| 117 |
+
{{- raise_exception('Only user, assistant and tool roles are supported, got ' + message['role']) }}
|
| 118 |
+
{%- endif %}
|
| 119 |
+
{%- endfor %}
|
| 120 |
+
|
| 121 |
+
{#- Copyright 2025-present Unsloth. Apache 2.0 License. #}
|
config.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"Mistral3ForConditionalGeneration"
|
| 4 |
+
],
|
| 5 |
+
"bos_token_id": 1,
|
| 6 |
+
"dtype": "float16",
|
| 7 |
+
"eos_token_id": 2,
|
| 8 |
+
"image_token_index": 10,
|
| 9 |
+
"model_name": "unsloth/ministral-3-8b-base-2512",
|
| 10 |
+
"model_type": "mistral3",
|
| 11 |
+
"multimodal_projector_bias": false,
|
| 12 |
+
"pad_token_id": 11,
|
| 13 |
+
"projector_hidden_act": "gelu",
|
| 14 |
+
"spatial_merge_size": 2,
|
| 15 |
+
"text_config": {
|
| 16 |
+
"attention_dropout": 0.0,
|
| 17 |
+
"bos_token_id": 1,
|
| 18 |
+
"dtype": "float16",
|
| 19 |
+
"eos_token_id": 2,
|
| 20 |
+
"head_dim": 128,
|
| 21 |
+
"hidden_act": "silu",
|
| 22 |
+
"hidden_size": 4096,
|
| 23 |
+
"initializer_range": 0.02,
|
| 24 |
+
"intermediate_size": 14336,
|
| 25 |
+
"max_position_embeddings": 262144,
|
| 26 |
+
"model_type": "ministral3",
|
| 27 |
+
"num_attention_heads": 32,
|
| 28 |
+
"num_hidden_layers": 34,
|
| 29 |
+
"num_key_value_heads": 8,
|
| 30 |
+
"pad_token_id": 11,
|
| 31 |
+
"rms_norm_eps": 1e-05,
|
| 32 |
+
"rope_parameters": {
|
| 33 |
+
"beta_fast": 32.0,
|
| 34 |
+
"beta_slow": 1.0,
|
| 35 |
+
"factor": 16.0,
|
| 36 |
+
"llama_4_scaling_beta": 0.1,
|
| 37 |
+
"mscale": 1.0,
|
| 38 |
+
"mscale_all_dim": 1.0,
|
| 39 |
+
"original_max_position_embeddings": 16384,
|
| 40 |
+
"rope_theta": 1000000.0,
|
| 41 |
+
"rope_type": "yarn",
|
| 42 |
+
"type": "yarn"
|
| 43 |
+
},
|
| 44 |
+
"sliding_window": null,
|
| 45 |
+
"tie_word_embeddings": false,
|
| 46 |
+
"use_cache": true,
|
| 47 |
+
"vocab_size": 131072
|
| 48 |
+
},
|
| 49 |
+
"tie_word_embeddings": false,
|
| 50 |
+
"transformers_version": "5.5.0",
|
| 51 |
+
"unsloth_fixed": true,
|
| 52 |
+
"unsloth_version": "2026.5.5",
|
| 53 |
+
"vision_config": {
|
| 54 |
+
"attention_dropout": 0.0,
|
| 55 |
+
"dtype": "float16",
|
| 56 |
+
"head_dim": 64,
|
| 57 |
+
"hidden_act": "silu",
|
| 58 |
+
"hidden_size": 1024,
|
| 59 |
+
"image_size": 1540,
|
| 60 |
+
"initializer_range": 0.02,
|
| 61 |
+
"intermediate_size": 4096,
|
| 62 |
+
"model_type": "pixtral",
|
| 63 |
+
"num_attention_heads": 16,
|
| 64 |
+
"num_channels": 3,
|
| 65 |
+
"num_hidden_layers": 24,
|
| 66 |
+
"patch_size": 14,
|
| 67 |
+
"rope_parameters": {
|
| 68 |
+
"rope_theta": 10000.0,
|
| 69 |
+
"rope_type": "default"
|
| 70 |
+
}
|
| 71 |
+
},
|
| 72 |
+
"vision_feature_layer": -1
|
| 73 |
+
}
|
dfk_hero_banner.png
ADDED
|
Git LFS Details
|
generation_config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token_id": 1,
|
| 3 |
+
"eos_token_id": 2,
|
| 4 |
+
"max_length": 262144,
|
| 5 |
+
"pad_token_id": 11,
|
| 6 |
+
"transformers_version": "5.5.0"
|
| 7 |
+
}
|
metrics.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cls_accuracy": 0.9426699426699426,
|
| 3 |
+
"cls_precision_macro": 0.9207548385640022,
|
| 4 |
+
"cls_recall_macro": 0.9124577987183564,
|
| 5 |
+
"cls_f1_macro": 0.9163200926370609,
|
| 6 |
+
"cls_precision_weighted": 0.9430469381412777,
|
| 7 |
+
"cls_recall_weighted": 0.9426699426699426,
|
| 8 |
+
"cls_f1_weighted": 0.9425727615998175,
|
| 9 |
+
"cls_disinformasi_precision": 0.9460916442048517,
|
| 10 |
+
"cls_disinformasi_recall": 0.8954081632653061,
|
| 11 |
+
"cls_disinformasi_f1": 0.9200524246395806,
|
| 12 |
+
"cls_disinformasi_support": 392,
|
| 13 |
+
"cls_fitnah_precision": 0.8215962441314554,
|
| 14 |
+
"cls_fitnah_recall": 0.8215962441314554,
|
| 15 |
+
"cls_fitnah_f1": 0.8215962441314554,
|
| 16 |
+
"cls_fitnah_support": 213,
|
| 17 |
+
"cls_netral_precision": 0.9365079365079365,
|
| 18 |
+
"cls_netral_recall": 0.9731958762886598,
|
| 19 |
+
"cls_netral_f1": 0.9544994944388271,
|
| 20 |
+
"cls_netral_support": 970,
|
| 21 |
+
"cls_ujaran_kebencian_precision": 0.9788235294117648,
|
| 22 |
+
"cls_ujaran_kebencian_recall": 0.9596309111880046,
|
| 23 |
+
"cls_ujaran_kebencian_f1": 0.9691322073383809,
|
| 24 |
+
"cls_ujaran_kebencian_support": 867,
|
| 25 |
+
"bertscore_precision": 0.8043486475944519,
|
| 26 |
+
"bertscore_recall": 0.8009513020515442,
|
| 27 |
+
"bertscore_f1": 0.8023340702056885
|
| 28 |
+
}
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:577575622324b2e099e2648be26bdeb5e5815ffe66d7004e9e3ddbf421db6bf1
|
| 3 |
+
size 17078110
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": null,
|
| 3 |
+
"backend": "tokenizers",
|
| 4 |
+
"bos_token": "<s>",
|
| 5 |
+
"clean_up_tokenization_spaces": false,
|
| 6 |
+
"eos_token": "</s>",
|
| 7 |
+
"extra_special_tokens": [],
|
| 8 |
+
"is_local": false,
|
| 9 |
+
"model_max_length": 262144,
|
| 10 |
+
"model_specific_special_tokens": {},
|
| 11 |
+
"pad_token": "<pad>",
|
| 12 |
+
"padding_side": "left",
|
| 13 |
+
"processor_class": "PixtralProcessor",
|
| 14 |
+
"tokenizer_class": "TokenizersBackend",
|
| 15 |
+
"unk_token": "<unk>",
|
| 16 |
+
"use_default_system_prompt": false
|
| 17 |
+
}
|