AssistGPT: Un assistente multimodale generico in grado di pianificare, eseguire, ispezionare e apprendere
AssistGPT: A General Multi-modal Assistant that can Plan, Execute, Inspect, and Learn
June 14, 2023
Autori: Difei Gao, Lei Ji, Luowei Zhou, Kevin Qinghong Lin, Joya Chen, Zihan Fan, Mike Zheng Shou
cs.AI
Abstract
Le recenti ricerche sui Large Language Models (LLM) hanno portato a progressi significativi nello sviluppo di assistenti AI generalisti per l'elaborazione del linguaggio naturale (NLP). Alcuni studi hanno ulteriormente esplorato l'uso degli LLM per la pianificazione e l'invocazione di modelli o API al fine di affrontare query utente multimodali più generali. Nonostante questi progressi, i compiti complessi basati su contenuti visivi rimangono impegnativi a causa della natura eterogenea di tali attività. Questa diversità si riflette in due aspetti: 1) Percorsi di ragionamento. Per molte applicazioni reali, è difficile scomporre accuratamente una query semplicemente analizzando la query stessa. È solitamente necessario pianificare in base al contenuto visivo specifico e ai risultati di ogni passaggio. 2) Input e risultati intermedi flessibili. Le forme di input possono essere variabili in contesti reali e non includere solo una singola immagine o video, ma una combinazione di video e immagini, ad esempio un'immagine dalla prospettiva dell'utente con alcuni video di riferimento. Inoltre, un processo di ragionamento complesso genera anche risultati intermedi multimodali eterogenei, come narrazioni video, clip video segmentati, ecc. Per affrontare tali casi generali, proponiamo un assistente AI multimodale, AssistGPT, con un approccio di ragionamento intervallato tra codice e linguaggio chiamato Plan, Execute, Inspect, and Learn (PEIL) per integrare gli LLM con vari strumenti. Nello specifico, il Planner è in grado di utilizzare il linguaggio naturale per pianificare quale strumento nell'Executor dovrebbe agire successivamente in base allo stato attuale del ragionamento. L'Inspector è un gestore di memoria efficiente che assiste il Planner nel fornire le informazioni visive appropriate a uno strumento specifico. Infine, poiché l'intero processo di ragionamento è complesso e flessibile, un Learner è progettato per consentire al modello di esplorare autonomamente e scoprire la soluzione ottimale. Abbiamo condotto esperimenti sui benchmark A-OKVQA e NExT-QA, ottenendo risultati all'avanguardia. Inoltre, dimostrazioni pratiche evidenziano la capacità del nostro sistema di gestire domande molto più complesse di quelle presenti nei benchmark.
English
Recent research on Large Language Models (LLMs) has led to remarkable
advancements in general NLP AI assistants. Some studies have further explored
the use of LLMs for planning and invoking models or APIs to address more
general multi-modal user queries. Despite this progress, complex visual-based
tasks still remain challenging due to the diverse nature of visual tasks. This
diversity is reflected in two aspects: 1) Reasoning paths. For many real-life
applications, it is hard to accurately decompose a query simply by examining
the query itself. Planning based on the specific visual content and the results
of each step is usually required. 2) Flexible inputs and intermediate results.
Input forms could be flexible for in-the-wild cases, and involves not only a
single image or video but a mixture of videos and images, e.g., a user-view
image with some reference videos. Besides, a complex reasoning process will
also generate diverse multimodal intermediate results, e.g., video narrations,
segmented video clips, etc. To address such general cases, we propose a
multi-modal AI assistant, AssistGPT, with an interleaved code and language
reasoning approach called Plan, Execute, Inspect, and Learn (PEIL) to integrate
LLMs with various tools. Specifically, the Planner is capable of using natural
language to plan which tool in Executor should do next based on the current
reasoning progress. Inspector is an efficient memory manager to assist the
Planner to feed proper visual information into a specific tool. Finally, since
the entire reasoning process is complex and flexible, a Learner is designed to
enable the model to autonomously explore and discover the optimal solution. We
conducted experiments on A-OKVQA and NExT-QA benchmarks, achieving
state-of-the-art results. Moreover, showcases demonstrate the ability of our
system to handle questions far more complex than those found in the benchmarks.