tgoop.com/gonzo_ML/2823
Last Update:
Chain-of-Thought → Whiteboard-of-Thought
Когда-то мы писали про расширение Chain-of-Thought (CoT) и переход к Tree-of-Thought (ToT, https://www.tgoop.com/gonzo_ML/1885), и где-то там же была пачка работ про более сложные Graph-of-Thoughts (GoT, https://arxiv.org/abs/2308.09687) и даже Everything-of-Thoughts (XoT, https://arxiv.org/abs/2311.04254).
Перечисленные выше подходы используют текст для улучшения ризонинга. Но есть и другое развитие темы специально для мультимодальных моделей, а конкретно для visual language models (VLM) про использование рисунков для помощи “мышлению”.
Недавно вышли две похожие работы (но наверняка есть больше) Visual Sketchpad: Sketching as a Visual Chain of Thought for Multimodal Language Models (https://arxiv.org/abs/2406.09403, https://visualsketchpad.github.io/) и Whiteboard-of-Thought: Thinking Step-by-Step Across Modalities (https://arxiv.org/abs/2406.14562).
1) Visual Sketchpad от авторов из University of Washington, Allen Institute for AI, и University of Pennsylvania на неделю более ранняя. В этом подходе модели даётся доступ к альбому и тулам для рисования промежуточных “мыслей”, которые модель дальше может использовать. Это напоминает подход ReAct (https://react-lm.github.io/), когда агент генерит thoughts, выполняет acts и получает observations. В Sketchpad также есть эти три компонента, причём модель не надо обучать пользоваться всем этим добром, всё достигается промптом.
Например, в геометрической задачке с имеющейся картинкой на входе модель может решить (thought) нарисовать вспомогательную линию, сгенерить код на питоне для модификации входной диаграммы (act), получить контекст (observation) с обновлённой диаграммой. Модель может повторять этот процесс пока не сгенерит специальное действие Terminate — тогда она выдаёт финальный ответ.
Тулы для скетчинга могут быть разными в зависимости от задачи, например, питон с matplotlib и networkx (для графовых задач), специальные зрительные модели, например, для детекции и рисования bounding boxes, навешивания лейблов и сегментации.
Результаты неплохи, относительно базовых GPT-4 Turbo и GPT-4o использование скетчпада добавляет от единиц до десятков процентных пунктов к accuracy на задачах из геометрии, математики, графов и игр, Бейзлайны вроде совсем базовые, было бы, конечно, интересно относительно бейзлайнов с CoT/GoT/XoT. Сравнили планы решения геометрических задач с человеческими, они в целом сильно перекликаются.
На задачах с различным visual reasoning бейзлайны уже с различными фреймворками аугментации, там результат прекрасный, GPT-4o со скетчпадом установила новую SoTA.
2) Whiteboard-of-Thought (WoT) в целом очень похож, но попроще, в два шага. Модели также как бы даётся метафорическая доска, в том смысле, что модель может генерить картинки, которые будут учитываться на входе в дальнейших шагах вывода. Для этого также используются промптинг (вида “You write code to create visualizations using the {Matplotlib/Turtle} library in Python, which the user will run and provide as images. Do NOT produce a final answer to the query until considering the visualization.”) и базовые способности модели генерить код на питоне (Turtle и Matplotlib), он далее исполняется через интерпретатор питона и результирующая картинка парсится моделью.
Проверили на задачах visual reasoning, это задачи из BIG-Bench на понимание ASCII text graphics (MNIST digit recognition, word recognition, kanji recognition), а также на пространственную навигацию по языковым описаниям.
На ASCII буст огромный, модели по дефолту плохо работают с такими задачами, CoT не сильно помогает. На пространственной навигации дефолтные модели хорошо справляются с 2D grid задачами, но плохо с другими геометриями, тут WoT помогает.
В общем, подход работает. Забавно также наблюдать работы всё больше построенные на использовании API OpenAI.
BY gonzo-обзоры ML статей
Share with your friend now:
tgoop.com/gonzo_ML/2823