Перейти к содержанию
Публикация AiManual

Mirage от Cactus Compute: визуальная модель на 22 МБ, которая видит сцену за 74 мс

Mirage от Cactus Compute - визуально-языковая модель на 22 МБ: 51,3 млн параметров, 74 мс на NPU Galaxy S26 и попытка дать текстовой LLM зрение без дообучения.

Коротко

Что будет в материале

  1. 01

    Что такое Mirage от Cactus Compute и кому она адресована

  2. 02

    Скорость на устройстве: 74 мс на NPU и 107 мс на CPU Galaxy S26

  3. 03

    Архитектура Mirage: как уложиться в 22 МБ при 51,3 млн параметров

  4. 04

    Главный тезис авторов: структурированный вывод Mirage как зрение для текстовой LLM

Mirage - визуально-языковая модель от Cactus Compute с файлом весов 22 МБ. Её целевые устройства: телефоны, носимые гаджеты и роботы. За один проход модель выдаёт описание сцены, детекцию объектов, OCR, сегментацию, анализ пространственных связей и решения.

Авторы замерили end-to-end работу на Samsung Galaxy S26: 74 мс на NPU и 107 мс на CPU. Параметров в модели 51,3 млн: 7,8 млн в кодировщике изображения, 40,8 млн в языковом декодере, 2,6 млн в OCR- и пространственных головах. Текстовые описания поддерживают английский, немецкий, французский, испанский, итальянский, нидерландский и польский.

Вторая часть истории интереснее первой. Cactus Compute утверждает, что структурированный вывод Mirage, переданный текстовой LLM, даёт той возможности VLM без дообучения: на 256 вопросах VQAv2 Qwen3-0.6B поднялась с 9,3 до 31,3 балла. Дальше - архитектура, сценарии запуска и разбор того, где этот приём ломается.

Что такое Mirage от Cactus Compute и кому она адресована

Cactus Compute работает в узкой нише: сжимает модели до минимальной практичной формы, которая ещё приносит пользу на потребительском железе. В этой линейке уже есть семейство Simple Attention и Hadamard MLP, на котором построены Needle и Whistle, а Mirage закрывает визуальную часть. Формулировка из публикации Cactus Compute предельно конкретна: небольшая визуальная модель для телефонов, носимых устройств, роботов и других потребительских устройств.

Ключевые характеристики в одном месте

ПараметрЗначение
РазработчикCactus Compute
Размер файла весов22 МБ
Всего параметров51,3 млн
Кодировщик изображения7,8 млн параметров
Языковой декодер40,8 млн параметров
OCR- и пространственные головы2,6 млн параметров
Задачи за один проходописание сцены, детекция объектов, OCR, сегментация, пространственные связи, решения
Латентность на Samsung Galaxy S2674 мс на NPU, 107 мс на CPU
Языки описанийанглийский, немецкий, французский, испанский, итальянский, нидерландский, польский

Чем Mirage отличается от привычных VLM

Разница идёт по четырём осям. Размер: 22 МБ против гигабайтных весов, с которыми обычно работают локальные VLM на десктопе. Железо: целевая платформа - телефон или носимое устройство с NPU, а не GPU на 16-24 ГБ. Задачи: один проход закрывает и восприятие (детекция, OCR, сегментация), и разбор сцены (связи между объектами, решения), тогда как обычно это набор отдельных моделей. Язык: описания сразу на семи языках, а не только на английском.

Цена компактности - точность. 51,3 млн параметров не могут тягаться с многомиллиардными моделями на сложных сценах, и пример со скейтбордом ниже это показывает. Mirage стоит оценивать как дешёвый сенсор восприятия, а не как замену крупной VLM.

Скорость на устройстве: 74 мс на NPU и 107 мс на CPU Galaxy S26

Замеры, которые приводят авторы, - end-to-end: от подачи кадра до готового структурированного ответа, а не время одной операции. На Samsung Galaxy S26 получилось 74 мс на NPU и 107 мс на CPU.

Переведём в кадры в секунду: примерно 13 на NPU и 9 на CPU. Для интерактивных сценариев этого достаточно, ответ на изменение сцены приходит быстрее, чем человек успевает осознанно среагировать. Для потокового видео на 30-60 кадрах в секунду пропускной способности нет: поток придётся прореживать до нескольких кадров в секунду и запускать модель по событию.

Оговорка важная: замеры сделаны на одном устройстве. Переносить 74 мс на другой чип, другой драйвер или другую версию фреймворка без проверки нельзя, у NPU решающую роль играет поддержка со стороны софта.

NPU против CPU: что это значит для батареи и выбора устройства

NPU выигрывает по латентности: 74 мс против 107 мс, примерно на треть быстрее. На практике выбор между ними решают не эти 33 мс, а доступность: NPU требует поддержки в рантайме и драйверах, а на части устройств модель спокойно пойдёт только по CPU. CPU-путь медленнее, зато универсален и предсказуем.

Цифр по энергопотреблению авторы не приводят, поэтому обещаний про расход батареи лучше не делать. Логика подсказывает, что NPU рассчитан на инференс моделей и тратит меньше энергии на ту же работу, но проверять это нужно на конкретном устройстве и конкретной сборке.

Архитектура Mirage: как уложиться в 22 МБ при 51,3 млн параметров

Основная масса весов сидит в декодере. 40,8 млн параметров у языковой части, которая превращает признаки изображения в текст: описания, имена объектов, координаты, короткие рассуждения. Кодировщик изображения забирает 7,8 млн, а OCR- и пространственные головы вместе 2,6 млн, то есть меньше 6% всей модели.

22 МБ на 51,3 млн параметров - это в среднем около 3,5 бита на параметр. Для сравнения: те же 51,3 млн в fp8 заняли бы примерно 51 МБ. Схему квантования авторы в публикации не расписывают, но арифметика говорит, что в файле лежат веса заметно ниже 4 бит.

HConvGLU и преобразования Адамара простыми словами

Кодировщик смешивает информацию между каналами через фиксированные преобразования Адамара и небольшие обучаемые свёртки. Преобразование Адамара - заранее заданная операция над вектором. Её не надо хранить как матрицу весов, и она не требует умножения на большую матрицу: каналы перемешиваются по жёсткой схеме, а небольшие свёртки доводят результат до нужного вида.

Экономия двойная. В файле меньше чисел, потому что основная часть смешивания не обучается. И вычислений меньше: фиксированные операции дешевле плотных матричных умножений, что на мобильном NPU важно.

Общие признаки для детекции и масок

Детекция и сегментация в Mirage не дублируют работу. Кодировщик считает признаки изображения один раз, а головы читают их с общих карт признаков, отсюда и 2,6 млн параметров на OCR и пространственные задачи. Специализированные головы добавляют разметку, а не второй проход по картинке.

Декодер построен на семействе Simple Attention и Hadamard MLP, том же, что стоит за Needle и Whistle. Отсюда общая логика линейки: вместо тяжёлых матриц внимания более дешёвые операции, а выразительность добирается структурой.

Главный тезис авторов: структурированный вывод Mirage как зрение для текстовой LLM

Идея простая до дерзости. Mirage не пытается быть ассистентом: она выдаёт структурированную запись о сцене, а отвечать на вопрос поручают обычной текстовой модели, которая получает эту запись как контекст.

Что именно передаётся текстовой модели

В записи: имена объектов, их свойства, отношения между ними и компактная цепочка рассуждений. Читающая модель получает вопрос плюс этот разбор и формирует ответ. Дообучение не используется ни на одной стороне: ни Mirage под читающую модель, ни читающая модель под формат Mirage.

Формат ответа при этом жёсткий: эксперименты требовали JSON-объекта со строковым полем answer. Эта деталь позже больно ударит по метрикам.

Цифры на VQAv2: 9,3 против 31,3 у Qwen3-0.6B

Эксперимент шёл на 256 вопросах VQAv2 из 128 изображений, метрика - VQA consensus credit из 100, ни одна модель не дообучалась. Результаты Qwen3-0.6B, как их приводит Cactus Compute в своём разборе:

УсловиеБалл
Только вопрос9,3
Запись Mirage и полная цепочка рассуждений31,3
Запись другого изображения22,2
Запись без цепочки рассуждений33,1

Рост с 9,3 до 31,3 - это данные авторов, независимой проверки в материале нет. Показательна контрольная точка: запись от другого изображения дала 22,2. Судя по разнице, примерно 9 баллов даёт привязка записи именно к тому кадру, о котором спрашивают.

Самое интересное в последней строке. Удаление цепочки рассуждений дало 33,1 балла, то есть выше, чем с ней. Авторы прямо пишут, что надёжного выигрыша от цепочки не нашли: достаточно структурированного ответа. Для практики это значит экономию на генерации рассуждений, более низкую латентность и меньше поводов сломать формат.

Где идея ломается: большие модели, JSON и промахи восприятия

Прирост на 0,6B не масштабируется автоматически. С теми же промптами и наблюдениями Mirage крупные модели выросли скромнее:

МодельБез записиС записью Mirage
Qwen3-1.7B27,531,6
Qwen3-4B-Instruct-250733,437,3

Плюс 4,1 и 3,9 балла: приятно, но это уже не спасение слабой модели, а небольшой бонус к сильной. Чем выше стартовая планка читающей модели, тем меньше относительный выигрыш от чужой записи о сцене.

Почему формат JSON съедает баллы

Ответ без корректного JSON-объекта со строковым полем answer получал ноль. Метрика смешивает две вещи: качество ответа и дисциплину формата. Масштаб потерь виден по числам: Nemotron с записью и цепочкой нарушил требование в 214 случаях из 256, Qwen3-1.7B - в 34.

Практический вывод для интеграции: ставить парсер и валидацию формата, при провале переспрашивать или чинить ответ программно. Иначе модель, которая всё поняла, но добавила лишний текст вокруг JSON, получит ноль в метрике и пустой ответ в проде.

Случай со скейтбордом: как запись Mirage ухудшила ответ

На одной фотографии со скейтбордом Mirage не увидел скейтборд и описал машины, людей и обувь. Qwen по одному вопросу угадал «a skateboard». После чтения записи и цепочки Mirage он ответил «a car».

Это худший сценарий для схемы: структурированный вывод выглядит авторитетно, и читающая модель доверяет ему больше, чем собственному выводу из вопроса. Ошибка восприятия маленькой модели не гасится, а усиливается. Для систем, где промах стоит дорого, нужен второй источник сигнала или порог уверенности.

Практические сценарии локального запуска Mirage

Сценарии, под которые Mirage подходит по заявленным возможностям:

  • OCR на устройстве без облака;
  • детекция объектов и сегментация для носимых устройств;
  • анализ пространственных связей для роботов и манипуляторов;
  • описание сцены для ассистентов доступности;
  • мультиязычные подписи на семи языках;
  • структурированный препроцессор для текстовой LLM в пайплайне, где нет отдельной VLM.

Роботы и носимые устройства: почему размер важнее бенчмарков

В робототехнике и носимой электронике бюджет памяти и энергии жёсткий. 22 МБ влезают в устройство, где многогигабайтная VLM не рассматривается даже теоретически: в контроллер, в камеру, в очки, в манипулятор. 74 мс на NPU дают около 13 обновлений в секунду, и для реакции в контуре управления этого хватает, если не требовать высокой точности на сложных сценах.

Мультиязычный OCR и описание сцены офлайн

Самый доступный для проверки кейс: распознать текст и описать сцену без обращения к облаку, на семи языках. Для приложений с персональными данными, для поездок без сети, для складских терминалов это снимает вопрос отправки кадров на сервер. Качество OCR и описаний заявлено авторами, независимых замеров в материале нет: перед внедрением нужен собственный прогон на своих изображениях.

Стоит ли брать Mirage: выводы и чего ждать дальше

Mirage полезна там, где важны размер и латентность, а не максимальная точность. Мобильным и встраиваемым разработчикам она даёт рабочий набор восприятия в 22 МБ. Робототехнике быстрый сенсор с детекцией, масками и пространственными связями. Пользователям локальных LLM способ показать текстовой модели картинку без второй модели на несколько гигабайт.

Не подходит она там, где промах восприятия недопустим: медицинская визуализация, точные измерения, контроль качества с высокими штрафами за ошибку. Смешанные результаты на крупных моделях, чувствительность к формату JSON и история со скейтбордом - три причины не строить на Mirage критичный пайплайн без подстраховки.

Авторы анонсировали следующий шаг: дообучить читающую модель на записях Mirage в паре с вопросами и короткими ответами и поделиться результатами. Если это сработает, схема «маленький сенсор плюс текстовая LLM» станет предсказуемее. Пока Mirage - сильный инженерный результат с честно описанными границами, и проверять её стоит на своих данных, а не на чужих цифрах из исходной публикации.

Подписаться на канал