Vertex AI

Vertex AI Pipelines Tutorial untuk RAG dan LLM E2E

Vertex AI pipelines tutorial ini menjelaskan langkah-langkah praktis membangun end-to-end RAG/LLM di Google Cloud Platform menggunakan Vertex AI Pipelines. Tutorial fokus pada arsitektur, implementasi komponen (data, embedding, index), otomasi training, deployment, hingga observability untuk produksi.

Mengapa Pipeline Penting untuk MLOps RAG dan LLM?

Peran pipeline dalam MLOps adalah menyatukan langkah-langkah teknis menjadi alur yang dapat diulang, diaudit, dan dioperasikan secara otomatis; untuk RAG dan LLM orkestrasi menjadi krusial karena ada banyak komponen heterogen yang harus sinkron: data, embedding, index, dan inferensi.

Workflow orchestration mengatur urutan dan dependensi; reproducibility memastikan eksperimen dan model dapat diulang; artifact lineage melacak asal dan versi data serta model; retraining loop mengotomasi pembaruan model saat data bergeser; deployment lifecycle mengelola rollout, rollback, dan canary testing.

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Pendekatan monolitik cenderung cepat di prototipe tapi sulit diskalakan dan diaudit, sedangkan container-based pipeline memberi portability, scalability, dan reuse—komponen terisolasi memudahkan pengujian dan deployment di GCP.

Arsitektur high-level: data ingestion → preprocessing → embedding → index → retrieval → prompt → LLM inference → post-processing → monitoring. Pipeline menyelesaikan masalah nyata seperti data drift, skala inference, reproducible retraining, dan auditability melalui pencatatan artifact dan metrik.

Perdagangan keputusan meliputi latency vs freshness, batch vs streaming, dan biaya vs performance; desain harus menimbang SLA dan anggaran. Selanjutnya kita akan masuk ke praktik dengan Vertex AI Pipelines untuk implementasi end-to-end.

Setup Dasar Vertex AI Pipelines Tutorial untuk E2E

Siapkan terlebih dahulu GCP project dengan billing aktif dan rencana region yang konsisten untuk latency dan biaya. Buat Service Account terpisah untuk runtime pipeline dan CI/CD; berikan prinsip least privilege—misalnya roles/aiplatform.user, akses terbatas ke GCS (objectCreator/objectViewer) dan hak push ke Artifact Registry.

Aktifkan API inti lalu konfigurasi gcloud dengan project, region, dan zone; perintah dasar membantu verifikasi lingkungan secara cepat:


Instalasi meliputi virtualenv atau venv, lalu pip install google-cloud-aiplatform dan kfp; siapkan Docker serta integrasi CI (mis. Cloud Build atau GitHub Actions). Struktur repo minimal: folder components, pipelines, Dockerfile per komponen, dan template pipeline yang bisa dikompilasi.

Konfigurasi storage/artifact: buat GCS bucket dengan uniform access dan Artifact Registry repo untuk image. Terapkan guardrails: separate service accounts, budget alerts di Cloud Billing, dan quota checks; terakhir jalankan checklist verifikasi (API aktif, bucket/registry ada, gcloud autentikasi, compile pipeline contoh) sebelum melanjutkan implementasi komponen.

Desain Pipeline untuk RAG Integrasi LLM

Ketika merancang pipeline untuk RAG + LLM, tetapkan tujuan: target latency, throughput, konsistensi jawaban, dan kebutuhan freshness. Pecah workflow menjadi komponen jelas: data ingestion, chunking, embedding generation, vector upsert, retrieval step, prompt composition, LLM inference, dan post-processing, sehingga tiap unit dapat diuji dan di-scaling secara independen.

Definisikan contracts antar komponen: schema input/output (JSON Schema), metadata artifact (source_id, version, checksum), dan konvensi storage (GCS path + partitioning). Untuk retrieval pilih strategi yang sesuai: optimalkan recall@k, tambahkan reranking, atau gunakan hybrid BM25 + embedding untuk keseimbangan recall/precision. Terapkan retry dengan backoff, idempotency (tanda idempotency_key), dan checkpointing per step untuk recovery aman.

Contoh pemetaan resource dan DAG singkat (ilustrasi):


Untuk use-case latency-sensitive prioritaskan fewer-round trips, aggressive caching, dan GPU inference autoscaling; untuk batch gunakan throughput-oriented parallelism dan spot instances untuk cost-aware decisions.

Implementasi Komponen Dataset, Embedding dan Indexing

Mulai dari dataset, tentukan format dokumen yang konsisten (JSONL atau HTML), strategi chunking berdasarkan konteks semantik, dan normalisasi teks (lowercasing selektif, Unicode NFC, hapus boilerplate). Tangkap metadata penting—sumber, timestamp, dan versi—karena itu berguna untuk debugging dan evaluasi; sediakan labeling minimal untuk validasi kualitas retrieval tanpa membuat beban anotasi besar.

Pada fase embedding, pilih model berdasarkan dimensi representasi, biaya, dan latensi. Untuk throughput tinggi gunakan batch jobs; untuk data real-time pilih streaming. Contoh menjalankan batch prediction sederhana di Vertex AI SDK:


Pada indexing pilih antara HNSW untuk latensi rendah, IVF untuk trade-off ruang/kecepatan, atau PQ untuk kompresi; tune parameter seperti efConstruction, M, atau nlist sesuai trade-off. Tentukan kebijakan upsert versus rebuild berdasarkan frekuensi perubahan data dan biaya ulang; ukur dengan recall@k, latency, dan throughput. Versi artefak, logging metadata (schema), dan alur pengujian skala kecil membuat pipeline reproducible dan siap diintegrasikan ke tahap pelatihan selanjutnya.

Train dan Fine Tune LLM Dengan Pipeline Terotomasi

Beberapa opsi training: supervised fine-tuning ketika dataset label jelas, instruction tuning untuk kemampuan respons yang lebih baik terhadap petunjuk pengguna, dan retrieval-aware training loop yang menggabungkan konteks index dari pipeline RAG agar model belajar memanfaatkan dokumen relevan. Pilih strategi sesuai kebutuhan latency, biaya, dan kebutuhan evaluasi.

Saat menyiapkan job di Vertex AI Pipelines, tentukan spec resource seperti jumlah GPU atau TPU, konfigurasi distributed training, serta kebijakan checkpointing dan manajemen hyperparameters. Kamu bisa mengautomasi checkpoint ke cloud storage dan snapshot dataset untuk reproducibility.


Gabungkan hyperparameter tuning (auto-tune) dan early stopping sebagai langkah pipeline, lalu simpan model ke model registry dengan metadata: git commit, dataset snapshot, dan hyperparams. Untuk eksperimen, aktifkan experiment tracking, log use-case, evaluasi dengan dedicated evaluation datasets, dan hitung metrik otomatis.

Rollout harus meliputi canary test bertahap dengan persentase lalu lintas meningkat, monitoring metrik kualitas dan biaya, serta aturan otomatis untuk rollback saat degradasi terdeteksi. Dengan pendekatan ini model lebih aman saat masuk produksi.

Deployment Serving dan Integrasi E2E di Production

Pilih antara online low-latency endpoint dan batch transform berdasarkan SLA: butuh jawaban dalam milidetik? pakai endpoint. Lebih penting throughput dan biaya? pilih batch untuk pekerjaan yang tidak real-time.

Containerize model dengan praktik terbaik: base image ringan, multi-stage build pada Dockerfile, dan HEALTHCHECK untuk liveness/readiness. Contoh sederhana:


Atur autoscaling, concurrency, dan min-replica untuk mengurangi cold start; gunakan warm pools atau preloaded workers untuk model besar. Untuk integrasi E2E, alur tipikal: frontend → retrieval → LLM inference → response composition, dengan cache dan timeout di setiap tahap.

Implementasikan canary / A/B testing lewat traffic split bertahap plus evaluasi otomatis pada metrik latensi dan kualitas; rollback otomatis jika SLO dilanggar. Lindungi produksi dengan prinsip IAM, encryption at rest dan encryption in transit, serta data minimization pada prompt. Optimasi biaya: batching, model quantization, dan pemilihan instance berdasarkan profil latency–cost; kadang GPU murah lebih hemat untuk inferensi berat dibanding banyak CPU.

Monitoring CI CD dan Praktik MLOps untuk Keandalan

Observability dengan metrik end-to-end: latency per langkah (ingest → retrieval → LLM), error rate, dan kualitas permintaan seperti akurasi serta fluency sebagai request quality. Logging terstruktur pada setiap komponen dan tracing distribusi untuk menelusuri input sampai keluaran model—tanpa itu debugging RAG ibarat mencari jarum dalam jerami.

Deteksi data drift dengan statistik fitur dan embedding-based drift signals; buat alert yang otomatis memicu retrain pipeline di Vertex AI Pipelines atau publish ke Pub/Sub untuk pipeline pemicu. Dalam CI/CD untuk ML, jalankan unit test untuk komponen, integration test untuk run pipeline, dan deployment pipeline dengan approval gates sebelum serving.

Contoh unit test sederhana untuk retrieval (menggunakan pytest):


Catat metadata artifact, dataset snapshots, dan audit logs untuk lineage. Siapkan runbook untuk incident response, autoscaling, dan cost spikes; sertakan playbook eskalasi serta postmortem template. Praktik terbaik: code review ketat, reproducible notebooks, dan ritme retraining berkala berdasarkan sinyal drift dan KPI biaya.

Penutup

Dengan struktur ini pembaca akan mendapatkan peta jalan teknis untuk merancang, mengimplementasi, dan mengoperasikan pipeline RAG/LLM menggunakan Vertex AI Pipelines. Fokus pada reproducibility, monitoring, dan cost-aware decisions memastikan solusi siap produksi dan mudah dipelihara.


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.