LocateAnything: как NVIDIA ускорила визуальный grounding в 10 раз

LocateAnything: как NVIDIA ускорила визуальный grounding в 10 раз

Когда vision-language модель (VLM) пытается найти объект на изображении, она обычно делает это так же, как генерирует текст — по одному токену за раз. Координаты bounding box разбиваются на цифры, цифры превращаются в токены, и модель предсказывает их последовательно: сначала «1», потом «2», затем «4»… Проблема в том, что геометрия прямоугольника — это не текст. Координаты x1, y1, x2, y2 связаны между собой жёстче, чем слова в предложении, а последовательное декодирование создаёт узкое горлышко, которое тормозит всё остальное. В мае 2026 исследователи из NVIDIA и четырёх университетов представили LocateAnything — фреймворк, который решает эту задачу иначе: предсказывает каждый bounding box целиком, за один шаг.

Результат — 12.7 bounding boxes в секунду на одном H100 в стандартном режиме, что более чем в 10 раз быстрее текстового Qwen3-VL и в 2.5 раза быстрее ближайшего конкурента Rex-Omni. При этом точность не падает, а растёт: +3.8% mean F1 на LVIS и +1.8% на COCO. Как это работает и почему это важно для робототехники, интерфейсов и встроенных систем — разбираем ниже.

Что такое визуальный grounding и почему он важен

Визуальный grounding — это способность модели связать текстовый запрос с конкретной областью изображения. Если вы просите ассистента «выдели красный стакан на столе», grounding — это именно то, что превращает слова в координаты прямоугольника вокруг стакана. Без этого VLM может описать картинку, но не может на неё воздействовать: не нажмёт кнопку, не поднимет объект, не проверит документ.

Традиционно grounding и детекция решались специализированными моделями — Faster R-CNN, DETR, Deformable-DETR, Grounding DINO. Они быстрые, но узкие: заточены под конкретные задачи и не понимают естественный язык. Современные VLMs, такие как Qwen3-VL или DeepSeek-VL2, умеют и понимать запрос, и локализовать объект, но делают это через генерацию координатных токенов — по одному за раз. Это создаёт два параллельных дефекта: структурные галлюцинации (когда координаты не согласованы друг с другом) и высокую латентность (потому что каждый токен требует отдельного forward pass через сеть).

Параллельное декодирование как атомарная операция

LocateAnything строится на идее Parallel Box Decoding (PBD). Вместо того чтобы сериализовать 2D-бокс в поток 1D-токенов, фреймворк трактует каждый bounding box как атомарную единицу, которую можно предсказать за один forward pass. Это не просто оптимизация скорости — это изменение парадигмы: модель учится сохранять геометрическую когерентность внутри бокса, потому что все четыре координаты генерируются совместно, а не независимо.

Архитектурно LocateAnything — это нативно разрешённая VLM, предобученная на масштабных корпусах изображений и текста, с последующим двухэтапным дообучением. На первом этапе в обучающую смесь добавляется 138 миллионов запросов, связанных с grounding и детекцией. На втором этапе доля общих данных снижается до 20%, а доля плотных сцен — с множеством перекрывающихся объектов — намеренно увеличивается, чтобы модель лучше разделяла экземпляры в хаотичных кадрах.

Ключевой механизм — блочное Multi-Token Prediction (MTP), выровненное по структуре bounding box. Стандартные MTP-методы, такие как SDLM или Block Diffusion, ускоряют декодирование, но заставляют модель учить ложные кросс-граничные паттерны: токены из разных боксов смешиваются в одном блоке, и сеть начинает «додумывать» связи, которых нет. PBD строго выравнивает границы MTP-блоков с границами геометрических единиц, поэтому каждый блок содержит только координаты одного бокса — и ничего больше.

Скорость и точность: цифры с бенчмарков

Оценки проводились на одиночном NVIDIA H100 с batch size 1 — конфигурация, максимально приближённая к реальному edge-деплою. В стандартном гибридном режиме LocateAnything-3B выдаёт 12.7 BPS (boxes per second). Для сравнения: Qwen3-VL-4B на текстовых координатах — 1.1 BPS, Rex-Omni-3B на квантованных координатах — 5.0 BPS. Это означает, что в задаче с 10 объектами на кадре LocateAnything закончит за меньшее время, чем конкуренты начнут.

Но скорость без точности бесполезна. На общем детекции COCO LocateAnything набирает 54.7 mean F1, обгоняя Rex-Omni на 1.8 процентных пункта. На LVIS, где объекты распределены по длинному хвосту редких категорий, разрыв шире: 50.7 mean F1 против 46.9 у Rex-Omni — +3.8 п.п. На Dense200 и VisDrone, специализированных бенчмарках для плотных сцен, модель показывает 58.7 и 39.9 mean F1 соответственно, существенно опережая специализированные детекторы и другие VLMs.

Интереснее всего результаты на нетекстовых задачах. В grounding интерфейсов (ScreenSpot-Pro) LocateAnything-3B достигает 60.3 mean F1, обгоняя Qwen3-VL-30B-A3B и специализированные UI-модели вроде GUI-Owl-32B. В документном анализе — 76.8 mean F1 на DocLayNet и 70.1 на M6Doc, что превосходит Rex-Omni на заметную маржу. Даже в понимании референтных выражений (RefCOCOg, HumanRef) модель остаётся конкурентоспособной: 77.6 mean F1 на RefCOCOg test и 78.7 на HumanRef.

Почему параллельное декодирование лучше последовательного

Абляционные эксперименты на COCO показывают, что выигрыш PBD — не случайность. Когда исследователи сравнили три формы представления координат под единой парадигмой NTP, результаты оказались однозначными. Текстовое представление (координаты как строки цифр) дало 49.1 mean F1. Квантованное представление (дискретные токены для координат) — 50.1. PBD в медленном режиме (один бокс за шаг, но без MTP-ускорения) — 52.1. То есть даже без ускорения просто правильная геометрическая формулировка даёт +2.0 п.п. к F1.

Если добавить MTP, картина меняется резко. Структурно-агностичные MTP-методы вроде SDLM-B6 достигают 46.1 F1 при 5.5 BPS — быстрее, чем базовый NTP, но точность падает. SDLM-B8 ускоряется до 6.7 BPS, но F1 падает до 45.8. Block Diffusion-B6 показывает 44.8 F1 при 4.7 BPS. PBD в быстром режиме выдаёт 16.9 BPS при 49.6 F1 — и это без потери точности по сравнению с квантованным NTP. В гибридном режиме, который динамически балансирует между скоростью и надёжностью, получается 13.2 BPS и 51.6 F1 — лучшее из обоих миров.

Разница в том, что SDLM и Block Diffusion учат модель предсказывать блоки токенов, не зная, где заканчивается один бокс и начинается другой. PBD знает — и поэтому не тратит параметры на выучивание ложных зависимостей между несвязанными координатами.

Три режима инференса для разных сценариев

LocateAnything предлагает три режима работы, которые можно переключать без переобучения. Slow Mode предсказывает один бокс за шаг — максимально надёжно, но медленно (3.9 BPS). Fast Mode использует блочное MTP на полную мощность: 16.9 BPS, с небольшим снижением точности. Hybrid Mode — режим по умолчанию — адаптивно выбирает стратегию в зависимости от сцены: если объектов мало, он работает почти как Fast; если сцена плотная и перекрытая, он снижает темп, чтобы не потерять точность.

В плотных сценах Hybrid Mode может ускоряться до ~25 BPS почти без потери качества, потому что MTP-блоки эффективнее задействуются, когда на изображении много объектов. Это обратная зависимость от обычных VLMs, которые замедляются пропорционально числу объектов — ведь каждый объект требует дополнительных токенов, а значит, дополнительных forward passes.

Датасет из 138 миллионов запросов

Техническое новшество PBD работает в паре с масштабом данных. Исследователи построили движок LocateAnything-Data, который сгенерировал 138 миллионов обучающих пар «запрос — изображение — координаты». Распределение по задачам показательно: 66.9% — общая детекция объектов, 16.5% — grounding UI-элементов, 7.3% — понимание референтных выражений, 3.6% — локализация текста, 3.5% — анализ документной вёрстки, 2.2% — точечная локализация.

Данные собраны из открытых источников и дополнены синтетически. Для детекции использовались COCO, LVIS, Objects365, OpenImages; для UI — AITW, Mind2Web, GUI-World; для документов — DocLayNet, M6Doc, DocBank; для текстовой локализации — TotalText, ICDAR, TextOCR. Ключевой приём — multi-target grounding: когда на изображении несколько экземпляров одного класса, движок генерирует запросы, которые учат модель различать их по атрибутам, пространственным отношениям и контексту. Это объясняет высокие показатели на плотных бенчмарках вроде Dense200.

Практические следствия для индустрии

Первое и очевидное применение — робототехника. Встроенные системы на Jetson или в автономных агентах работают в реальном времени, и задержка в 100 мс на декодирование координат может означать разницу между успешным захватом объекта и промахом. LocateAnything даёт десятикратный запас по скорости при сохранении точности, что позволяет либо использовать меньшее железо, либо обрабатывать больше объектов за тот же бюджет.

Второе направление — интерфейсные агенты. Модели вроде GTA1 или GUI-Owl специализируются на навигации по интерфейсам, но требуют отдельных архитектур и данных. LocateAnything показывает, что универсальная VLM может достичь сопоставимой или лучшей точности на ScreenSpot-Pro, оставаясь при этом общецелевой моделью. Это снижает фрагментацию: вместо отдельного стека для UI, отдельного для документов и отдельного для робототехники можно использовать одну модель с переключаемыми режимами.

Третье — документный анализ и OCR. Результаты на DocLayNet (76.8 mean F1) и M6Doc (70.1) превосходят не только VLMs, но и специализированные детекторы вроде DocLayout-YOLO на ряде метрик. Для enterprise-приложений, где документы приходят в непредсказуемых форматах, универсальная модель с высокой точностью layout-анализа означает меньше ручной настройки pipeline'ов.

Часто задаваемые вопросы

Нужно ли переобучать модель для переключения между режимами Slow, Fast и Hybrid?

Нет. Все три режима — это варианты инференса одной и той же модели. Переключение происходит через изменение параметров генерации, а не через дообучение. Это позволяет адаптировать скорость под задачу в runtime: например, использовать Fast Mode для предварительной фильтрации, а Hybrid — для финальной локализации.

Работает ли LocateAnything только с bounding boxes или поддерживает точечную локализацию?

Поддерживает и то, и другое. Parallel Box Decoding обобщается на точки как вырожденные случаи боксов, а также на более сложные геометрические примитивы. В статье приводятся результаты на point-based задачах, хотя основной фокус — bounding box grounding и детекция.

Можно ли использовать PBD с другими базовыми моделями, кроме той, что в статье?

Да. Абляции показывают, что PBD обобщается на разные backbone'ы. Ключевое требование — способность модели работать с блочным MTP, выровненным по геометрическим единицам. Это означает, что метод можно перенести на другие VLMs, включая открытые веса вроде Qwen3-VL или InternVL, при условии адаптации training pipeline.

Итог

LocateAnything — это не просто очередной SOTA в визуальном grounding. Это демонстрация того, что парадигма декодирования matters не меньше, чем масштаб модели или объём данных. Последовательное предсказание координат — наследие языковой генерации, которое плохо ложится на геометрию. Parallel Box Decoding убирает это несоответствие и получает выигрыш сразу по двум осям: скорость растёт в 2.5–10 раз, а точность — на 1.8–3.8 процентных пункта.

Для инженеров и продуктовых команд это означает, что визуальный grounding перестаёт быть бутылочным горлышком в real-time pipeline'ах. Для исследователей — что MTP и структурированное декодирование заслуживают внимания в любой задаче, где выход имеет явную геометрическую или реляционную структуру. А для рынка VLMs — что NVIDIA продолжает задавать темп в архитектурных инновациях, и конкуренция здесь только начинается.

← Все записи