Ferret: model bahasa besar multimodal
(github.com/apple)- Ferret adalah MLLM end-to-end yang menerima target instruksi dalam format bebas sebagai input dan melakukan grounding posisi dalam respons, dengan tujuan referensi dan grounding yang detail tanpa terikat skala maupun lokasi
- Komponen intinya adalah Hybrid Region Representation dan Spatial-aware Visual Sampler, yang memungkinkan referensi dan grounding open-vocabulary yang rinci dalam MLLM
- Proyek ini menyediakan sekitar 1,1 juta data GRIT Dataset, Ferret-Bench, delta checkpoint 7B·13B, serta prosedur untuk menjalankan pelatihan, evaluasi, dan demo
- Pelatihan didasarkan pada lingkungan 8×A100 80GB; saat jumlah GPU lebih sedikit, kombinasi
per_device_train_batch_size,gradient_accumulation_steps, dannum_gpusharus disesuaikan agar ukuran batch global tetap terjaga - Data dan kode hanya untuk tujuan riset; dataset berlisensi CC BY NC 4.0 sehingga hanya mengizinkan penggunaan nonkomersial, dan juga harus mengikuti ketentuan lisensi LLaMA, Vicuna, dan GPT-4
Tujuan dan komponen Ferret
- Ferret adalah MLLM end-to-end dengan slogan “Refer and Ground Anything Anywhere at Any Granularity”
- Model ini bertujuan menerima input referensi dalam format arbitrer dan melakukan grounding terhadap target dalam respons
- Kontribusi utamanya dirangkum menjadi tiga bagian
- Ferret Model: menggunakan Hybrid Region Representation dan Spatial-aware Visual Sampler untuk memungkinkan referensi dan grounding open-vocabulary yang rinci
- GRIT Dataset: dataset instruction tuning ground-and-refer berskala besar, hierarkis, dan tangguh dengan sekitar 1,1 juta entri
- Ferret-Bench: benchmark evaluasi multimodal yang sekaligus menuntut referensi·grounding, semantik, pengetahuan, dan penalaran
Rilis dan status model
- Pada 8 Oktober 2024, Ferret-UI dirilis
- Diperkenalkan sebagai MLLM berfokus UI yang dapat menjalankan tugas referring, grounding, dan reasoning secara efektif
- Pada 10 Juli 2024, Ferret-v2 diterima di COLM 2024
- Pada 15 Februari 2024, Ferret diterima sebagai ICLR 2024 Spotlight
- Pada 14 Desember 2023, checkpoint Ferret 7B·13B dirilis
- Pada 30 Oktober 2023, kode model FERRET dan Ferret-Bench dirilis
Instalasi dan syarat pelatihan
- Instalasi mengikuti alur kloning repositori lalu memasang paket dalam lingkungan Conda
python=3.10pip install -e .pycocotoolsprotobuf==3.20.0
- Paket tambahan untuk pelatihan yang diperlukan adalah ninja dan instalasi
flash-attn --no-build-isolation - Lingkungan acuan pelatihan FERRET adalah 8 GPU A100, masing-masing memori 80GB
- Saat melatih dengan GPU lebih sedikit, ukuran batch global harus dipertahankan
- ukuran batch global =
per_device_train_batch_size×gradient_accumulation_steps×num_gpus
- ukuran batch global =
- Hyperparameter fine-tuning menggunakan konfigurasi yang mirip dengan LLaVA (Vicuna)
- FERRET-7B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0 - FERRET-13B: Global Batch Size 128, Learning rate
2e-5, Epochs 3, Max length 2048, Weight decay 0
- FERRET-7B: Global Batch Size 128, Learning rate
Model dasar dan penggunaan checkpoint
- Sebelum pelatihan, bobot model dasar Vicuna v1.3 harus disiapkan
- Bobot projector pra-pelatihan tahap 1 milik LLaVA juga diperlukan
- projector 7B
- projector 13B
- Checkpoint publik disediakan bukan sebagai keseluruhan model pra-pelatihan, melainkan dalam bentuk delta terhadap Vicuna
- Pengguna harus terlebih dahulu memperoleh bobot Vicuna, lalu mengunduh delta Ferret 7B atau 13B, dan menerapkan offset ke bobot Vicuna dengan skrip
ferret.model.apply_delta - Weight differentials yang disediakan Apple tunduk pada lisensi CC-BY-NC, sedangkan LLaMA atau perangkat lunak pihak ketiga lainnya mengikuti ketentuan masing-masing
Evaluasi dan menjalankan demo
- Evaluasi dibahas lebih rinci dalam dokumen terpisah
EVAL.md - Demo lokal menggunakan Gradio web UI dan memerlukan pelatihan FERRET serta penggunaan checkpoint secara lokal
- Alur menjalankan demo terdiri dari tiga tahap
- menjalankan controller:
ferret.serve.controller - menjalankan server web Gradio:
ferret.serve.gradio_web_server - menjalankan model worker yang melakukan inferensi di GPU:
ferret.serve.model_worker
- menjalankan controller:
- Model worker menangani satu model yang ditentukan melalui
--model-path - Setelah pemuatan model selesai dan muncul pesan “Uvicorn running on ...”, segarkan Gradio web UI untuk melihat model yang dijalankan dalam daftar
Batasan penggunaan dan sumber
- Data dan kode dimaksudkan dan dilisensikan hanya untuk tujuan riset
- Penggunaan dibatasi pada kepatuhan terhadap perjanjian lisensi LLaMA, Vicuna, dan GPT-4
- Dataset berlisensi CC BY NC 4.0 dan hanya mengizinkan penggunaan nonkomersial
- Model yang dilatih dengan dataset ini tidak boleh digunakan di luar tujuan riset
- Proyek ini dibangun di atas codebase LLaVA dan codebase LLM Vicuna
1 komentar
Komentar Hacker News
Sudah menuju multimodal secepat ini? Jika Google tidak bisa membuat deskripsi gambar untuk aksesibilitas lebih baik daripada sekadar level “logo perusahaan”, saya berpikir untuk kembali ke Apple
Apple juga memang perlu mengurangi bug dan menghilangkan kesan bahwa VoiceOver bisa rusak hanya karena sedikit diutak-atik, tetapi bahkan tanpa LLM pun deskripsi gambarnya sudah rapi dan jelas
Misalnya, hasil Apple mendekati “logo hijau di atas latar hitam”, sedangkan Google, seperti yang disebut tadi, lebih dekat ke “logo perusahaan”. Rasanya seperti hasil yang muncul saat AI dilatih lewat crowdsourcing alih-alih dengan data berkualitas tinggi yang bagus
Menggunakan keluarga model Flamingo: https://deepmind.google/discover/blog/tackling-multiple-task...
Ada juga rumor bahwa fitur LLM akan masuk ke rilis macOS / iOS tahun depan
Hal terkait yang layak dilihat: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
Apple tampaknya sedang menyiapkan kemajuan besar dalam inferensi on-device dengan LLM seperti ini
https://arxiv.org/abs/2312.11514
Makalahnya memang lama (Oktober 2023), tetapi weights-nya baru dirilis (Desember 2023)
https://lifearchitect.ai/models-table/
Apple memang terlihat diam soal LLM, tetapi tanpa iklan mencolok mereka terus mengembangkan stack AI hardware+software dengan konsisten
Kalau rilis iOS baru tiba-tiba membuat jendela chat OpenAI/Bard tampak sangat ketinggalan zaman sampai terasa lucu, menurut saya mereka bisa mengungguli Microsoft/OpenAI dan Google
Jika porsi besar penggunaan AI berpindah ke hardware Apple, itu juga bisa menjadi ancaman bagi Nvidia, sementara Arm dan TSMC kemungkinan akan diuntungkan
Lebih mungkin mereka “sekadar” memakai teknologi yang sama untuk peningkatan bertahap pada produk seperti Siri atau pelengkapan otomatis di keyboard, dan menurut saya itu arah yang baik
Mereka juga bukan perusahaan yang sedang mengejar pendanaan ventura, dan bisnis intinya juga tidak terancam oleh AI sebagai “evolusi pencarian”
Dari sisi produk, sejauh ini yang terdengar hanya pesan bahwa M3 Max cocok untuk menjalankan model machine learning
Sampai produk konsumen yang nyata benar-benar siap, cukup menyebutnya secara formalitas di rapat keuangan sambil mengelola ekspektasi analis
Mendapatkan kembali kepercayaan developer pun akan memakan waktu lama, dan rasanya itu tidak akan terjadi
Bisa dijelaskan apa arti “MLLM”?
Saya berharap Apple merilis iPhone dengan asisten LLM privat on-device yang bagus, mungkin secepat tahun depan
Hardware-nya tampak sangat cocok untuk ini
Kalau benar begitu, saya mungkin akan mematahkan siklus ganti ponsel saya yang biasanya sekitar 4 tahun dan membeli ponsel baru. Buat saya, Siri hampir tidak bisa dipakai
Menarik apakah mereka akan menawarkan fungsi berbeda tergantung kondisi online/offline, atau justru sepenuhnya offline
Satu artikel dengan sedikit latar belakang: https://archive.is/en3VL
Sangat mendekati seperti apa seharusnya alat suara yang diharapkan. Bukan seperti Siri yang mengharuskan kita mengucapkan perintah tertentu dengan keras, melainkan bisa berbicara seperti sedang bercakap dengan orang biasa
https://jackcook.com/2023/09/08/predictive-text.html
Saya memakai iPhone terbaru, tetapi sangat jarang melihatnya benar-benar bekerja
Saat ini tampaknya terlalu lambat untuk mengikuti kecepatan mengetik saya, atau modelnya terlalu kecil untuk memberi banyak saran yang berguna
Bahkan sekarang pun ChatGPT masih bisa dipancing untuk mengatakan hal-hal yang sangat buruk, dan kalau Apple merilis sesuatu yang on-device, itu pun bisa dijadikan robot jahat
Secara pribadi, saya rasa LLM masih belum aman untuk penggunaan produksi yang ditujukan ke publik luas
“FERRET dilatih menggunakan 8 GPU A100 dengan memori 80GB”, jadi tampaknya Apple pun belum bisa lepas dari jebakan CUDA
Menarik juga bahwa mereka punya hubungan permusuhan moral dengan Nvidia, lalu akhirnya jadi sebagian bergantung padanya
Tapi kalau mereka memutuskan untuk terjun cukup dalam, mereka juga bisa saja menggelontorkan uang untuk infrastruktur komputasi mereka sendiri
Nvidia sekarang adalah raja komputasi GPU, dan mengembangkan perangkat keras serupa bukan hal yang kecil ataupun murah, tetapi Apple berada di posisi yang sangat baik untuk mewujudkannya kalau mereka memutuskan berinvestasi
Walaupun ada konflik antarkorporasi, menurutku perusahaan akan dengan senang hati menanggungnya jika ada proses yang lebih murah atau lebih mudah
Bahkan Studio dan Mac Pro pun terasa lebih seperti gabungan chip laptop, dan untuk pekerjaan berat, Anda perlu memakai perangkat berat
Aku tahu hubungannya dengan Nvidia memburuk, tetapi aku berharap mereka ikut memperkuat ekosistem AMD/ROCm
Tentu saja, besar kemungkinan Apple juga sedang membuat sesuatu sendiri di area ini. Mereka punya cadangan kas miliaran dolar, jadi sepertinya mereka sedang menggelontorkan cukup banyak untuk litbang
Pada akhirnya, model deep learning seperti ini bisa berjalan di perangkat keras apa pun, dan dengan hanya menanggung sedikit penurunan performa, satu jenis perangkat keras bisa dengan mudah diganti dengan yang lain
Pada dasarnya ini nyaris seperti komoditas umum
Ada yang tahu model open source terbaik yang bisa dipakai secara komersial dan dijalankan secara lokal di iPhone?
Open source dan berjalan secara native di platform utama. Aku juga sudah membagikan video yang menunjukkan ini berjalan di iPad Mini, Pixel 7, iPhone 12, Surface Pro (Windows 10 & Ubuntu Jellyfish), dan Mac (Intel & arsitektur M)
Ini sama sekali belum jadi aplikasi yang matang. Aku mulai dengan mem-porting llama.cpp karena ingin memakai AI on-device di Flutter, dan nanti aku juga berencana mem-port implementasi terbaru seperti whisper.cpp dan bark.cpp
Repositori: https://github.com/BrutalCoding/aub.ai
Untuk perangkat Apple, pakai ini: https://testflight.apple.com/join/XuTpIgyY
Aplikasi ini kompatibel dengan file GGUF apa pun, tetapi sebaiknya memakai format prompt ChatML agar UI chat/gelembung percakapannya tidak jadi aneh. Aku belum membuatnya bisa dikustomisasi karena ini memang hanya aplikasi contoh untuk pluginnya. Meski begitu, aku sedang aktif mengerjakannya agar makin mendekati bentuk yang kutuju
Tapi dari sisi kegunaan, aplikasi ChatGPT4 jauh lebih baik. Modelnya juga lebih bagus, dan fitur multimodalnya termasuk teks/visi/suara serta UI-nya juga lebih baik
“Data dan kode dilisensikan hanya untuk penggunaan penelitian. Selain itu, penggunaannya dibatasi untuk mematuhi perjanjian lisensi LLaMA, Vicuna, dan GPT-4. Dataset ini berlisensi CC BY NC 4.0 dan hanya mengizinkan penggunaan nonkomersial, dan model yang dilatih dengan dataset ini tidak boleh digunakan di luar tujuan penelitian”
Tunggu, bagaimana GPT-4 bisa masuk ke sini?