Masalah skill: berhenti mendeploy vision language model, gunakan dengan Skills — Merve Noyan, Hugging Face

AAI Engineer
Computing/SoftwareSmall Business/Startups

Transcript

00:00:00Halo dan selamat datang di presentasi tentang skill issue ini. Sebenarnya ini bukan lagi skill issue. Pada akhir
00:00:22presentasi ini kalian akan bisa membangun banyak hal dengan model vision jika kalian belum melakukannya.
00:00:27Singkatnya tentang saya, saya Merve. Saya telah bekerja di bidang computer vision sejak masa lava di masa lalu dan belakangan ini saya lebih banyak mengerjakan agen dan hal-hal on-device karena saya agak terpesona dan saya sangat menyukai model vision language sampai-sampai saya menulis buku tentangnya, tetapi saya tidak ingin para developer langsung menggunakan model vision language lagi dan saya ingin setiap developer mulai
00:00:54membangun aplikasi vision language secara end-to-end dan presentasi ini akan memberi kalian fondasi yang baik untuk melakukannya dan perilaku umum yang saya amati pada para developer adalah fakta bahwa mereka mencoba menggunakan model vision language untuk segalanya, tetapi kalian tidak akan pernah mendapatkan hasil real-time, dan ketika saya menyebut real-time, itu seperti kalian memiliki pemanggang roti
00:01:18dan kalian mendapatkan sekitar 30-40 fps di dalamnya seperti apa pun itu, baik kalian sedang membangun klasifikasi gambar, segmentasi instans, atau apa pun
00:01:28dan mereka tidak terlalu tangguh, misalnya jika kalian melatih model seperti RFDTR yang dibicarakan Joseph di presentasi pertama
00:01:39um model itu akan selalu mengungguli model vision language kalian dan saya akan membuktikannya hari ini
00:01:47dan di sebelah kanan kalian sebenarnya bisa melihat saya eh melakukan sesuatu dengan RFDTR
00:01:52um dan hal lainnya adalah mereka tidak membaca lisensinya. Semua orang, setiap kali saya memposting tentang deteksi objek, selalu bertanya tentang YOLO, YOLO memang model yang bagus uh tapi uh seingat saya ia memiliki lisensi GPL 3.0
00:02:07dan saya berani sumpah bahwa ada beberapa developer yang benar-benar men-deploy-nya tanpa menyadari
00:02:12bahwa mereka harus membayarnya um jadi ya uh saya ingin kalian bermigrasi ke model Apache 2.0 hari ini
00:02:23dan untuk ini saya telah membangun sesuatu yang disebut vibe vision dan ini semacam terinspirasi dari postingan Maziar ini
00:02:30pada dasarnya yang ia lakukan adalah memberikan um model Sam 3.1 sebagai alat untuk dipanggil oleh Gemma 4 dan saya rasa itu sangat
00:02:39mengesankan um dan hari ini saya membuat semacam toolkit agar kalian bisa melakukan ini dengan lebih banyak hal lagi
00:02:49jadi saya semacam mengekstraksi diri saya sendiri um pertama-tama uh toolkit ini menjadikan model-model favorit saya sebagai alat (tools) uh agar
00:02:57kalian bisa memberikannya kepada agen kalian karena coding agent kalian itu ibarat engineer computer vision yang kurang paham
00:03:03pada dasarnya um dan ketika saya mengekstraksi diri saya, pada dasarnya setiap kali saya memilih model, saya selalu memeriksa
00:03:09hal-hal berikut: jadi pertama, lisensi adalah prioritas utama bagi saya, harus Apache 2.0 atau MIT atau
00:03:16sesuatu yang non-komersial uh kedua uh performanya harus sepadan uh bergantung pada ukurannya atau
00:03:24pilihan arsitekturnya. jadi saya selalu mengecek dari benchmark setiap kali ada model dari konferensi computer vision
00:03:31yang dirilis, dan ketiga kecocokannya (vibes), tentu saja. dan jadi toolkit ini punya bagian kedua, dan ini sedikit mirip bagian vibe
00:03:41training yang mana uh merupakan bagian yang paling menarik jadi saya akan membahasnya lebih dulu. jadi saya menempatkan diri saya pada
00:03:47posisi developer untuk membangun aplikasi vision um jika saya punya gambar berlabel, mudah, saya tinggal melatih sebuah model
00:03:55atau misalnya saya bisa memberikan agen computer vision saya beberapa tutorial uh untuk melakukannya karena semuanya sudah ada
00:04:02di luar sana, seperti kita membangun transformer untuk itu. tapi jika saya hanya punya gambar, saya harus menganotasi uh lalu mengevaluasi
00:04:11anotasi tersebut dan kemudian baru melatih modelnya, tapi bagaimana kalian bisa melakukannya dalam skala besar? kalian sebenarnya bisa menggunakan model vision
00:04:17language sebagai pemberi label (labeler) dan model vision language sebagai penilai (judge) lalu melatih apa yang kalian inginkan, tapi bagaimana
00:04:24bagaimana bentuk pipeline ini? jadi pada dasarnya saya membangun ini dan di dalamnya terdapat vlm untuk pelabelan, vlm sebagai
00:04:35penilai lalu pelatihan uh ini adalah tugas jangka panjang untuk coding agents dan ada banyak
00:04:42dukungan infrastruktur, kalian bisa melakukan ini secara lokal, kalian bisa melakukan ini uh dari jarak jauh jadi pada dasarnya ini berjalan di infrastruktur hugging
00:04:48face. kami punya jobs yang memungkinkan kalian melakukan pemrosesan batch satu kali atau pelatihan
00:04:54kami juga memiliki sistem routing serverless yang disebut inference providers di mana kalian bisa menggunakan beberapa
00:05:00penyedia dan kalian, kami juga punya buckets untuk menyimpan data sementara di atas repositori
00:05:07dataset, repositori model, dan sebagainya um tapi apa yang memungkinkan pekerjaan ini? pertama-tama model favorit saya rfdtr rfdtr
00:05:17segmentation. saat ini saya sedang mengerjakan segmentasi um kami memiliki agen yang lebih baik untuk tugas-tugas
00:05:24jangka panjang uh yang mana kalian tahu bahwa kalian harus mengawasi proses pelabelan, proses pelatihan, dll
00:05:32dan model vision yang lebih kecil namun mumpuni memungkinkan kalian melabeli sesuatu dengan sangat murah dan juga dengan
00:05:40transformer, kami beralih ke refactoring v5 dll jadi performanya lebih baik untuk model vision saat ini
00:05:47dan beginilah bentuk pipeline-nya sebenarnya. jadi pertama-tama saya melabeli dataset, seperti saya mengambil dataset
00:05:54gambar apa pun, saya melabeli dataset gambar itu dengan q1 3.59b dan kemudian saya meneruskan dataset
00:06:02berlabel itu ke dua penilai, yang pertama adalah gemma4e4b yang merupakan penilai 8b dan kemudian yang kedua adalah
00:06:10lfm 2.5 vl yang berukuran hampir 2b, ini relatif lebih kecil. pada dasarnya saya mengecek riset dan lebih baik
00:06:18memiliki semacam ansambel penilai yang lebih kecil dan di atas semua itu saya menggabungkan penilaiannya. jadi saya juga mengecek
00:06:26riset seputar hal tersebut dan kebanyakan orang meminta vlm atau llm untuk memberikan skor kepadanya, tetapi skor tersebut
00:06:34sama sekali tidak berhasil, terutama jika model kalian ukurannya berbeda dengan penilainya um lalu saya meneruskannya
00:06:40untuk melatih rfd tr medium atau large. jadi saya sedikit mengobrol dengan orang-orang robofull dan mereka menyarankan untuk menggunakan
00:06:47itu dan saya akan, itu benar-benar berhasil, saya akan menunjukkannya kepada kalian sebentar lagi, tapi bagaimana cara kerjanya? jadi kalian
00:06:55mengambil repositorinya dan kemudian kalian tinggal bertanya oke, bisakah kamu melatihnya, bisakah kamu melakukan pelatihan pada dataset
00:07:04ini di hub dan kemudian itu akan dimulai. jika dataset itu memiliki label, kalian bisa langsung
00:07:11mulai melatih, tetapi jika tidak ada, kalian bisa mulai menganotasi dan pada dasarnya seperti dengan
00:07:19triknya adalah saya meneruskan kotak pembatas (bounding boxes) yang ditumpangkan pada gambar ke penilai, jadi pada dasarnya qn secara teknis menghasilkan
00:07:27kotak pembatas sebagai token, saya tidak meneruskannya, saya hanya menumpangkan kotak pembatas dan saya meneruskan gambar itu
00:07:33di atas beberapa label dan deskripsi label dan saya katakan oke, jika deskripsi label ini memiliki kotak pembatas
00:07:40di atasnya maka cukup um beri tahu saya apakah kalian menyetujuinya atau tidak dan kemudian penilai, saya menggabungkan putusan penilai
00:07:49berdasarkan kesepakatan minimum dan bukan konsensus yang mana akan saya jelaskan mengapa saya melakukannya dengan cara itu dan deskripsi
00:07:56label ini juga dihasilkan oleh coding agents dan kalian hanya perlu menyetujuinya sebagai manusia
00:08:03dan model-model yang saya gunakan di pipeline ini semuanya memiliki lisensi apache 2.0 kecuali untuk
00:08:10model lfm yang memiliki jenis lisensi di mana kalian semacam, jika kalian memiliki jumlah pendapatan tertentu
00:08:19setelah itu kalian baru membayarnya, tetapi kalian bisa menggunakannya dengan nyaman, ini besar dan untuk coding agents yang
00:08:26mengawasi pipeline ini awalnya saya bangun dengan opus 4.8 dan kemudian menjalankan alur kerjanya dengan glm 5.2
00:08:35yang melakukan pekerjaan dengan baik pada tugas jangka panjang sejujur-jujurnya, dan untuk infra saya sebenarnya bekerja di hugging
00:08:42face saya punya banyak kredit komputasi dan saya sangat tidak sabaran dalam hidup, jadi saya menggunakan cukup banyak
00:08:50perangkat keras untuk eksperimen, tetapi saya melakukan benchmark dan secara keseluruhan dibutuhkan sekitar tiga empat dolar jika kalian
00:08:58ingin menjalankan seluruh pipeline ini untuk melatih model, yang menurut saya gila. awalnya untuk q1 3.5 saya menggunakan
00:09:05serverless karena saya pikir oke ini praktis dan sangat murah, jadi saya menggunakan deep infra yang
00:09:12sangat-sangat murah jika kalian menggunakan together, lebih baik jika kalian melakukan pemrosesan batch melalui jobs dan kemudian
00:09:19untuk penjurian (judging) saya menggunakan hugging face jobs yang biayanya lebih murah dan untuk pelatihan saya menggunakan seperti l4
00:09:27tapi modelnya sangat kecil seperti rfdtr yang sangat kecil dan kalian bisa menggunakan yang lain, kalian bisa melakukannya
00:09:33secara lokal jika kalian mau. saya hanya tidak sabaran, saya ingin batch size yang besar, jadi ya, dan saya mengujinya pada dua masalah
00:09:42pertama, deteksi rambu lalu lintas uh kedua pemisahan (parsing) dokumen. untuk deteksi rambu lalu lintas saya
00:09:48sudah punya labelnya jadi saya benar-benar membandingkannya dengan anotasi ground truth apakah pipeline saya
00:09:54berfungsi atau tidak, dan untuk parsing dokumen saya sebenarnya tidak bisa melakukannya karena pada dasarnya saya menggunakan dataset doc vqa
00:10:02dan masalahnya adalah saya ingin mengekstrak gambar, tabel, saya tidak tahu tanda tangan dan sebagainya
00:10:08jadi ini seperti tugas baru dan saya ingin melihat apakah rfdtr benar-benar bisa mempelajarinya. jadi hasil pertama, itu berhasil! jadi yay
00:10:19kita mendapatkan presisi rata-rata (mean average precision) yang baik di atas 50 dan saya membandingkannya dengan, pada dasarnya saya punya test set
00:10:29dan saya mengambil test set itu dan memasukkannya ke qn lalu saya membandingkannya dengan pseudo-anotasi
00:10:35dan anotasi ground truth dari test set tersebut. ada sedikit perbedaan, tetapi itu sudah diduga
00:10:42karena itu dipelajari dari qn dan juga rock oak juga seperti nilai yang bagus jujur saja untuk use case
00:10:50seperti itu um dan untuk parsing dokumen, ia sebenarnya melakukan generalisasi yang mana menurut saya luar biasa. pada dasarnya
00:10:58di sini output model yang dilatih, kalian bisa melihat bahwa ia mendeteksi tanda tangan, sementara anotasi qn
00:11:06dari test set tersebut melewatkannya. jadi saya ingin mengatakan bahwa model ini sebenarnya juga melakukan generalisasi dengan sangat baik
00:11:12tapi kita berutang ini pada betapa bagusnya rfdtr sebagai backbone dalam satu hal, dan di sini kalian juga bisa melihat bagaimana
00:11:21model ini menangkap gambar secara teknis dan ini seperti satu banding satu. dan selagi saya membangun ini, saya sebenarnya
00:11:30menyadari bahwa saya tidak tahu apa-apa tentang membangun dengan agen vision, jadi saya punya beberapa temuan seputar hal ini
00:11:37jadi pertama-tama ada ketidakseimbangan penilaian yang besar jadi tergantung pada masalahnya, lfm cenderung sering menolak
00:11:44itu sebabnya saya tidak bisa mengambil konsensus karena jika saya, jika saya menghilangkan semua yang
00:11:50lfm dan gemma sepakati untuk dihapus, saya akan tertinggal dengan sangat sedikit contoh yang akan
00:11:58menyisakan generalisasi yang sangat buruk. jadi yang saya lakukan adalah oke, jika salah satu dari mereka bilang ya saya akan
00:12:04mengambil contoh tersebut dan untungnya itu bekerja dengan baik. tetapi jika kalian memiliki dataset yang besar dan jika kalian peduli
00:12:09tentang perolehannya (recall), saya sarankan kalian mengambil konsensus atau sekadar mengamati. untuk parsing dokumen, selisihnya
00:12:17tidak begitu besar. dan kedua uh pembuatan prompt-nya agak sulit, jadi ini satu-satunya bagian di mana sebagai
00:12:28manusia kalian harus menyetujui, oke modelnya menghasilkan prompt untuk kalian untuk penilai uh dan kemudian kalian
00:12:35akan berkata oke saya menyetujui ini karena kalian masih perlu melihatnya uh melihat
00:12:42sedikit dataset kalian, tidak ada yang bisa menghindari itu um dan ketiga dan ini sangat menarik karena
00:12:52coding agent kalian, sebaik apa pun itu, seperti kalian menggunakan opus 4.8 yang merupakan
00:12:59coding agent yang sangat baik um dia tidak tahu apa-apa selayaknya engineer computer vision serta kurang nalar (common sense), sebagai
00:13:06contoh, ia melakukan flip horizontal pada rambu lalu lintas atau melakukan jitter (guncangan) pada
00:13:14lampu lalu lintas yang mana pasti akan merusak dataset kalian dan membuatnya hancur. jadi saya menambalnya nanti sehingga kalian
00:13:21tinggal bilang oke saya tidak ingin augmentasi atau saya ingin augmentasi, dan coding agent kalian akan membantu kalian dalam hal itu
00:13:30Dan terakhir, bagian kedua dari toolkit ini adalah model pilihan saya sebagai alat.
00:13:35Repositori ini mencakup model favorit saya, mulai dari estimasi kedalaman hingga segmentasi zero-shot.
00:13:42Ini sebagian didukung oleh benchmark Hugging Face yang baru saja kami luncurkan beberapa bulan lalu.
00:13:48Pada dasarnya, kami memiliki papan peringkat benchmark dan di sana Anda dapat menemukan
00:13:55model-model terbuka beserta hasil evaluasinya, sehingga Anda bisa membandingkan berbagai model dari beragam ukuran.
00:14:02Saya selalu memperbaruinya, namun ini juga didukung oleh minat saya yang suka membaca
00:14:13makalah konferensi computer vision. Saya ingin mengapresiasi model ini karena
00:14:20tidak banyak orang yang mengetahuinya. Sebagian model tidak bisa melakukan segmentasi referensi terbuka,
00:14:26seperti saat Anda meminta "segmen mobil merah ini" dan model bisa melakukannya, tetapi jika Anda berkata
00:14:33"mobil merah di samping mobil oranye yang ada di sebelah mobil biru", model itu tidak akan bisa. Namun Falcon Perception,
00:14:39sebuah model buatan TII, benar-benar bisa melakukannya meski hanya berukuran 600 juta parameter dengan lisensi Apache 2.0.
00:14:47Jadi model inilah yang melakukan segmentasi zero-shot untuk saya.
00:14:51Ini adalah daftar yang tidak terbatas. Untuk estimasi pose, kami memiliki famili Sapiens
00:14:58untuk tugas-tugas berbasis manusia yang membutuhkan deteksi keypoint manusia,
00:15:04estimasi kedalaman manusia, dan sebagainya. Untuk deteksi zero-shot, saya punya Moondream 3 dan MM-Grounding-DINO,
00:15:13yang merupakan model berlisensi Apache 2.0. Model ini sangat bagus dan ukurannya sangat kecil dibanding Moondream.
00:15:20Saya menyediakan beberapa model dalam berbagai ukuran yang bisa Anda pilih sesuai perangkat keras Anda.
00:15:25Jika ingin cepat, pilih saja alternatif yang berukuran kecil. Untuk OCR, saya mengambilnya dari benchmark olmOCR
00:15:34dalam berbagai ukuran. Dan untuk estimasi kedalaman, saya menemukan bahwa model besarnya
00:15:40memiliki lisensi non-komersial, sedangkan versi lainnya tidak, jadi Anda bisa menggunakannya.
00:15:45Versi tersebut memiliki lisensi Apache 2.0 dan juga dilengkapi dukungan Supervision serta Tracker.
00:15:51Keduanya adalah pustaka dari Roboflow yang memungkinkan Anda melakukan pelacakan instansi, bounding box, dan sebagainya.
00:16:00Mengenai rencana ke depan, pertama-tama, saya bisa mendengar Anda berkata, "Ini pasti tidak akan berhasil untuk
00:16:06skenario penggunaan industri," karena industri memiliki komponen yang berbeda, seperti bagian-bagian yang sulit
00:16:13dideskripsikan, di mana bahasa alami bukanlah perantara yang baik. Menurut saya, deteksi berbasis gambar
00:16:21dapat membantu. Jika Anda belum tahu tentang deteksi berbasis gambar, pada dasarnya Anda memiliki contoh
00:16:27gambar, misalnya gambar Huggy di sini, lalu Anda meminta model, "Deteksi objek ini di dalam gambar ini
00:16:36di semua gambar yang ada." Saya merasa cara ini bisa sedikit membantu dalam skenario industri
00:16:41di mana objek tidak dapat dideskripsikan dengan bahasa alami. Selain itu, saya ingin mencoba penggabungan
00:16:52Intersection over Union (IoU). Jadi, Anda memiliki kotak yang diberi label dan kotak dari judge.
00:17:00Anda meminta judge membuat kotak, lalu mengambil nilai IoU-nya, daripada meminta judge menolak atau
00:17:06menerima. Saat ini saya juga sedang mengerjakan dukungan segmentasi. Terima kasih sudah mendengarkan!
00:17:14Jika Anda ingin mempelajari lebih lanjut, saya memiliki repositori vision kecil yang memuat segalanya tentang
00:17:20fine-tuning model, kuantisasi model, model multimodal, dan segala hal seputar vision, serta
00:17:27panduan tugas transformers yang selalu kami perbarui dengan banyak tutorial. Kami juga punya Hugging Face Skills
00:17:36yang memiliki keahlian khusus computer vision maupun keahlian infrastruktur, sehingga Anda bisa melakukan
00:17:43pelatihan hanya dengan satu prompt. Ini profil X/Twitter saya, dan repositori ini ada di GitHub
00:17:51mervenoyan/vision-intern. Saya rasa ada waktu untuk satu pertanyaan. Terima kasih banyak.
00:18:04Ya, dia bertanya apakah saya berencana melatih VLM itu sendiri, semacam metode peningkatan diri.
00:18:16Itu pasti sangat menarik, tetapi pertama-tama saya ingin menyelesaikan masalah para pengembang yang melatih
00:18:22model spesifik tugas lalu menerapkannya di edge. Setelah itu, baru bisa ke sana. Mungkin satu pertanyaan lagi? Ya.
00:18:34Kurasa tidak begitu. Saya hanya menggunakan agen koding karena ia memiliki
00:18:44konteksnya, jadi saya ingin ia menyusun prompt-nya. Mungkin satu lagi? Baik, terima kasih banyak.
00:19:04Jadi,

Description

Merve Noyan wrote a book on vision language models and now wants developers to stop calling them directly. Put one in front of a camera and you will never get real time; a small detector trained for the task runs at forty frames per second on a toaster and beats the VLM anyway. Her other complaint is licensing: people deploy a popular detector without noticing its copyleft license. So she built a toolkit that hands her favorite Apache 2.0 models to a coding agent, which she calls a clueless computer vision engineer, plus what she calls vibe training. Give it a dataset with no labels and it labels images with a nine billion parameter open VLM, passes the overlaid bounding boxes to two smaller VLM judges, merges their verdicts on minimum agreement rather than consensus, and trains RF-DETR. The whole run costs three or four dollars on Hugging Face jobs and inference providers. On road signs the trained detector lands a good mean average precision against ground truth, and on document parsing it generalizes, catching a signature the labeling model itself missed. The findings matter more: one judge rejects far more than the other, so consensus would have left too few examples; the judge prompts still need a human to approve them; and even the best coding agent flips traffic signs horizontally and jitters the color of traffic lights until told not to. She closes with the models as tools half of the toolkit, from a 600 million parameter model that segments the red car next to the orange car to pose, depth, and OCR picks, and plans for image guided detection where words cannot describe the part. Speaker info: - https://x.com/mervenoyann - https://www.linkedin.com/in/merve-noyan-28b1a113a - https://hf.co/merve Timestamps: 0:00 - Why developers should stop reaching for a VLM at runtime 1:51 - Read the license: move to Apache 2.0 models 2:46 - A toolkit for coding agents, the clueless computer vision engineer 3:41 - Vibe training: VLM as labeler, VLMs as judges, then train 5:40 - The pipeline: overlaid boxes, minimum agreement, RF-DETR 8:29 - What it costs: a few dollars end to end 9:40 - Results on road signs and document parsing 11:18 - Findings: judge imbalance, prompt approval, augmentation blunders 13:20 - Favorite models as tools, from segmentation to depth 15:52 - Future plans: image guided detection and IoU merging 17:57 - Q&A

Community Posts

No posts yet. Be the first to write about this video!

Write about this video