spuuntries
docs: tidy up metrics
521a01e
|
Raw
History Blame Contribute Delete
27.6 kB
---
base_model:
- aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification
- aitf-komdigi/KomdigiITS-8B-DFK-TextClassification
library_name: transformers
pipeline_tag: text-generation
tags:
- merge
- slerp
- dfk-detection
- vlm
- text-classification
- indonesian
- multimodal
- image-classification
- content-moderation
- mistral3
---
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');
.fo {
--bg: #faf8f5;
--surface: #ffffff;
--card: #ffffff;
--tint: #f5f0eb;
--edge: #e8e0d6;
--rule: #d8cec4;
--text: #5c5060;
--dim: #998da0;
--bright: #3a2e40;
--cream: #f8f4ef;
--warm: #c48a6a;
--warm2: #daa88a;
--rose: #c8909c;
--rose2: #e0b0ba;
--sage: #7aac96;
--sage2: #9cc8b4;
--w-glow: rgba(196,138,106,0.06);
--s-glow: rgba(122,172,150,0.06);
--r-glow: rgba(200,144,156,0.05);
--shadow: rgba(90,70,80,0.06);
--mono: 'JetBrains Mono', monospace;
--sans: 'Inter', sans-serif;
--serif: 'Playfair Display', Georgia, serif;
font-family: var(--sans);
color: var(--text);
max-width: 860px;
margin: 0 auto;
padding: 0 0 64px;
line-height: 1.75;
font-size: 0.95rem;
background:
radial-gradient(ellipse at 30% 0%, rgba(196,138,106,0.04) 0%, transparent 50%),
radial-gradient(ellipse at 70% 0%, rgba(122,172,150,0.04) 0%, transparent 50%),
var(--bg);
}
/* ── Hero ── */
.fo-hero { position: relative; overflow: hidden; border-radius: 0 0 12px 12px; }
.fo-hero img {
display: block; width: 100%; height: 300px;
object-fit: cover; margin: 0;
}
.fo-ident {
position: absolute; bottom: 0; left: 0; right: 0;
padding: 90px 44px 32px;
background: linear-gradient(to top,
rgba(58,46,64,0.88) 0%,
rgba(58,46,64,0.6) 40%,
transparent 100%);
}
.fo-name {
font-family: var(--serif);
font-size: 2.6rem; font-weight: 800;
color: #fff; letter-spacing: 0.01em;
line-height: 1.08; margin: 0 0 8px;
text-shadow: 0 2px 16px rgba(0,0,0,0.25);
}
.fo-tagline {
font-family: var(--mono); font-size: 0.58rem;
color: var(--rose2); letter-spacing: 0.16em;
text-transform: uppercase; display: block;
}
.fo-badge {
display: inline-flex; align-items: center; gap: 7px;
margin-top: 12px; padding: 4px 12px;
border: 1px solid rgba(255,255,255,0.2);
border-radius: 20px;
background: rgba(122,172,150,0.15);
font-family: var(--mono); font-size: 0.52rem; font-weight: 600;
letter-spacing: 0.12em; text-transform: uppercase; color: var(--sage2);
backdrop-filter: blur(4px);
}
.fo-badge::before {
content: '\2726'; font-size: 0.5rem; color: var(--rose2); opacity: 0.8;
}
/* ── Section ── */
.fo-section { padding: 0; }
.fo-shead {
display: flex; align-items: baseline; gap: 14px;
padding: 24px 44px 0; margin-bottom: 24px;
}
.fo-snum {
font-family: var(--mono); font-size: 0.58rem; font-weight: 600;
color: var(--rose); letter-spacing: 0.08em;
flex-shrink: 0; opacity: 0.7;
}
.fo-stitle {
font-family: var(--serif); font-size: 1.35rem; font-weight: 700;
color: var(--bright); letter-spacing: 0.01em;
}
.fo-sbody { padding: 0 44px 40px; }
.fo-sbody p { margin: 0 0 14px; font-size: 0.93rem; }
.fo-sbody p:last-child { margin-bottom: 0; }
.fo strong { color: inherit !important; font-weight: 700 !important; }
/* ── Sub-headings ── */
.fo-sub {
font-family: var(--serif) !important;
color: var(--bright) !important; font-size: 1.02rem !important;
margin: 22px 0 12px !important; padding: 0 0 6px !important;
font-weight: 700; letter-spacing: 0.01em;
border: none !important;
border-bottom: 1px solid var(--edge) !important;
}
/* ── Cards ── */
.fo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fo-card {
background: var(--card); border: 1px solid var(--edge);
border-radius: 8px; position: relative;
box-shadow: 0 2px 12px var(--shadow);
overflow: hidden;
}
.fo-card::before {
content: ''; position: absolute; top: 0; left: 0; right: 0;
height: 3px; background: linear-gradient(90deg, var(--warm), var(--rose));
}
.fo-card--sage::before { background: linear-gradient(90deg, var(--sage), var(--sage2)); }
.fo-card--muted::before { background: var(--edge); height: 2px; }
.fo-card--warn::before { background: linear-gradient(90deg, #c47a6a, #d49080); }
.fo-chead {
font-family: var(--mono); font-size: 0.58rem; font-weight: 600;
letter-spacing: 0.12em; text-transform: uppercase; color: var(--dim);
padding: 10px 16px 8px; border-bottom: 1px solid var(--edge);
background: var(--tint);
}
.fo-chead::after {
content: ' \2726'; font-size: 0.45rem; color: var(--rose); opacity: 0.45;
}
.fo-card--sage .fo-chead::after { color: var(--sage); }
.fo-row {
display: grid; grid-template-columns: 12ch 1fr; align-items: baseline;
column-gap: 8px; padding: 7px 16px;
border-bottom: 1px solid rgba(232,224,214,0.5); font-size: 0.85rem;
}
.fo-row:last-child { border-bottom: none; }
.fo-k {
font-family: var(--mono); font-size: 0.78rem; color: var(--dim);
font-weight: 500;
}
.fo-k::after { content: ':'; }
.fo-v { color: var(--bright); font-size: 0.85rem; }
.fo-row .fo-v:only-child { grid-column: 1 / -1; }
/* ── Metric cards ── */
.fo-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.fo-metric {
background: var(--card); border: 1px solid var(--edge);
border-radius: 8px; padding: 16px 10px 14px;
text-align: center; position: relative;
box-shadow: 0 2px 12px var(--shadow);
overflow: hidden;
}
.fo-metric::before {
content: ''; position: absolute; top: 0; left: 0; right: 0;
height: 3px; background: linear-gradient(90deg, var(--warm), var(--rose));
}
.fo-metric--sage::before { background: linear-gradient(90deg, var(--sage), var(--sage2)); }
.fo-mval {
font-family: var(--serif); font-size: 1.7rem; font-weight: 800;
color: var(--bright); line-height: 1; margin-bottom: 5px;
}
.fo-metric--sage .fo-mval { color: var(--sage); }
.fo-mlbl {
font-family: var(--mono); font-size: 0.5rem; font-weight: 600;
letter-spacing: 0.12em; text-transform: uppercase; color: var(--dim);
}
/* ── Note ── */
.fo-note {
border: 1px solid var(--edge); border-radius: 8px;
padding: 14px 18px; margin-top: 18px;
background: var(--tint); font-size: 0.85rem; color: var(--dim);
border-left: 3px solid var(--warm);
}
.fo-note strong {
color: var(--warm) !important; font-family: var(--mono) !important;
font-size: 0.6rem !important; letter-spacing: 0.1em !important; text-transform: uppercase !important;
}
.fo-note--sage { border-left-color: var(--sage); }
.fo-note--sage strong { color: var(--sage) !important; }
/* ── Comparison table ── */
.fo-cmp {
width: 100%; border-collapse: collapse;
font-size: 0.76rem; margin-bottom: 18px;
}
.fo-cmp th {
text-align: left; padding: 9px 10px;
font-family: var(--mono); font-weight: 600;
letter-spacing: 0.1em; text-transform: uppercase;
color: var(--dim); border-bottom: 2px solid var(--edge);
font-size: 0.56rem;
}
.fo-cmp td {
padding: 8px 10px; border-bottom: 1px solid var(--edge);
color: var(--text); font-family: var(--mono); font-size: 0.76rem;
}
.fo-cmp tr:last-child td { border-bottom: none; }
.fo-cmp-warm { color: var(--warm) !important; font-weight: 600; }
.fo-cmp-sage { color: var(--sage) !important; font-weight: 700; }
.fo-cmp-dim { color: var(--dim) !important; }
.fo-cmp-row-merge td { background: rgba(122,172,150,0.06); }
/* ── Links ── */
.fo a { color: var(--bright); text-decoration: none; border-bottom: 1px solid var(--rule); }
.fo a:hover { color: var(--warm); border-bottom-color: var(--warm); }
/* ── Dropdown ── */
.fo details {
border: 1px solid var(--edge); border-radius: 8px;
margin-top: 18px; background: var(--card);
box-shadow: 0 2px 12px var(--shadow);
overflow: hidden;
}
.fo summary {
list-style: none; padding: 11px 16px; cursor: pointer;
font-family: var(--mono); font-size: 0.64rem; font-weight: 600;
letter-spacing: 0.1em; text-transform: uppercase; color: var(--dim);
user-select: none; display: flex; align-items: center; gap: 8px;
background: var(--tint);
}
.fo summary::-webkit-details-marker { display: none; }
.fo summary::before {
content: '+'; color: var(--rose); font-size: 0.85rem; line-height: 1; flex-shrink: 0;
}
.fo details[open] summary::before { content: '\2212'; }
.fo summary:hover { color: var(--bright); }
.fo details.fo-det--sage summary::before { color: var(--sage); }
.fo-drop { padding: 18px 16px; border-top: 1px solid var(--edge); }
.fo-drop p { margin: 0 0 14px; font-size: 0.88rem; }
/* ── Code ── */
.fo pre {
background: #2e2834; border: 1px solid var(--edge);
border-radius: 6px;
padding: 14px 16px; overflow-x: auto;
font-family: var(--mono); font-size: 0.71rem;
line-height: 1.65; color: #d8d0e0; margin: 0 0 18px;
}
.fo pre:last-child { margin-bottom: 0; }
.fo pre code { background: none !important; color: inherit !important; padding: 0 !important; border: none !important; }
.fo code {
font-family: var(--mono) !important; font-size: 0.82em !important; color: var(--warm) !important;
background: var(--w-glow) !important; padding: 2px 5px !important; border-radius: 3px !important;
border: 1px solid rgba(196,138,106,0.12) !important;
}
/* ── Separator ── */
.fo-sep {
display: flex; align-items: center; justify-content: center;
padding: 6px 44px; color: var(--rose); font-size: 0.55rem;
letter-spacing: 0.4em; opacity: 0.4;
}
.fo-sep::before, .fo-sep::after {
content: ''; flex: 1; height: 1px;
background: linear-gradient(90deg, transparent, var(--edge), transparent);
}
.fo-sep::before { margin-right: 14px; }
.fo-sep::after { margin-left: 14px; }
/* ── Section divider ── */
.fo-div {
height: 1px; margin: 0 44px;
background: linear-gradient(90deg, transparent, var(--edge), transparent);
}
/* ── Mobile ── */
@media (max-width: 640px) {
.fo-hero img { height: 200px; }
.fo-name { font-size: 1.9rem; }
.fo-ident { padding: 70px 24px 24px; }
.fo-shead { padding: 20px 24px 0; }
.fo-sbody { padding: 0 24px 32px; }
.fo-grid { grid-template-columns: 1fr; }
.fo-metrics { grid-template-columns: repeat(2, 1fr); }
.fo-row { grid-template-columns: 1fr; gap: 2px; }
.fo-k::after { content: ''; }
.fo-sep, .fo-div { margin-left: 24px; margin-right: 24px; padding-left: 24px; padding-right: 24px; }
}
</style>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>KomdigiITS-8B-DFK-MergedClassification</title>
</head>
<body>
<div class="fo">
<div class="fo-hero">
<img src="dfk_hero_banner.png" alt="image">
<div class="fo-ident">
<h1 class="fo-name">KomdigiITS-8B-DFK<br>Merged Classification</h1>
<span class="fo-tagline">Ministral-3-8B &middot; SLERP Merge &middot; Multimodal + Text</span>
<div class="fo-badge">SLERP &middot; 0.30 multimodal &middot; 0.70 text</div>
</div>
</div>
<div class="fo-sep">&#10038;</div>
<!-- ─── 01 Β· Overview ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">01</span>
<span class="fo-stitle">Overview</span>
</div>
<div class="fo-sbody">
<p>A <strong>SLERP-merged</strong> full model combining two specialized LoRA adapters into a single unified checkpoint. The merge blends the <a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification">8B Multimodal Multimodal classifier</a> with the <a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-TextClassification">text-only DFK classifier</a>, both built on <a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-CPT">KomdigiITS-8B-DFK-CPT</a> (Ministral-3-8B-Base-2512).</p>
<p>The result is a model that operates in <strong>two modes</strong>: image-based multimodal classification and text-only classification &mdash; strong performance on both tasks from a single set of weights.</p>
<div class="fo-note">
<strong>&#10038; Note:</strong> Best SLERP blend from a parameter sweep (<code>w=0.30</code> multimodal, <code>w=0.70</code> text). Parent adapters were merged into base model weights, producing a standalone model with no adapter overhead.
</div>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 02 Β· Model Details ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">02</span>
<span class="fo-stitle">Model Details</span>
</div>
<div class="fo-sbody">
<div class="fo-grid">
<div class="fo-card">
<div class="fo-chead">Identity</div>
<div class="fo-row"><span class="fo-k">Developed</span><span class="fo-v">DFK Tim 1 & Tim 3 ITS</span></div>
<div class="fo-row"><span class="fo-k">Type</span><span class="fo-v">Merged model (SLERP)</span></div>
<div class="fo-row"><span class="fo-k">Language</span><span class="fo-v">Indonesian</span></div>
<div class="fo-row"><span class="fo-k">Modes</span><span class="fo-v">Multimodal + Text-only</span></div>
</div>
<div class="fo-card fo-card--sage">
<div class="fo-chead">Architecture</div>
<div class="fo-row"><span class="fo-k">Base</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-CPT">KomdigiITS-8B-DFK-CPT</a></span></div>
<div class="fo-row"><span class="fo-k">Arch</span><span class="fo-v">Mistral3ForConditionalGeneration</span></div>
<div class="fo-row"><span class="fo-k">Params</span><span class="fo-v">8B (full merged weights)</span></div>
<div class="fo-row"><span class="fo-k">Precision</span><span class="fo-v">float16</span></div>
</div>
</div>
<h3 class="fo-sub">Parent Models</h3>
<div class="fo-grid">
<div class="fo-card">
<div class="fo-chead">Multimodal Parent &middot; w=0.30</div>
<div class="fo-row"><span class="fo-k">Model</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification">8B-DFK-MultimodalClassification</a></span></div>
<div class="fo-row"><span class="fo-k">Task</span><span class="fo-v">Multimodal &mdash; image + text</span></div>
<div class="fo-row"><span class="fo-k">Dataset</span><span class="fo-v"><code>dfk_vlm_dataset_v3</code></span></div>
</div>
<div class="fo-card fo-card--sage">
<div class="fo-chead">Text Parent &middot; w=0.70</div>
<div class="fo-row"><span class="fo-k">Model</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-TextClassification">8B-DFK-TextClassification</a></span></div>
<div class="fo-row"><span class="fo-k">Task</span><span class="fo-v">Text-only DFK classification</span></div>
<div class="fo-row"><span class="fo-k">Dataset</span><span class="fo-v"><code>dfk_text_dataset</code></span></div>
</div>
</div>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 03 Β· Uses ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">03</span>
<span class="fo-stitle">Uses</span>
</div>
<div class="fo-sbody">
<h3 class="fo-sub">Direct Use</h3>
<div class="fo-card fo-card--muted" style="margin-bottom:14px;">
<div class="fo-row"><span class="fo-v">This model supports <strong>two input modes</strong> from a single checkpoint:</span></div>
</div>
<div class="fo-grid">
<div class="fo-card">
<div class="fo-chead">Mode 1 &middot; Multimodal</div>
<div class="fo-row"><span class="fo-v">Image-based content moderation. Given a social media screenshot with contextual metadata, classifies into 4 labels: <code>netral</code>, <code>disinformasi</code>, <code>fitnah</code>, or <code>ujaran kebencian</code>.</span></div>
</div>
<div class="fo-card fo-card--sage">
<div class="fo-chead">Mode 2 &middot; Text-Only</div>
<div class="fo-row"><span class="fo-v">Text-based DFK detection using article references. Classifies into 5 labels: <code>Fakta</code>, <code>Disinformasi</code>, <code>Fitnah</code>, <code>Ujaran Kebencian</code>, or <code>Non-DFK</code>.</span></div>
</div>
</div>
<h3 class="fo-sub">Out-of-Scope Use</h3>
<div class="fo-card fo-card--warn">
<div class="fo-row"><span class="fo-v">Not intended for general-purpose vision-language or text generation tasks. Specialized for the DFK detection pipeline &mdash; should not be used for content moderation in other languages or domains without further fine-tuning.</span></div>
</div>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 04 Β· Evaluation ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">04</span>
<span class="fo-stitle">Evaluation</span>
</div>
<div class="fo-sbody">
<p>Evaluated on held-out validation splits using greedy decoding (<code>temperature=0.0</code>) and BERTScore (<code>bert-base-multilingual-cased</code>).</p>
<h3 class="fo-sub">Multimodal Task (Image + Text)</h3>
<div class="fo-metrics">
<div class="fo-metric fo-metric--sage">
<div class="fo-mval">88.5</div>
<div class="fo-mlbl">Accuracy</div>
</div>
<div class="fo-metric">
<div class="fo-mval">89.4</div>
<div class="fo-mlbl">F1 Weighted</div>
</div>
<div class="fo-metric">
<div class="fo-mval">77.3</div>
<div class="fo-mlbl">BERTScore F1</div>
</div>
</div>
<h3 class="fo-sub">Text-Only Task</h3>
<div class="fo-metrics">
<div class="fo-metric fo-metric--sage">
<div class="fo-mval">91.0</div>
<div class="fo-mlbl">Accuracy</div>
</div>
<div class="fo-metric">
<div class="fo-mval">92.9</div>
<div class="fo-mlbl">F1 Weighted</div>
</div>
<div class="fo-metric">
<div class="fo-mval">77.6</div>
<div class="fo-mlbl">BERTScore F1</div>
</div>
</div>
<details>
<summary>Parent Model Comparison</summary>
<div class="fo-drop">
<p>The merge trades a small amount of Multimodal accuracy for a <strong>massive improvement</strong> in text-only performance &mdash; turning a Multimodal-only model into a genuinely dual-mode classifier.</p>
<table class="fo-cmp">
<thead>
<tr>
<th>Model</th>
<th>MM Acc</th>
<th>MM F1w</th>
<th>MM BERT</th>
<th>MM ROUGE</th>
<th>Text Acc</th>
<th>Text F1w</th>
<th>Text BERT</th>
<th>Text ROUGE</th>
</tr>
</thead>
<tbody>
<tr>
<td>Multimodal</td>
<td class="fo-cmp-warm">92.5</td>
<td class="fo-cmp-warm">92.3</td>
<td class="fo-cmp-warm">80.0</td>
<td class="fo-cmp-warm">38.7</td>
<td class="fo-cmp-dim">77.5</td>
<td class="fo-cmp-dim">70.8</td>
<td class="fo-cmp-dim">73.1</td>
<td class="fo-cmp-dim">19.0</td>
</tr>
<tr>
<td>Text Adapter</td>
<td class="fo-cmp-dim">1.5</td>
<td class="fo-cmp-dim">2.8</td>
<td class="fo-cmp-dim">69.6</td>
<td class="fo-cmp-dim">16.2</td>
<td class="fo-cmp-warm">84.0</td>
<td class="fo-cmp-warm">89.0</td>
<td class="fo-cmp-warm">80.7</td>
<td class="fo-cmp-warm">41.6</td>
</tr>
<tr class="fo-cmp-row-merge">
<td><strong>SLERP Merge</strong></td>
<td class="fo-cmp-sage">88.5</td>
<td class="fo-cmp-sage">89.4</td>
<td class="fo-cmp-sage">77.3</td>
<td class="fo-cmp-sage">31.6</td>
<td class="fo-cmp-sage">91.0</td>
<td class="fo-cmp-sage">92.9</td>
<td class="fo-cmp-sage">77.6</td>
<td class="fo-cmp-sage">31.5</td>
</tr>
</tbody>
</table>
<div class="fo-note fo-note--sage">
<strong>&#10038; Key takeaway:</strong> The merge <em>surpasses</em> the text adapter's own accuracy (91.0 vs 84.0) while retaining 95.7% of the Multimodal model's classification accuracy.
</div>
</div>
</details>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 05 Β· Merge Details ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">05</span>
<span class="fo-stitle">Merge Details</span>
</div>
<div class="fo-sbody">
<h3 class="fo-sub">Method</h3>
<div class="fo-card" style="margin-bottom:14px;">
<div class="fo-row"><span class="fo-k">Method</span><span class="fo-v">SLERP (Spherical Linear Interpolation)</span></div>
<div class="fo-row"><span class="fo-k">Weight</span><span class="fo-v">0.30 multimodal / 0.70 text</span></div>
<div class="fo-row"><span class="fo-k">Selection</span><span class="fo-v">Best blend from WS3 sweep</span></div>
<div class="fo-row"><span class="fo-k">Output</span><span class="fo-v">Full merged weights (no adapter)</span></div>
</div>
<h3 class="fo-sub">Process</h3>
<div class="fo-card fo-card--muted" style="margin-bottom:14px;">
<div class="fo-row"><span class="fo-v">Both parent LoRA adapters (Multimodal + text) were first merged into the base model (<code>KomdigiITS-8B-DFK-CPT</code>) to produce two full-weight checkpoints. These were then interpolated via SLERP at various weight ratios, with each blend evaluated on both Multimodal and text-only benchmarks to find the optimal trade-off.</span></div>
</div>
<h3 class="fo-sub">Label Classes</h3>
<div class="fo-grid">
<div class="fo-card">
<div class="fo-chead">Multimodal Mode &middot; 4 Classes</div>
<div class="fo-row"><span class="fo-k">Netral</span><span class="fo-v">Factual / non-DFK &mdash; no violation</span></div>
<div class="fo-row"><span class="fo-k">Disinfo</span><span class="fo-v">Claims contradicting established facts</span></div>
<div class="fo-row"><span class="fo-k">Fitnah</span><span class="fo-v">False claims targeting an individual</span></div>
<div class="fo-row"><span class="fo-k">Ujrn Kbnci</span><span class="fo-v">Hate speech targeting SARA identity</span></div>
</div>
<div class="fo-card fo-card--sage">
<div class="fo-chead">Text Mode &middot; 5 Classes</div>
<div class="fo-row"><span class="fo-k">Non-DFK</span><span class="fo-v">Content unrelated to DFK categories</span></div>
<div class="fo-row"><span class="fo-k">Fakta</span><span class="fo-v">Factual content, verified true</span></div>
<div class="fo-row"><span class="fo-k">Disinfo</span><span class="fo-v">Claims contradicting established facts</span></div>
<div class="fo-row"><span class="fo-k">Fitnah</span><span class="fo-v">False claims targeting an individual</span></div>
<div class="fo-row"><span class="fo-k">Ujrn Kbnci</span><span class="fo-v">Hate speech targeting SARA identity</span></div>
</div>
</div>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 06 Β· Input Formats ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">06</span>
<span class="fo-stitle">Input Formats</span>
</div>
<div class="fo-sbody">
<p>Both modes use the <code>ministral_3</code> chat template (<code>[INST]</code> / <code>[/INST]</code> delimiters). The default Ministral system prompt is included when no explicit system message is provided.</p>
<details>
<summary>Multimodal Mode &middot; dfk_vlm_dataset_v3</summary>
<div class="fo-drop">
<p>Image-based classification with contextual metadata. Note: the instruction and context fields are <strong>directly concatenated</strong> with no separator.</p>
<pre><code>&lt;s&gt;[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}
Klaim: {klaim}
Fakta: {fakta}[IMG][/INST]Label: {label}
Analisis: {analisis}&lt;/s&gt;</code></pre>
<h3 class="fo-sub">Input Fields</h3>
<div class="fo-card" style="margin-bottom:14px;">
<div class="fo-row"><span class="fo-k">Ringkasan</span><span class="fo-v">Content summary. Concatenation of image caption and user-provided text.</span></div>
<div class="fo-row"><span class="fo-k">Klaim</span><span class="fo-v">Core claim extracted from the content, used as a web search query for fact-checking.</span></div>
<div class="fo-row"><span class="fo-k">Fakta</span><span class="fo-v">Verification context from web search. Defaults to <code>"Tidak ditemukan sumber yang valid."</code> if none found.</span></div>
<div class="fo-row"><span class="fo-k">[IMG]</span><span class="fo-v">Screenshot of the social media post being analyzed.</span></div>
</div>
<h3 class="fo-sub">Output Fields</h3>
<div class="fo-card">
<div class="fo-row"><span class="fo-k">Label</span><span class="fo-v">One of <code>netral</code>, <code>disinformasi</code>, <code>fitnah</code>, or <code>ujaran kebencian</code>.</span></div>
<div class="fo-row"><span class="fo-k">Analisis</span><span class="fo-v">Free-form Indonesian-language reasoning for the classification.</span></div>
</div>
</div>
</details>
<details class="fo-det--sage">
<summary>Text-Only Mode &middot; dfk_text_dataset</summary>
<div class="fo-drop">
<p>Text-only classification with explicit system prompt and article references. Uses <code>merge_labels=false</code> (5 classes).</p>
<pre><code>&lt;s&gt;[SYSTEM_PROMPT]Anda adalah sistem deteksi konten DFK berbasis artikel rujukan. Tugas Anda adalah membandingkan klaim dengan artikel rujukan, lalu mengklasifikasikan teks ke dalam salah satu label: Fakta, Disinformasi, Fitnah, Ujaran Kebencian, atau Non-DFK. Jawab dengan format: Label: **NamaLabel.** penjelasan: ...[/SYSTEM_PROMPT][INST]{klaim}
Artikel Rujukan: {fakta}[/INST]Label: **{label}.** penjelasan: {analisis}&lt;/s&gt;</code></pre>
<h3 class="fo-sub">Input Fields</h3>
<div class="fo-card" style="margin-bottom:14px;">
<div class="fo-row"><span class="fo-k">Klaim</span><span class="fo-v">The claim text to be verified, from the <code>input</code> column (before <code>Artikel Rujukan:</code>).</span></div>
<div class="fo-row"><span class="fo-k">Fakta</span><span class="fo-v">Reference articles for fact-checking, from the <code>input</code> column (after <code>Artikel Rujukan:</code>).</span></div>
</div>
<h3 class="fo-sub">Output Fields</h3>
<div class="fo-card">
<div class="fo-row"><span class="fo-k">Label</span><span class="fo-v">One of <code>Fakta</code>, <code>Disinformasi</code>, <code>Fitnah</code>, <code>Ujaran Kebencian</code>, or <code>Non-DFK</code>.</span></div>
<div class="fo-row"><span class="fo-k">Penjelasan</span><span class="fo-v">Indonesian-language explanation for the classification decision.</span></div>
</div>
</div>
</details>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 07 Β· Model Sources ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">07</span>
<span class="fo-stitle">Model Sources</span>
</div>
<div class="fo-sbody">
<div class="fo-card fo-card--muted">
<div class="fo-row"><span class="fo-k">Framework</span><span class="fo-v"><a href="https://github.com/aitf-its-tim3-dfk/SITA">SITA</a></span></div>
<div class="fo-row"><span class="fo-k">Base model</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-CPT">aitf-komdigi/KomdigiITS-8B-DFK-CPT</a></span></div>
<div class="fo-row"><span class="fo-k">Multimodal parent</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-MultimodalClassification">KomdigiITS-8B-DFK-MultimodalClassification</a></span></div>
<div class="fo-row"><span class="fo-k">Text parent</span><span class="fo-v"><a href="https://huggingface.co/aitf-komdigi/KomdigiITS-8B-DFK-TextClassification">KomdigiITS-8B-DFK-TextClassification</a></span></div>
</div>
</div>
</div>
<div class="fo-div"></div>
<!-- ─── 08 Β· Framework Versions ─── -->
<div class="fo-section">
<div class="fo-shead">
<span class="fo-snum">08</span>
<span class="fo-stitle">Framework Versions</span>
</div>
<div class="fo-sbody">
<div class="fo-card fo-card--muted">
<div class="fo-row"><span class="fo-k">Transformers</span><span class="fo-v">5.5.0</span></div>
<div class="fo-row"><span class="fo-k">PyTorch</span><span class="fo-v">2.11.0+cu128</span></div>
<div class="fo-row"><span class="fo-k">Unsloth</span><span class="fo-v">2026.5.5</span></div>
</div>
</div>
</div>
</div>
</body>
</html>