Technologia

Multimodalny chatbot Microsoft Open-Source Visual ChatGPT

  • 18 kwietnia, 2023
  • 4 min read
Multimodalny chatbot Microsoft Open-Source Visual ChatGPT


Microsoft Research niedawno udostępnił Visual ChatGPT, system chatbota, który może generować obrazy i manipulować nimi w odpowiedzi na monity tekstowe człowieka. System łączy ChatGPT OpenAI z 22 różnymi wizualnymi modelami fundamentów (VFM), aby wspierać interakcje multimodalne.

System został opisany w artykule opublikowanym na arXiv. Użytkownicy mogą wchodzić w interakcje z botem, wpisując tekst lub przesyłając obrazy. Bot może również generować obrazy od podstaw na podstawie monitu tekstowego lub manipulując poprzednimi obrazami w historii czatu. Kluczowym modułem w bocie jest menedżer podpowiedzi, który modyfikuje nieprzetworzony tekst od użytkownika w monit „łańcucha myśli”, który pomaga ChatGPT określić, czy narzędzie VFM jest potrzebne do wykonania zadania związanego z obrazem. Według zespołu Microsoft, Visual ChatGPT to:

otwarty system obejmujący różne VFM i umożliwiający użytkownikom interakcję z ChatGPT poza formatem językowym. Aby zbudować taki system, skrupulatnie opracowujemy serię podpowiedzi, które pomogą wprowadzić informacje wizualne do ChatGPT, co w ten sposób może krok po kroku rozwiązywać złożone pytania wizualne.

ChatGPT i inne duże modele językowe (LLM) wykazały niezwykłe możliwości przetwarzania języka naturalnego; jednak są szkoleni, aby obsługiwać tylko jeden tryb wprowadzania: tekst. Zamiast trenować nowy model do obsługi multimodalnych danych wejściowych, zespół firmy Microsoft zaprojektował Menedżera podpowiedzi do tworzenia danych tekstowych do ChatGPT, które dają dane wyjściowe, które mogą wywoływać VFM, takie jak CLIP lub Stable Diffusion, w celu wykonywania zadań związanych z wizją komputerową.

Warto przeczytać!  Apple nie rozwija „unikalnej” tożsamości iPada

Wizualna architektura ChatGPT. Źródło obrazu:

Menedżer podpowiedzi jest oparty na agencie LangChain, a VFM są zdefiniowane jako narzędzia agenta LangChain. Aby określić, czy potrzebne jest narzędzie, agent uwzględnia dane wejściowe z monitu użytkownika i historii konwersacji, w tym nazw plików obrazów, a następnie stosuje przedrostki i sufiksy monitów. Przedrostek zawiera tekst:

Visual ChatGPT nie może bezpośrednio odczytywać obrazów, ale ma listę narzędzi do wykonywania różnych zadań wizualnych. Każdy obraz będzie miał nazwę pliku utworzoną jako „image/xxx.png”, a Visual ChatGPT może wywoływać różne narzędzia, aby pośrednio rozumieć obrazy.

Dodatkowy tekst w przedrostku prowadzi ChatGPT do zadania sobie pytania „Czy muszę użyć narzędzia?” aby obsłużyć żądane zadanie użytkownika, a jeśli tak, powinno wyświetlić nazwę narzędzia wraz z wymaganymi danymi wejściowymi, takimi jak nazwa pliku obrazu lub opis tekstowy obrazu do wygenerowania. Agent będzie iteracyjnie wywoływał narzędzia VFM, wysyłając wynikowy obraz na czat, dopóki nie będzie już musiał używać narzędzia. W tym momencie ostatni wygenerowany tekst zostanie wysłany do czatu.

W wątku Hacker News na temat pracy jeden z użytkowników zauważył, że VFM zużywają znacznie mniej pamięci niż modele językowe i zastanawiał się, dlaczego. Inny użytkownik odpowiedział:

Modele obrazu mogą być bardzo niepoprawne i nadal dają satysfakcjonujący wynik. Weź pod uwagę, że mógłbym dosłownie zmienić losowo wszystkie piksele na obrazie o 10% i zobaczyłbyś to jako nieco niskiej jakości, ale poza tym doskonale spójny obraz. Modele językowe nie mają takiego szczęścia, problem, który próbują rozwiązać, jest o wiele „ostrzejszy”, bardzo łatwo ich wyniki są całkowicie błędne, jeśli są choćby trochę nie tak. Potrzebujesz więc znacznie większego modelu, aby uzyskać wystarczający poziom „ostrości” tekstu”.

Kod źródłowy Visual ChatGPT jest dostępny na GitHub.

Warto przeczytać!  Ranking 5 najlepszych pojazdów GTA Online z aktualizacji Los Santos Drug Wars




Źródło