PyVision: Sztuczna inteligencja, która dynamicznie tworzy własne narzędzia do analizy obrazu
Rozumowanie wizualne stanowi jedno z kluczowych wyzwań dla sztucznej inteligencji. Modele muszą nie tylko percepcjiować, ale również interpretować informacje wizualne, wykorzystując logiczne wnioskowanie. Zadania obejmują diagnostykę medyczną, matematykę wizualną, łamigłówki symboliczne czy odpowiadanie na pytania dotyczące obrazów. Sukces w tej dziedzinie wymaga czegoś więcej niż tylko rozpoznawania obiektów – kluczowa jest dynamiczna adaptacja, abstrakcja i wnioskowanie kontekstowe. Współczesne systemy często zawodzą, gdy wymagana jest elastyczność i tworzenie rozwiązań wykraczających poza ich predefiniowane możliwości.
Obecne ograniczenia widać, gdy oczekuje się od modeli zastosowania zaawansowanego rozumowania lub modyfikacji strategii dla różnorodnych zadań wizualnych. Wiele z nich opiera się na dopasowywaniu wzorców lub sztywno zakodowanych procedurach, co skutkuje brakiem elastyczności. Systemy te mają trudności z dekompozycją nieznanych problemów lub generowaniem rozwiązań poza ich wstępnie zdefiniowanymi zestawami narzędzi. Nie radzą sobie również, gdy zadania wymagają abstrakcyjnego rozumowania lub gdy modele muszą wyjść poza powierzchowne cechy w treści wizualnej. Potrzeba systemu, który potrafi autonomicznie adaptować się i konstruować nowe narzędzia do rozumowania, stała się poważnym problemem.
Dotychczasowe modele, takie jak Visual ChatGPT czy HuggingGPT, integrują narzędzia segmentacji lub detekcji, ale ich działanie jest ograniczone do predefiniowanych przepływów pracy. To znacząco hamuje kreatywność i zdolność adaptacji. Modele te nie są w stanie modyfikować ani rozszerzać swojego zestawu narzędzi w trakcie zadania, przetwarzając je liniowo, co obniża ich użyteczność w dziedzinach wymagających iteracyjnego rozumowania. Funkcjonalność wieloturowa jest często albo całkowicie pominięta, albo mocno ograniczona, co uniemożliwia bardziej dogłębną analizę.
Odpowiedzią na te problemy jest PyVision, nowy framework wprowadzony przez badaczy z Shanghai AI Lab, Rice University, CUHK, NUS i SII. PyVision umożliwia dużym multimodalnym modelom językowym (MLLM) autonomiczną kreację i wykonywanie narzędzi opartych na Pythonie, precyzyjnie dostosowanych do konkretnych problemów z rozumowaniem wizualnym. W odróżnieniu od wcześniejszych rozwiązań, PyVision nie jest ograniczony statycznymi modułami. Wykorzystuje Pythona jako podstawowy język i dynamicznie buduje narzędzia w wieloturnowej pętli. Dzięki temu system może adaptować swoje podejście w trakcie zadania, co pozwala modelowi na podejmowanie decyzji, refleksję nad wynikami i udoskonalanie swojego kodu lub rozumowania w wielu krokach.
Model PyVision działa w praktyce w oparciu o zapytanie użytkownika i odpowiadające mu dane wizualne. MLLM, na przykład GPT-4.1 czy Claude-4.0-Sonnet, generuje kod Pythona na podstawie promptu, który jest następnie wykonywany w izolowanym środowisku. Wyniki – tekstowe, wizualne lub numeryczne – są przekazywane z powrotem do modelu. Wykorzystując tę informację zwrotną, model może rewidiować swój plan, generować nowy kod i iterować, aż do uzyskania rozwiązania. System obsługuje również persystencję między turami, co oznacza, że stany zmiennych są utrzymywane między interakcjami, umożliwiając sekwencyjne rozumowanie. PyVision zawiera wewnętrzne funkcje bezpieczeństwa, takie jak izolacja procesów i strukturalne wejście/wyjście, zapewniając solidne działanie nawet przy złożonych obciążeniach. Wykorzystuje biblioteki Pythona, takie jak OpenCV, NumPy i Pillow, do wykonywania operacji takich jak segmentacja, OCR, wzmacnianie obrazu czy analiza statystyczna.
Skuteczność PyVision została potwierdzona w testach ilościowych. Na benchmarku wyszukiwania wizualnego V*, PyVision poprawił wydajność GPT-4.1 z 68,1% do 75,9%, co stanowi wzrost o +7,8%. Na benchmarku symbolicznego rozumowania wizualnego VLMsAreBlind-mini, dokładność Claude-4.0-Sonnet wzrosła z 48,1% do 79,2%, co oznacza poprawę o 31,1%. Znaczące zyski odnotowano również w innych zadaniach: +2,4% na MMMU i +2,5% na VisualPuzzles dla GPT-4.1; +4,8% na MathVista i +8,3% na VisualPuzzles dla Claude-4.0-Sonnet. Poprawa różni się w zależności od mocnych stron bazowego modelu – modele, które wyróżniają się percepcją, czerpią większe korzyści z PyVision w zadaniach wymagających percepcji, podczas gdy modele o silnym rozumowaniu zyskują więcej w abstrakcyjnych wyzwaniach. PyVision wzmacnia bazowe możliwości modelu, zamiast je maskować lub zastępować.
To badanie stanowi istotny krok naprzód w dziedzinie rozumowania wizualnego. PyVision rozwiązuje fundamentalne ograniczenie, umożliwiając modelom tworzenie narzędzi specyficznych dla problemu w czasie rzeczywistym. Takie podejście przekształca statyczne modele w systemy agentowe zdolne do przemyślanego, iteracyjnego rozwiązywania problemów. Poprzez dynamiczne łączenie percepcji i rozumowania, PyVision zbliża nas do budowy inteligentnej, adaptacyjnej sztucznej inteligencji zdolnej sprostać złożonym, rzeczywistym wyzwaniom wizualnym.
