Kartu model — dokumen ITL-KAP · revisi 2026.1

Kartu model dan kapabilitas teknis.

Enam bidang kerja. Tiap bidang dinyatakan lewat kerangka kerja yang dipakai, format model yang diserahkan, ukuran berkas yang benar-benar terkirim, metrik yang diukur, perangkat yang menjadi sasaran pengujian, dan satu cuplikan integrasi.

01–06

Enam kartu model

Angka tolok ukur lintas model ada pada beranda; harga per paket pada daftar harga layanan.

ITL-01

Vision & OCR on-device

Pengenalan teks dan objek dari kamera atau berkas gambar. Seluruh inferensi berjalan di sisi klien; citra pengguna tidak dikirim ke server mana pun. Dipakai untuk digitalisasi naskah, pembacaan aksara, dan pencatatan lapangan tanpa jaringan.

Kerangka kerja
Tesseract.js 5 di atas WebAssembly untuk pengenalan teks; TensorFlow.js 4 dengan backend WebGL dan fallback WASM untuk klasifikasi objek. Prapemrosesan: koreksi perspektif empat titik, deskew berbasis transformasi Hough, normalisasi kontras adaptif, binarisasi Otsu.
Format model
model.json + shard .bin (TF.js GraphModel) · aksara .traineddata
Ukuran terkirim
6,1 MB setelah kuantisasi INT8; acuan FP32 22,6 MB. Latensi p95 terukur 412 ms.
Perangkat target
Peramban desktop modern dan Android kelas menengah dengan RAM 4 GB. Luring penuh setelah unduhan pertama melalui service worker.
Metrik evaluasi
Character Error Rate dan Word Error Rate untuk teks; presisi, recall, dan F1 per kelas untuk deteksi objek. Terukur 91,4% pada ukuran 1 − CER.
Keluaran
Modul inferensi, berkas model, himpunan uji beranotasi, dan laporan akurasi per kelas beserta daftar kegagalan yang diketahui.
ocr-aksara.jsJavaScript
import { createWorker } from "tesseract.js";

// Bobot dan data aksara dimuat sekali, lalu disimpan di Cache Storage.
const worker = await createWorker("jav", 1, {
  workerPath: "/wasm/tesseract-worker.min.js",
  langPath: "/model/traineddata",
});
await worker.setParameters({ tessedit_pageseg_mode: "6" });
const { data } = await worker.recognize(await deskew(kanvas));
render(data.text, data.confidence);
ITL-02

Classifier visual on-device

Klasifikasi citra untuk domain sempit: motif kain, ragam artefak, jenis tanaman, varian bangunan. Model diperkecil sampai muat dikirim lewat jaringan seluler, lalu dijalankan tanpa panggilan server.

Arsitektur dan runtime
MobileNetV3-Small dengan transfer learning; EfficientNet-Lite0 bila jumlah kelas melewati lima puluh. Dijalankan lewat TensorFlow.js atau ONNX Runtime Web dengan WebAssembly SIMD dan multi-thread.
Format model
.onnx opset 17 atau TF.js GraphModel · kuantisasi dinamis INT8
Ukuran terkirim
8,4 MB untuk klasifikator motif dan 12,9 MB untuk klasifikator artefak. Latensi p95 terukur 178 ms dan 264 ms.
Perangkat target
Peramban seluler dan desktop; tanpa GPU khusus, tanpa server inferensi. Anggaran memori puncak di bawah 320 MB.
Metrik evaluasi
Akurasi top-1 dan top-3, macro F1, dan matriks kekeliruan. Ambang penerimaan top-1 minimum 80% pada himpunan uji terpisah; terukur 88,2% dan 84,7%.
Keluaran
Bobot terkuantisasi, skrip pelatihan, kartu model berisi batasan yang diketahui, dan laporan evaluasi per kelas.
klasifikasi-motif.jsJavaScript
import * as ort from "onnxruntime-web";

ort.env.wasm.simd = true;
ort.env.wasm.numThreads = 4;

const sesi = await ort.InferenceSession.create("/model/motif-int8.onnx");
const x = new ort.Tensor("float32", praproses(bingkai, 224), [1, 3, 224, 224]);
const { logits } = await sesi.run({ input: x });
const teratas = topK(softmax(logits.data), 3);
ITL-03

Mesin pembelajaran adaptif

Penjadwalan ulangan berbasis bukti untuk produk edukasi. Sistem menghitung kapan satu unit materi harus diulang agar tetap teringat, dan berhenti mengulang unit yang sudah dikuasai.

Algoritma
FSRS dengan parameter yang dioptimalkan ulang dari log ulangan pengguna sesungguhnya; SM-2 dipakai bila diminta implementasi ringkas. Skor penguasaan per unit meluruh terhadap waktu, dengan pemisahan antara kekeliruan baru dan kekeliruan berulang.
Format parameter
parameter FSRS 17 nilai (JSON) · skema kartu dan log ulangan PostgreSQL
Antarmuka
GET /jadwal · POST /ulangan · POST /kalibrasi · GET /penguasaan
Perangkat target
Aplikasi web progresif. Sesi belajar tetap berjalan tanpa jaringan memakai IndexedDB, dengan rekonsiliasi per kartu saat perangkat kembali daring.
Metrik evaluasi
Retensi terukur pada interval 1, 7, dan 30 hari; tingkat penyelesaian sesi; serta kalibrasi prediksi memakai log-loss terhadap hasil ulangan sesungguhnya.
Keluaran
Pustaka penjadwalan, skema basis data, dokumentasi API, dan dasbor pemantauan retensi.
jadwal.tsTypeScript
import { fsrs, Rating } from "@/lib/fsrs";

// Satu penilaian pengguna menentukan tanggal ulangan berikutnya.
export function jadwalkan(kartu: Kartu, nilai: Rating, saatIni: Date) {
  const hasil = fsrs(PARAM_TERKALIBRASI).repeat(kartu, saatIni);
  const berikut = hasil[nilai].card;
  return { jatuhTempo: berikut.due, stabilitas: berikut.stability };
}
ITL-04

Core platform data & integrasi LLM

Lapisan aplikasi tempat model dipasang: basis data, autentikasi, API, pencarian, dan integrasi model bahasa. Bagian ini yang membuat model menjadi produk, bukan berhenti sebagai notebook percobaan.

Kerangka kerja
Next.js 15 App Router dengan TypeScript mode ketat; Route Handlers untuk seluruh endpoint. Pemanggilan LLM terkelola dengan pembatasan laju, penyaringan masukan, penanganan gagal berjenjang, dan pencatatan biaya per permintaan.
Basis data
PostgreSQL melalui Supabase, dengan Row Level Security aktif dan migrasi berversi.
Format indeks
pgvector HNSW · 768–1536 dimensi · m=16 · ef_construction=200
Perangkat target
Peramban dan klien seluler; render sisi server untuk halaman publik agar terbaca mesin pengindeks. Model embedding varian ringan dapat dijalankan luring di peramban.
Metrik evaluasi
Latensi persentil ke-95 tiap endpoint, recall@10 pada himpunan kueri berlabel, dan biaya per seribu permintaan. Recall@10 terukur 86,5% pada varian embedding luring.
Keluaran
Repositori aplikasi, skema basis data, dokumentasi API, dan konfigurasi lingkungan produksi.
app/api/cari/route.tsTypeScript
import { cariHibrida } from "@/lib/pencarian";

// Gabungan pencocokan leksikal dan kemiripan kosinus pada indeks HNSW.
export async function POST(req: Request) {
  const { kueri } = await req.json();
  const vektor = await embed(kueri, 768);
  const hasil = await cariHibrida(kueri, vektor, { batas: 10, ambang: 0.62 });
  return Response.json({ hasil, dimensi: 768 });
}
ITL-05

Terjemahan neural bahasa daerah

Penerjemahan mesin untuk bahasa dengan sumber daya terbatas. Titik beratnya pada mutu korpus paralel; model hanya sebaik pasangan kalimat yang menjadi bahan latihnya.

Model dasar
NLLB-200 varian distilled 600M. Penyetelan penuh untuk korpus besar, atau adaptor LoRA saat anggaran komputasi terbatas. Tokenisasi SentencePiece, dengan penambahan token bahasa baru bila kode bahasa belum ada pada model dasar.
Format model
safetensors + adaptor LoRA · varian CTranslate2 INT8 untuk penyajian
Data
Korpus paralel tersegmentasi per kalimat, penyelarasan yang diperiksa manusia, pembuangan duplikat, dan pemisahan himpunan uji sebelum pelatihan dimulai.
Perangkat target
Endpoint inferensi terkontainer. Model sebesar ini tidak dijalankan di peramban; batas itu dinyatakan terbuka, bukan disembunyikan.
Metrik evaluasi
sacreBLEU dan chrF++ pada himpunan uji tertahan, ditambah penilaian manusia untuk adekuasi dan kelancaran pada skala satu sampai lima. Korpus di bawah 5.000 pasang kalimat menghasilkan model berstatus eksperimental.
Keluaran
Bobot hasil penyetelan, korpus terkurasi, skrip evaluasi, laporan skor, dan daftar batas penerapan.
sanding.pyPython
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tok = AutoTokenizer.from_pretrained(JALUR, src_lang="ind_Latn")
model = AutoModelForSeq2SeqLM.from_pretrained(JALUR)

x = tok(kalimat, return_tensors="pt", truncation=True, max_length=192)
y = model.generate(**x, num_beams=4,
                   forced_bos_token_id=tok.convert_tokens_to_ids("jav_Latn"))
print(tok.batch_decode(y, skip_special_tokens=True))
ITL-06

Pipeline AI & MLOps

Pekerjaan yang membuat hasil dapat diulang: versi dataset, pengujian otomatis, dan jalur rilis yang sama dari mesin pengembang sampai produksi.

Pipeline data
Penyerapan, deduplikasi dengan perceptual hash, anotasi berversi, dan pemisahan latih–validasi–uji yang stabil antar iterasi sehingga angka lama tetap dapat direproduksi.
Format ekspor
CSV + JSON berlisensi terbuka · kamus data · ringkasan statistik · catatan asal usul
Gerbang mutu
Rilis ditahan otomatis bila macro F1 turun lebih dari 1,5 poin terhadap acuan, atau bila ukuran berkas model melewati anggaran yang disepakati.
Perangkat target
Integrasi berkelanjutan berbasis kontainer; artefak model disimpan dengan penanda versi dan tautan ke commit yang menghasilkannya.
Metrik evaluasi
Uji unit pada transformasi data, uji regresi metrik model, dan reproduksi hasil dari commit yang sama pada mesin bersih.
Keluaran
Repositori pipeline, artefak dataset, berkas konfigurasi, dan dokumentasi operasi termasuk prosedur pengembalian versi.
gerbang_mutu.pyPython
import json, sys

acuan = json.load(open("metrik/acuan.json"))
kandidat = json.load(open("metrik/kandidat.json"))

for nama, ambang in AMBANG_PENURUNAN.items():
    if acuan[nama] - kandidat[nama] > ambang:
        sys.exit("rilis ditahan: " + nama + " turun melewati ambang")
print("gerbang mutu lolos", kandidat)
07

Catatan pengukuran

Berlaku untuk seluruh angka pada halaman ini.

  • Seluruh metrik diukur pada himpunan uji yang dipisahkan sebelum pelatihan dan tidak pernah dipakai untuk menyetel hiperparameter.
  • Waktu inferensi diukur pada perangkat fisik kelas menengah, bukan pada emulator atau mesin pengembang. Protokol pengukuran sama untuk seluruh model.
  • Kartu model mencantumkan kelas yang paling sering keliru serta kondisi pencahayaan atau tulisan yang menurunkan hasil.
  • Ukuran model yang disebutkan adalah besar berkas yang benar-benar diunduh peramban, bukan ukuran checkpoint sebelum kuantisasi.
  • Bila metrik tidak tercapai, iterasi tambahan disepakati terpisah dan tarifnya mengikuti tarif satuan.