Fine-tune Document AI Custom Extractor dengan Dokumenmu Sendiri
Google Cloud Document AI Custom Extractor mendukung fine-tuning menggunakan dokumen kamu sendiri — dengan data training yang jauh lebih sedikit dibanding pendekatan tradisional, dan dalam waktu yang jauh lebih singkat.
Gambaran Besarnya
Dulu, developer harus melatih model dengan ribuan sampel per document type dan butuh waktu lama untuk mencapai akurasi production-ready. Dengan generative AI, ekstraksi data bisa dilakukan dengan data training yang jauh lebih sedikit dan dalam waktu yang jauh lebih singkat. Ada tiga mode penggunaan: foundation model langsung (zero-shot), fine-tuning dengan dokumenmu, atau auto-labeling dataset.
Step-by-Step: Via Console (No-Code)
Step 1 — Buat Processor
Masuk ke Google Cloud Console → Document AI → Create Processor → pilih Custom Extractor.
Step 2 — Definisikan Schema / Label
Generative AI model menggunakan nama field dan deskripsinya untuk membentuk underlying prompt, jadi nama field bersifat semantically critical. Contoh label: invoice_number, total_amount, vendor_name.
Step 3 — Upload & Auto-Label Dokumenmu
Kamu bisa menggunakan foundation model untuk secara otomatis melabeli dokumen saat kamu mengimpornya, lalu review dan konfirmasi hasilnya di dataset. Ini yang membuat prosesnya cepat — kamu tidak perlu labeling manual dari nol.
Step 4 — Split Dataset
Gunakan opsi Auto-split, yang secara otomatis membagi dokumen menjadi 80% training set dan 20% test set.
Step 5 — Fine-tune
Di tab Build, pilih Create New Version di kotak Fine-tuning. Fine-tuning akan men-tune foundation model (direkomendasikan), sementara "Train a custom model" akan melatih model konvensional non-Generative AI.
Parameter yang bisa dikustomisasi — Training steps (antara 100–400): mengontrol seberapa sering weights dioptimasi pada batch data. Terlalu rendah → risiko underfitting; terlalu tinggi → risiko overfitting. Lebih sedikit steps = training lebih cepat.
Step 6 — Evaluate & Deploy
Bandingkan performa antar versi processor, lalu deploy versi terbaik ke endpoint.
Via API Call (Programmatic)
Trigger fine-tuning lewat REST API atau Python SDK:
REST API
POST https://us-documentai.googleapis.com/v1/projects/{PROJECT_ID}/locations/us/processors/{PROCESSOR_ID}/processorVersions:trainPython SDK
from google.api_core.client_options import ClientOptions
from google.cloud import documentai
opts = ClientOptions(api_endpoint="us-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient(client_options=opts)
# Trigger training job
operation = client.train_processor_version(
parent=f"projects/{project_id}/locations/us/processors/{processor_id}",
processor_version=documentai.ProcessorVersion(
display_name="my-fine-tuned-v1"
),
# Opsional: custom data dari GCS bucket
# input_data=documentai.TrainProcessorVersionRequest.InputData(
# training_documents=documentai.BatchDocumentsInputConfig(
# gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix="gs://my-bucket/train/")
# )
# )
)
# Tunggu training selesai (async long-running operation)
result = operation.result()
print(f"Trained version: {result.name}")Berapa Dokumen yang Dibutuhkan?
Mode | Minimum | Rekomendasi |
|---|---|---|
Fine-tune (GenAI) | 1 dokumen | 10–50 dokumen |
Custom Model (non-GenAI) | 10 train + 10 test per field | 50+ per field |
Tips Penting
Custom Document Extractor schema mendukung hingga 150 entity labels. Jika logika bisnismu butuh lebih dari 150 entitas, pertimbangkan untuk membuat beberapa processor, masing-masing menargetkan subset entitas.
Kamu bisa upgrade fine-tuned processor version ke base model yang lebih baru (misalnya dari v1.4 ke v1.5) tanpa kehilangan training data yang sudah ada.
Fine-tuning saat ini tersedia di region US dan EU saja.
You've reached the juicy part of the story.
Sign in with Google to unlock the rest — it takes 2 seconds, and we promise no spoilers in your inbox.
Free forever. No credit card. Just great reading.