<НА ГЛАВНУЮ

PyVision: Python-фреймворк, позволяющий ИИ создавать инструменты для визуального анализа на лету

PyVision — новый Python-фреймворк, позволяющий ИИ самостоятельно создавать и улучшать инструменты для сложных визуальных задач, значительно повышая эффективность по сравнению с существующими моделями.

Задачи визуального мышления для ИИ

Визуальные задачи требуют от моделей искусственного интеллекта умения интерпретировать и анализировать визуальную информацию, сочетая восприятие с логическим рассуждением. Такие задачи охватывают области медицины, визуальной математики, символических головоломок и визуальных вопросов. Успех требует не просто распознавания объектов, а динамической адаптации, абстрагирования и понимания контекста. Модели должны анализировать изображения, выделять значимые признаки и зачастую давать пошаговые объяснения или решения, связанные с визуальным содержанием.

Ограничения существующих моделей

Многие современные модели испытывают трудности с адаптацией стратегий рассуждения под разные визуальные задачи. Они часто полагаются на шаблоны или жестко заданные алгоритмы, не умеют решать незнакомые проблемы или создавать новые решения. Абстрактное мышление и глубокое понимание контекста остаются серьезными вызовами. Отсутствие возможности автономного создания инструментов ограничивает их эффективность.

Статичные инструменты и одноэтапная обработка

Известные решения, такие как Visual ChatGPT, HuggingGPT и ViperGPT, используют фиксированные инструменты (сегментация, детекция), но ограничены предопределёнными рабочими процессами. Они работают линейно и не могут изменять или расширять набор инструментов во время задачи, что снижает креативность и препятствует многоэтапному рассуждению.

Представляем PyVision: динамическое создание инструментов на Python

PyVision, разработанный учёными из Shanghai AI Lab, Rice University, CUHK, NUS и SII, позволяет крупным мультимодальным языковым моделям (MLLM) самостоятельно создавать и выполнять Python-инструменты, адаптированные под конкретные визуальные задачи. В отличие от статичных моделей, PyVision работает в многошаговом цикле, динамически создавая и дорабатывая инструменты.

Как работает PyVision

Получив запрос пользователя и визуальные данные, MLLM (например, GPT-4.1 или Claude-4.0-Sonnet) генерирует Python-код на основе запроса. Код выполняется в изолированной среде. Результаты (текстовые, визуальные или числовые) возвращаются модели. Используя обратную связь, модель пересматривает стратегию, создает новый код и повторяет процесс до достижения решения. Поддерживается сохранение состояний между шагами для последовательного рассуждения.

PyVision оснащён мерами безопасности, включая изоляцию процессов и структурированный ввод-вывод, обеспечивая стабильность при сложных вычислениях. Используются популярные Python-библиотеки: OpenCV, NumPy, Pillow для сегментации, OCR, улучшения изображений и статистического анализа.

Улучшения в производительности

Тесты подтвердили эффективность PyVision. На бенчмарке визуального поиска V* точность GPT-4.1 выросла с 68,1% до 75,9% (+7,8%). На символическом визуальном бенчмарке VLMsAreBlind-mini точность Claude-4.0-Sonnet увеличилась с 48,1% до 79,2% (+31,1%). Другие улучшения: +2,4% и +2,5% на MMMU и VisualPuzzles для GPT-4.1; +4,8% и +8,3% на MathVista и VisualPuzzles для Claude-4.0-Sonnet.

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

Новый этап в визуальном мышлении ИИ

PyVision – значительный шаг вперёд, позволяющий моделям создавать инструменты под конкретные задачи в реальном времени. Система превращает статичные модели в динамичных агентов, способных к итеративному и продуманному решению проблем. Это важный шаг к созданию интеллектуального и адаптивного ИИ, готового к сложным визуальным вызовам реального мира.

Подробнее о проекте можно узнать на странице [Paper], [GitHub] и [Project]. Все заслуги принадлежат исследователям проекта.

🇬🇧

Switch Language

Read this article in English

Switch to English