Workshop Red Hat OpenShift AI: Membuat Aplikasi Insurance Claim dengan Object Detection

Note: Ini adalah late post. Workshop dilaksanakan November 2024, tapi baru sempat saya tulis sekarang.

Beberapa waktu lalu, saya mengikuti workshop gratis dari Red Hat tentang OpenShift AI. Workshop ini cukup menarik karena memberikan hands-on experience dalam menggunakan platform AI yang terintegrasi dengan ekosistem Kubernetes. Peserta diberikan akses ke sandbox environment secara gratis untuk mencoba deploy, train, dan menggunakan model AI untuk membuat aplikasi insurance claim.

Apa itu Red Hat OpenShift AI?

Red Hat OpenShift AI adalah platform untuk mengembangkan, melatih, dan deploy model machine learning di atas infrastruktur OpenShift (Kubernetes). Platform ini menyediakan environment yang sudah terintegrasi untuk data scientist dan developer, sehingga tidak perlu repot setup berbagai tools secara manual.

Beberapa fitur utama OpenShift AI:

  • JupyterLab Terintegrasi: Environment notebook yang sudah siap pakai untuk development dan eksperimen
  • GPU Support: Akses ke GPU resources untuk training model yang lebih cepat
  • Model Serving: Deploy model langsung ke production dengan model serving framework seperti ModelMesh
  • Pipeline Management: Integrasi dengan tools seperti Kubeflow untuk membuat ML pipeline
  • Version Control: Tracking model dan dataset dengan proper version control

Platform ini cocok untuk enterprise yang sudah menggunakan OpenShift dan ingin menambahkan kemampuan AI/ML ke dalam infrastruktur mereka.

Cara Mendaftar Developer Sandbox Gratis

Untuk mencoba OpenShift AI, Red Hat menyediakan Developer Sandbox yang bisa digunakan secara gratis selama 30 hari. Yang menarik, tidak ada batasan berapa kali kita bisa mendaftar ulang setelah trial period habis.

Langkah Pendaftaran

  1. Buat Red Hat Account

    Kunjungi Red Hat Developer Sandbox dan klik tombol untuk memulai. Jika belum punya Red Hat account, buat account baru (gratis dan tidak perlu credit card).

  2. Login dan Aktivasi

    Setelah login dengan Red Hat account, sistem akan otomatis membuat sandbox environment. Proses ini biasanya memakan waktu beberapa menit.

  3. Akses OpenShift AI

    Setelah sandbox ready, akan muncul welcome page dengan tiga komponen utama: OpenShift, Dev Spaces, dan OpenShift AI. Klik tombol launch pada OpenShift AI untuk masuk ke web interface.

  4. Start JupyterLab

    Di dashboard OpenShift AI, pilih JupyterLab dan pilih notebook image yang sesuai (misalnya Standard Data Science). Sistem akan provision environment dengan Python, Jupyter, dan library ML yang sudah ter-install.

Resource yang Didapat

Sandbox environment menyediakan:

  • 1 project/namespace per user
  • Resource quota: 3 CPU cores, 14 GB RAM, 40 GB storage
  • Pre-installed tools: Jupyter, TensorFlow, PyTorch, scikit-learn
  • Akses ke: OpenShift Pipelines, Dev Spaces, Serverless

Dokumentasi dan Learning Resources

Untuk memperdalam pemahaman tentang OpenShift AI, tersedia beberapa resource resmi:

Studi Kasus: Aplikasi Insurance Claim dengan Object Detection

Di workshop ini, kita membuat aplikasi untuk perusahaan asuransi fiktif bernama Parasol Insurance. Use case-nya cukup realistis: ketika terjadi kecelakaan mobil, nasabah bisa langsung upload foto kecelakaan, dan sistem akan otomatis mendeteksi tingkat kerusakan untuk mempercepat proses klaim.

Workshop dibagi menjadi beberapa tahap:

  1. Mendeteksi mobil dalam foto menggunakan model YOLO
  2. Melatih model untuk mendeteksi tingkat kerusakan kecelakaan
  3. Testing model dengan berbagai skenario

1. Setup Environment dan Import Model YOLO

Workshop menggunakan JupyterLab yang sudah ter-setup di OpenShift AI sandbox. Environment ini sudah include Python 3.11 dan berbagai library yang dibutuhkan.

JupyterLab Interface

Pada notebook pertama (04-02-car-recognition.ipynb), kita import library yang dibutuhkan:

from ultralytics import YOLO
from PIL import Image

Kemudian load model YOLOv8m (medium size):

model = YOLO("yolov8m.pt")

YOLO (You Only Look Once) adalah model object detection yang cukup populer karena balance antara akurasi dan kecepatan. Model ini bisa mendeteksi berbagai objek dalam satu pass, termasuk mobil.

2. Mendeteksi Mobil dan Menampilkan Bounding Box

Setelah model di-load, kita bisa langsung test dengan foto mobil:

img = "images/carImage0.jpg"
results = model.predict(img)

Model akan return hasil deteksi berupa:

  • Object type: Jenis objek yang terdeteksi (dalam hal ini “car”)
  • Coordinates: Posisi bounding box [x1, y1, x2, y2]
  • Probability/Confidence: Tingkat keyakinan model (0.0 - 1.0)

Car Detection with Bounding Box

Dari screenshot di atas, terlihat model berhasil mendeteksi mobil dengan confidence 0.91 (91%). Bounding box ditampilkan dengan warna orange di sekitar mobil.

3. Ekstraksi Informasi Detail

Untuk menggunakan hasil deteksi ini di aplikasi, kita perlu extract informasi detailnya:

for box in result.boxes:
    class_id = result.names[box.cls[0].item()]
    cords = box.xyxy[0].tolist()
    cords = [round(x) for x in cords]
    conf = round(box.conf[0].item(), 2)
    print("Object type:", class_id)
    print("Coordinates:", cords)
    print("Probability:", conf)

Output:

Object type: car
Coordinates: [15, 81, 170, 155]
Probability: 0.91

Informasi ini bisa kita gunakan untuk proses selanjutnya, misalnya crop bagian mobil untuk analisis lebih detail.

4. Testing dengan Multiple Cars

Model YOLO bisa mendeteksi multiple objects dalam satu foto. Ketika kita test dengan foto highway yang berisi banyak mobil:

Multiple Car Detection

Model berhasil detect 17 mobil dan 1 truck dengan berbagai tingkat confidence (0.26 - 0.86). Menariknya, model juga miss beberapa mobil yang ada di background/kejauhan, yang menunjukkan limitation dari model ini untuk objek yang terlalu kecil atau terlalu jauh.

5. Retraining Model untuk Accident Detection

Setelah berhasil detect mobil, tahap selanjutnya adalah melatih model untuk mengenali tingkat kerusakan kecelakaan. Di notebook 04-04-accident-recog.ipynb, kita load model yang sudah di-train khusus untuk accident detection:

Accident Detection Training

Model ini di-download dari S3 bucket AWS yang sudah disiapkan oleh Red Hat:

model = YOLO("https://rhods-public.s3.amazonaws.com/demo-models/ic-models/accident/accident_detect.onnx")

Model menggunakan format ONNX (Open Neural Network Exchange), yang merupakan format standard untuk interoperability antar framework ML.

6. Training Data

Training Data

Dataset yang digunakan berisi foto-foto kecelakaan mobil dengan berbagai tingkat kerusakan. Setiap foto sudah di-label dengan severity level (misalnya: “severe”, “moderate”, “minor”).

7. Testing Accident Detection

Setelah model ready, kita test dengan foto kecelakaan mobil:

Accident Detection Result

Model berhasil mendeteksi kecelakaan dan mengklasifikasikannya sebagai “severe” (kecelakaan parah) dengan confidence 0.86 (86%). Bounding box hijau menunjukkan area kecelakaan yang terdeteksi.

Informasi ini sangat berguna untuk aplikasi insurance claim karena:

  • Prioritas Handling: Klaim dengan severe accident bisa di-prioritaskan
  • Estimasi Biaya: Tingkat kerusakan membantu estimasi biaya perbaikan
  • Fraud Detection: Bisa cross-check dengan klaim yang diajukan nasabah

Pengalaman Menggunakan OpenShift AI

Beberapa hal yang saya notice dari workshop ini:

Positif:

  • Setup environment sangat mudah. Tidak perlu install Python, Jupyter, atau library apapun
  • Sandbox environment cukup powerful untuk training dan inference
  • Dokumentasi workshop cukup lengkap dan mudah diikuti
  • Integrasi dengan Git untuk version control code

Kekurangan:

  • Sandbox memiliki time limit. Setelah beberapa jam inactive, environment akan di-terminate
  • Tidak ada persistent storage, jadi data/model bisa hilang kalau environment di-reset
  • Untuk production use, perlu setup OpenShift cluster sendiri yang tidak gratis

Landscape On-Premise AI/ML Platform

Red Hat OpenShift AI bukan satu-satunya platform untuk deploy dan manage AI/ML workload secara on-premise. Sektor ini berkembang cukup pesat, terutama untuk enterprise yang membutuhkan kontrol penuh terhadap data dan infrastruktur mereka.

Kompetitor dan Alternatif

1. Open Source Platforms

  • Kubeflow: Platform MLOps open source paling populer yang berjalan di atas Kubernetes. Menyediakan components untuk full ML lifecycle: notebooks, pipelines, training, serving. Lebih fokus ke orchestration dan pipeline management. Berdasarkan riset, organisasi yang menggunakan Kubeflow melaporkan 32% pengurangan waktu deployment setelah pipeline stabil.

  • MLflow: Lebih lightweight dibanding Kubeflow, fokus ke experiment tracking, model registry, dan model deployment. Cocok untuk teams yang butuh setup cepat tanpa kompleksitas Kubernetes. User MLflow melaporkan 40% percepatan experimentation cycle.

  • Metaflow: Dikembangkan oleh Netflix, fokus ke simplicity. Data scientist bisa build workflow dengan Python scripts sederhana, tanpa perlu expertise Kubernetes. Integrasi bagus dengan AWS untuk execution.

  • Seldon Core: Specialized untuk model serving di scale, support A/B testing, canary deployments, dan model explainability. Membutuhkan Kubernetes expertise.

  • BentoML: Memudahkan packaging trained models menjadi production-ready APIs. Fokus ke model serving dengan developer experience yang baik.

2. Commercial/Enterprise Platforms

  • NVIDIA AI Enterprise: Platform comprehensive dari NVIDIA yang bisa di-deploy on-premise, cloud, atau edge. Include NVIDIA-Certified Servers, software stack lengkap, dan support untuk FedRAMP (government/high-assurance environments). Di 2024, NVIDIA meluncurkan Enterprise AI Factory reference design untuk on-premise deployments.

  • H2O Driverless AI: Platform AutoML yang bisa jalan di cloud atau on-premise. Automasi untuk feature engineering, model validation, tuning, dan deployment. Optimized untuk GPU termasuk NVIDIA DGX-1.

  • Run:ai: Platform untuk virtualisasi dan orchestration GPU resources di Kubernetes clusters. Berguna untuk optimize GPU utilization di on-premise infrastructure.

  • Determined AI: Open core platform untuk training deep learning models, dengan fokus ke distributed training dan hyperparameter tuning.

3. Hybrid/Cloud-Native dengan On-Prem Option

  • AWS SageMaker on Outposts: Untuk enterprise yang ingin experience AWS tapi dengan hardware on-premise
  • Google Vertex AI on GKE: Bisa deploy di GKE clusters on-premise
  • Azure Machine Learning on Azure Stack: Hybrid solution dari Microsoft

Pertimbangan Memilih Platform

Beberapa faktor yang perlu dipertimbangkan ketika memilih on-premise AI platform:

Kubernetes Dependency: Kubeflow dan OpenShift AI membutuhkan Kubernetes expertise. Kalau team belum familiar dengan K8s, learning curve-nya cukup steep. MLflow atau Metaflow bisa jadi pilihan lebih simple.

Use Case Specificity:

  • Eksperimen intensif → MLflow
  • Production pipeline kompleks → Kubeflow atau OpenShift AI
  • Model serving scale → Seldon Core
  • AutoML → H2O Driverless AI
  • GPU optimization → Run:ai atau NVIDIA AI Enterprise

Enterprise Requirements: Untuk regulated industries (finance, healthcare, government) yang butuh strict data governance, on-premise platform dengan enterprise support seperti Red Hat OpenShift AI atau NVIDIA AI Enterprise lebih suitable.

Open Source vs Commercial: Open source platforms (Kubeflow, MLflow) gratis tapi membutuhkan in-house expertise untuk maintain. Commercial platforms lebih mahal tapi include support dan enterprise features.

Integration: Kalau sudah pakai OpenShift, Red Hat OpenShift AI seamless integration. Kalau pakai AWS, SageMaker on Outposts lebih natural. Kalau heavy NVIDIA GPU infrastructure, NVIDIA AI Enterprise punya optimization yang lebih baik.

Trend di Sektor Ini

Beberapa trend yang terlihat di on-premise AI platform space:

  1. Standardization around Kubernetes: Hampir semua modern AI platform sekarang berjalan di atas Kubernetes, mengikuti cloud-native patterns.

  2. MLOps Maturity: Platform tidak lagi hanya fokus ke training, tapi full lifecycle: data versioning, experiment tracking, model registry, deployment, monitoring, retraining.

  3. GPU Democratization: Tools seperti Run:ai membuat GPU sharing dan virtualization lebih accessible, penting untuk on-premise karena GPU investment cukup besar.

  4. Hybrid Deployment: Line antara cloud dan on-premise makin blur. Banyak vendor offer hybrid solutions untuk flexibility.

  5. Enterprise Security & Compliance: Platform commercial makin fokus ke compliance (FedRAMP, SOC 2, HIPAA) untuk enterprise dan government customers.

Kesimpulan

Red Hat OpenShift AI menyediakan platform yang cukup complete untuk development dan deployment aplikasi AI. Workshop ini memberikan gambaran bagaimana menggunakan object detection untuk real-world use case seperti insurance claim processing.

Beberapa takeaway dari workshop:

  1. YOLO sangat praktis untuk object detection. Model pre-trained sudah bisa detect berbagai objek dengan akurasi tinggi
  2. Transfer learning memungkinkan kita customize model untuk use case spesifik (accident detection) tanpa training from scratch
  3. OpenShift AI mempermudah deployment dan scaling aplikasi AI di production
  4. On-premise AI platform landscape cukup mature dengan berbagai pilihan: dari open source (Kubeflow, MLflow) sampai enterprise commercial (NVIDIA AI Enterprise, H2O Driverless AI)

Untuk yang tertarik mencoba, Red Hat masih sering mengadakan workshop gratis semacam ini. Platform sandbox-nya juga bisa dicoba secara gratis dengan registrasi di Red Hat Developer Sandbox seperti yang sudah dijelaskan di bagian Cara Mendaftar Developer Sandbox Gratis di atas.

Kapan Pilih OpenShift AI?

Bagi perusahaan yang sudah menggunakan OpenShift dan ingin adopt AI/ML, OpenShift AI adalah pilihan natural karena seamless integration dengan infrastruktur existing. Cocok juga untuk enterprise dengan strict compliance requirements.

Kapan Pilih Alternatif Lain?

  • Individual developer atau startup: Cloud-managed solutions seperti AWS SageMaker, Google Vertex AI, atau Azure ML lebih praktis dan cost-effective
  • Team kecil yang butuh simple setup: MLflow atau Metaflow lebih ringan tanpa kompleksitas Kubernetes
  • Heavy GPU workload on-premise: NVIDIA AI Enterprise atau Run:ai punya optimization lebih baik
  • Open source purist dengan K8s expertise: Kubeflow memberikan flexibility maksimal tanpa vendor lock-in

Resource Tambahan

Red Hat OpenShift AI:

Open Source Alternatives:

Commercial/Enterprise Platforms: