Проблема с навыками: хватит развертывать языковые модели с поддержкой зрения, используйте их с навыками — Мерве Ноян, Hugging Face

AAI Engineer
컴퓨터/소프트웨어창업/스타트업

스크립트

00:00:00Здравствуйте и добро пожаловать на доклад о «skill issue». На самом деле проблема больше не в навыках. К концу
00:00:22этого доклада вы сможете создавать многое с помощью моделей компьютерного зрения, если еще этого не делаете.
00:00:27Коротко обо мне: меня зовут Мерве. Я работаю с компьютерным зрением со времен LLaVA, а в последнее время занимаюсь агентами и локальными устройствами, потому что меня это увлекает. Я настолько люблю мультимодальные модели (VLM), что даже написала о них книгу. Но я больше не хочу, чтобы разработчики использовали VLM напрямую, я хочу, чтобы каждый разработчик начал
00:00:54создавать полноценные приложения компьютерного зрения от начала и до конца. Этот доклад даст вам отличную базу для этого. Частая ошибка разработчиков в том, что они пытаются использовать VLM абсолютно для всего, но вы никогда не получите режим реального времени. А под реальным временем я имею в виду, например, когда на тостере
00:01:18вы получаете 30-40 кадров в секунду, независимо от того, делаете ли вы классификацию изображений, сегментацию объектов или что-то еще.
00:01:28Кроме того, они не настолько надежны, как если бы вы обучили, например, RF-DETR, о котором Джозеф рассказывал в первом докладе.
00:01:39Он всегда превзойдет вашу мультимодальную модель, и сегодня я это докажу.
00:01:47Справа вы можете видеть, как я работаю с RF-DETR.
00:01:52И еще одна проблема: разработчики не читают лицензии. Каждый раз, когда я публикую что-то о детекции объектов, меня спрашивают про YOLO. YOLO — хорошая модель, но у нее, кажется, лицензия GPL 3.0.
00:02:07Готова поклясться, что есть разработчики, которые внедряют ее в продакшен, даже не подозревая,
00:02:12что за нее нужно платить. Поэтому сегодня я хочу, чтобы вы перешли на модели с лицензией Apache 2.0.
00:02:23Для этого я создала проект Vibe Vision. Меня вдохновил этот пост Мазияра.
00:02:30По сути, он дает модель SAM 3.1 в качестве инструмента для вызова модели Gemma 4, и это выглядит супервпечатляюще.
00:02:39И сегодня я собрала набор инструментов, с помощью которого вы можете делать то же самое, но с еще большим числом возможностей.
00:02:49То есть я как бы передаю свои знания. Во-первых, в этот набор входят мои любимые модели в качестве инструментов,
00:02:57чтобы вы могли предоставить их своему агенту, ведь ваш кодинг-агент пока слабо разбирается в компьютерном зрении.
00:03:03И когда я выбираю модель, я всегда проверяю
00:03:09следующие вещи: во-первых, лицензия — это главный приоритет, она должна быть Apache 2.0, MIT или
00:03:16другой некоммерческой. Во-вторых, производительность должна быть на высоте в зависимости от размера или
00:03:24архитектурных решений, поэтому я сверяюсь с бенчмарками, когда выходит модель с какой-нибудь конференции по CV.
00:03:31Ну и в-третьих, конечно же, «вайб». У этого набора инструментов есть вторая часть, и она больше похожа на
00:03:41часть обучения по «вайбу» — это самое интересное. Так что начнем с нее. Я поставила себя на место
00:03:47разработчика, который хочет создать CV-приложение. Если у меня есть размеченные изображения — отлично, я могу просто обучить модель
00:03:55или дать своему CV-агенту туториалы, чтобы он это сделал, ведь вся информация есть в открытом доступе —
00:04:02мы делаем для этого трансформеры. Но если у меня есть только картинки, мне нужно разметить их, а затем оценить
00:04:11качество аннотаций и только потом обучать модель. Но как сделать это в больших масштабах? На самом деле вы можете использовать
00:04:17VLM в качестве разметителя, а еще одну VLM — в качестве судьи, и затем обучить то, что вам нужно. Но
00:04:24как выглядит этот пайплайн? Я собрала его, и он включает в себя VLM для разметки, VLM-судью
00:04:35и этап обучения. Это долгоиграющая задача для кодинг-агентов, и здесь есть обширная инфраструктурная поддержка:
00:04:42вы можете запускать это локально или удаленно. По сути, всё работает на инфраструктуре Hugging
00:04:48Face, у нас есть Jobs, позволяющие выполнять разовую пакетную обработку или обучение.
00:04:54Также есть серверлесс-система маршрутизации Inference Providers, где можно подключать разных
00:05:00провайдеров, и бакеты для сброса промежуточных данных прямо поверх репозиториев датасетов,
00:05:07репозиториев моделей и так далее. Что же делает эту работу возможной? Во-первых, моя любимая модель RF-DETR и RF-DETR
00:05:17Segmentation — сейчас я как раз работаю над сегментацией. У нас появились более продвинутые агенты для долгоиграющих
00:05:24задач, ведь за процессом разметки, обучения и т. д. нужно постоянно присматривать.
00:05:32А более компактные, но мощные VLM позволяют разметить данные очень дешево. К тому же
00:05:40в библиотеке transformers прошла проведена проведена оптимизация v5, так что с вижн-моделями она работает еще лучше.
00:05:47И вот как выглядит этот пайплайн: сначала я размечаю датасет — беру набор изображений,
00:05:54абсолютно любой датасет с картинками, и размечаю его с помощью Qwen 2.5-VL 7B. Затем я передаю
00:06:02размеченный датасет двум судьям. Первый — Gemma 3 4B, это судья примерно на 8B параметров, а второй —
00:06:10LFM 2.5 VL объемом почти 2B, он относительно меньше. Я изучила исследования, и оказалось, что лучше
00:06:18использовать ансамбль из небольших судей. Затем я объединяю их вердикты. Я также изучила
00:06:26работы на эту тему: большинство просит VLM или LLM выставить какую-то оценку, но эти оценки
00:06:34совершенно не работают, особенно если ваши модели-судьи разного размера. Затем я отправляю
00:06:40данные на обучение RF-DETR Medium или Large. Я пообщалась с ребятами из Roboflow, и они посоветовали использовать
00:06:47именно ее. И это реально работает, я скоро покажу! Но как именно? Вы
00:06:55берете репозиторий и просто спрашиваете его: «Можешь обучить модель на этом датасете
00:07:04из Hub?» И процесс запускается. Если у датасета уже есть метки, вы можете сразу
00:07:11переходить к обучению. Если же меток нет, вы можете сначала начать аннотирование. И ключевая
00:07:19фишка здесь в том, что я передаю судье изображения с уже наложенными ограничивающими рамками. Qwen технически выводит
00:07:27рамки в виде токенов, но я не передаю их текстом, а просто накладываю рамки прямо на изображение
00:07:33вместе с метками и их описаниями и спрашиваю: «Если у этого описания есть рамка
00:07:40на картинке, то скажи, одобряешь ли ты ее или нет?» А затем я объединяю вердикты судей
00:07:49по принципу минимального согласия, а не полного консенсуса (чуть позже я объясню, почему). И эти
00:07:56описания меток также генерируются кодинг-агентами, а вы как человек просто утверждаете их.
00:08:03Все модели, которые я использовала в этом пайплайне, имеют лицензию Apache 2.0, за исключением
00:08:10модели LFM, у которой особая лицензия: если ваша выручка превышает определенный порог,
00:08:19придется платить. Но вы можете спокойно использовать ее. Что касается кодинг-агентов,
00:08:26контролирующих пайплайн, изначально я собрала всё на Opus 4.8, а затем запустила процесс на GLM 5.2,
00:08:35которая отлично справляется с долгими задачами. А по поводу инфраструктуры: я работаю в Hugging
00:08:42Face, у меня куча вычислительных кредитов, и я очень нетерпеливый человек, так что я использую мощное
00:08:50оборудование для экспериментов. Но я посчитала затраты: прогон всего пайплайна для обучения моделей
00:08:58обходится всего в 3–4 доллара, что просто невероятно! Изначально для Qwen 2.5 я использовала
00:09:05серверлесс, потому что это удобно и очень дешево. Я взяла DeepInfra — это очень,
00:09:12очень дешевый вариант. Если делать через Together, то лучше запускать пакетную обработку в Jobs.
00:09:19Для этапа оценки я использовала Hugging Face Jobs, это вышло дешевле. А для обучения снова взяла L4,
00:09:27хотя модель очень маленькая — RF-DETR крошечная, вы можете использовать что-то другое или вообще
00:09:33запустить локально. Я просто нетерпелива и хотела большой размер батча. Я протестировала всё на двух задачах:
00:09:42первая — распознавание дорожных знаков, вторая — парсинг документов. В случае с дорожными знаками
00:09:48у меня уже была эталонная разметка, поэтому я смогла сравнить результаты работы пайплайна с ней,
00:09:54чтобы проверить эффективность. С парсингом документов так сделать не получилось, потому что я использовала датасет DocVQA,
00:10:02а задача заключалась в извлечении изображений, таблиц, подписей и прочего.
00:10:08Это совершенно новая задача, и мне хотелось узнать, сможет ли RF-DETR ей обучиться. Первые результаты: это работает, ура!
00:10:19У нас хорошая средняя точность mAP@50. Я сравниваю обученную модель с тестовым набором:
00:10:29я беру тестовый набор, прогоняю через Qwen, а затем сравниваю псевдоразметку
00:10:35и реальную эталонную разметку этого тестового набора. Есть небольшая разница, но это ожидаемо,
00:10:42поскольку модель училась у Qwen. К тому же показатель ROC-AUC весьма достойный для такого
00:10:50сценария. Что касается парсинга документов, модель отлично обобщает данные, что меня просто поражает.
00:10:58Здесь вы видите результат работы обученной модели: она распознала подпись, хотя при разметке Qwen
00:11:06на этом тестовом наборе эта подпись была пропущена. Так что модель действительно прекрасно обобщает.
00:11:12И этим мы обязаны тому, насколько хороша архитектура RF-DETR сама по себе. Здесь вы также можете видеть,
00:11:21как она захватывает изображения — с точностью один в один. В процессе разработки я
00:11:30заметила, что совсем не умею работать с CV-агентами, так что у меня накопился ряд наблюдений.
00:11:37Во-первых, наблюдается сильный дисбаланс в оценках судей. В зависимости от задачи LFM склонна браковать
00:11:44очень много вариантов. Вот почему я не смогла опираться на полный консенсус: если бы я удалила всё,
00:11:50с чем согласились и LFM, и Gemma, у меня осталось бы крайне мало примеров, а это привело бы
00:11:58к очень плохой обобщающей способности. Поэтому я решила: если хотя бы одна из моделей говорит «да», я оставляю
00:12:04этот пример. И это сработало отлично! Но если у вас большой датасет и вам важна полнота (recall),
00:12:09советую брать консенсус или просто следить за результатами. При парсинге документов разница была не столь велика.
00:12:17Во-вторых, генерация промптов — довольно сложная вещь. Это единственная часть, где вам как человеку
00:12:28нужно дать утверждение. Модель генерирует промпты для судьи, а вы
00:12:35проверяете и говорите: «Окей, утверждаю». Вам все равно придется немного просмотреть данные —
00:12:42от этого никуда не деться. В-третьих (и это самое интересное), ваш
00:12:52кодинг-агент, насколько бы хорош он ни был (даже если взять Opus 4.8, который считается отличным
00:12:59инженером), совершенно не разбирается в компьютерном зрении и лишен элементарного здравого смысла.
00:13:06К примеру, он делал горизонтальное отражение для дорожных знаков или добавлял цветовой шум
00:13:14для светофоров, что гарантированно испортит и сломает ваши датасеты. Позже я это исправила,
00:13:21и теперь вы можете просто указать, нужно ли делать аугментацию, а агент вам с этим поможет.
00:13:30И наконец, вторая часть этого инструментария — мои любимые модели в качестве инструментов.
00:13:35В этом репозитории собраны мои любимые модели, от оценки глубины до сегментации без обучения.
00:13:42И это частично работает на бенчмарках Hugging Face, которые мы запустили пару месяцев назад.
00:13:48По сути, у нас есть лидерборд бенчмарков, и там представлены
00:13:55открытые модели и результаты их оценки, так что можно сравнивать модели разных размеров.
00:14:02Я поддерживаю его в актуальном состоянии, но также этим занимаюсь я, так как люблю читать
00:14:13статьи с конференций по компьютерному зрению. Хочу отметить эту модель, потому что
00:14:20немногие о ней знают. Некоторые модели не могут делать открытую сегментацию по ссылке.
00:14:26Например, вы можете сказать: «отсегментируй эту красную машину», и она сделает, но если сказать:
00:14:33«красную машину рядом с оранжевой, которая рядом с синей», она справится. A Falcon Perception —
00:14:39модель от TII — на самом деле может это сделать, имея всего 600 млн параметров и лицензию Apache 2.0.
00:14:47Так что она выполняет для меня zero-shot сегментацию.
00:14:51И это не исчерпывающий список: для оценки поз у нас есть семейство Sapiens
00:14:58для задач, ориентированных на человека, где нужно определять ключевые точки,
00:15:04оценивать глубину и так далее. Для zero-shot детекции у меня есть Moondream 3 и MM-Grounding-DINO,
00:15:13модель с лицензией Apache 2.0. Она тоже очень хороша и очень мала по сравнению с Moondream.
00:15:20Я предлагаю несколько моделей разных размеров в зависимости от вашего железа, чтобы вы могли выбрать.
00:15:25Если нужна скорость, выбирайте легкую альтернативу. Для OCR я взяла варианты из бенчмарка olmOCR
00:15:34разных размеров, а для оценки глубины я обнаружила, что у крупной модели
00:15:40некоммерческая лицензия, а у остальных — коммерческая, так что вы можете их использовать.
00:15:45У той модели лицензия Apache 2.0, и она идет с поддержкой Supervision и трекера.
00:15:51Это библиотеки от Roboflow, которые позволяют отслеживать экземпляры, ограничивающие рамки и т. д.
00:16:00И о планах на будущее. Во-первых, я слышу, как вы говорите: «Это точно не сработает
00:16:06для промышленных сценариев», потому что у них другие особенности, например, трудноописуемые
00:16:13детали, и естественный язык тут не лучший подход. В этом смысле детекция по изображению
00:16:21могла бы помочь. Если вы не знаете о детекции по изображению: у вас есть пример
00:16:27изображения, например, Хагги, и вы просите модель: «Найди этот объект на этом изображении
00:16:36среди всех картинок». Мне кажется, это может помочь в промышленных задачах, где
00:16:41нельзя описать объект естественным языком. Также я хочу попробовать
00:16:52объединение на основе Intersection over Union. То есть у вас есть размеченные рамки и рамки судьи:
00:17:00вы просите модель-судью сгенерировать рамку, а затем берете Intersection over Union вместо отклонения или
00:17:06принятия. Сейчас я работаю над поддержкой сегментации. Спасибо за внимание! Если
00:17:14хотите узнать больше: у меня есть небольшой репозиторий по компьютерному зрению, там есть всё
00:17:20о дообучении моделей, квантовании, мультимодальных моделях, всё о зрении, а также
00:17:27руководства по задачам Transformers, мы обновляем их, там много туториалов. Еще у нас есть Hugging Face Skills,
00:17:36где есть навыки по компьютерному зрению и инфраструктурные навыки, чтобы запускать
00:17:43обучение в один промпт. Вот мой профиль в Twitter, а этот репозиторий на GitHub:
00:17:51mervenoyan/vision-intern. Думаю, у меня есть время на один вопрос, большое спасибо!
00:18:04Да, он спрашивает, планирую ли я обучать сами VLM, что-то вроде самосовершенствования.
00:18:16Это было бы здорово, но сначала я хочу решить проблему разработчиков, которые обучают
00:18:22узкоспециализированные модели и разворачивают их на периферийных устройствах. А потом, возможно, и это. Еще вопрос?
00:18:34Не совсем, не думаю. Я просто использовала, потому что агенту для написания кода нужен
00:18:44контекст, и я хотела, чтобы он сгенерировал промпт. Может, еще один? Хорошо, всем огромное спасибо!
00:19:04Итак,

설명

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

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기