Florence-2: Model Vision Multi-Task dari Microsoft

# Florence-2: Model Vision Multi-Task dari Microsoft ## Daftar Isi 1. [Pendahuluan](#pendahuluan) 2. [Prasyarat](#prasyarat) 3. [Instalasi](#instalasi) 4. [Memuat Model Florence-2](#memuat-model-flo...

By Ruby Abdullah · · tutorial
Florence-2Computer VisionMicrosoftObject DetectionPython

Florence-2: Model Vision Multi-Task dari Microsoft

Daftar Isi

  • Pendahuluan
  • Prasyarat
  • Instalasi
  • Memuat Model Florence-2
  • Task Prompts yang Didukung
  • Image Captioning
  • Object Detection
  • OCR dan Text Recognition
  • Region Proposal dan Segmentasi
  • Visual Grounding dan Referring Expression
  • Batch Processing
  • Fine-Tuning pada Dataset Kustom
  • Integrasi dengan Supervision untuk Visualisasi
  • Contoh Praktis: Pipeline Analisis Dokumen
  • Praktik Terbaik
  • Kesimpulan
  • Pendahuluan

    Florence-2 adalah model vision foundation dari Microsoft yang dirancang untuk menangani berbagai tugas computer vision dalam satu model tunggal. Tidak seperti model-model sebelumnya yang memerlukan arsitektur terpisah untuk setiap tugas, Florence-2 menggunakan pendekatan sequence-to-sequence yang unified, di mana semua tugas vision dirumuskan sebagai masalah generasi teks berdasarkan prompt tertentu.

    Keunggulan utama Florence-2:

    • Multi-task dalam satu model: Captioning, deteksi objek, OCR, segmentasi, dan grounding dalam satu arsitektur
    • Prompt-based: Cukup ganti prompt teks untuk beralih antar tugas tanpa mengubah model
    • Dua varian ukuran: Florence-2-base (232M parameter) dan Florence-2-large (771M parameter)
    • Zero-shot yang kuat: Performa baik tanpa fine-tuning pada banyak tugas
    • Ringan dan efisien: Ukuran model relatif kecil dibanding VLM lain dengan kemampuan sebanding
    • Open-source: Tersedia di Hugging Face untuk penggunaan penelitian dan komersial

    Florence-2 dilatih pada dataset FLD-5B yang berisi 5,4 miliar anotasi visual-linguistik, mencakup 126 juta gambar. Dalam tutorial ini, Anda akan belajar menggunakan Florence-2 untuk berbagai tugas vision, melakukan batch processing, fine-tuning pada dataset kustom, dan membangun pipeline analisis dokumen.

    Prasyarat

    • Python 3.9 atau lebih tinggi
    • PyTorch 2.0+ dengan dukungan CUDA (GPU sangat direkomendasikan)
    • Minimal 8GB VRAM GPU untuk Florence-2-base, 16GB untuk Florence-2-large
    • Pemahaman dasar tentang konsep computer vision
    • Akun Hugging Face (untuk mengunduh model)

    Instalasi

    # Instal PyTorch (periksa pytorch.org untuk versi CUDA Anda)
    

    pip install torch torchvision

    Instal dependensi utama

    pip install transformers accelerate einops timm

    pip install Pillow matplotlib

    Instal flash-attn untuk inferensi lebih cepat (opsional, memerlukan CUDA)

    pip install flash-attn --no-build-isolation

    Instal supervision untuk visualisasi (opsional)

    pip install supervision

    Verifikasi instalasi:

    import torch
    

    from transformers import AutoProcessor, AutoModelForCausalLM

    print(f"PyTorch: {torch.version}")

    print(f"CUDA tersedia: {torch.cuda.isavailable()}")

    if torch.cuda.isavailable():

    print(f"GPU: {torch.cuda.getdevicename(0)}")

    print(f"VRAM: {torch.cuda.getdeviceproperties(0).totalmem / 1e9:.1f} GB")

    Memuat Model Florence-2

    Florence-2 tersedia dalam dua varian utama beserta versi fine-tuned-nya:

    from transformers import AutoProcessor, AutoModelForCausalLM
    

    import torch

    Pilih model - varian yang tersedia:

    "microsoft/Florence-2-base" - 232M parameter

    "microsoft/Florence-2-large" - 771M parameter

    "microsoft/Florence-2-base-ft" - base, fine-tuned pada downstream tasks

    "microsoft/Florence-2-large-ft" - large, fine-tuned pada downstream tasks

    MODELID = "microsoft/Florence-2-base-ft"

    Muat processor dan model

    processor = AutoProcessor.frompretrained(MODELID, trustremotecode=True)

    model = AutoModelForCausalLM.frompretrained(

    MODELID,

    trustremotecode=True,

    Artikel Terkait

    Supervision: Toolkit Computer Vision dari Roboflow

    Supervision: Toolkit Computer Vision dari Roboflow Dalam proyek computer vision, setelah model mendeteksi objek, Anda ma...

    Tutorial Lengkap Ultralytics: Object Detection dengan YOLO

    Tutorial Lengkap Ultralytics: Object Detection dengan YOLO Ultralytics adalah framework Python yang menyediakan implemen...

    Panduan Lengkap DETR: Object Detection dengan Transformers

    Panduan Lengkap DETR: Object Detection dengan Transformers DETR (DEtection TRansformer) adalah pendekatan revolusioner u...

    AutoGen: Framework Multi-Agent Conversation dari Microsoft

    AutoGen: Framework Multi-Agent Conversation dari Microsoft AutoGen adalah framework open-source dari Microsoft Research ...