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.
Когда-то мы писали про расширение 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.
Telegram
gonzo-обзоры ML статей
Chain-of-Thought → Tree-of-Thought
Техника для повышения качества ответа LLM’ок под названием Chain-of-Thought (CoT), пришедшая, кажется, из работы “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” (https://arxiv.org/abs/2201.11903)…
Техника для повышения качества ответа LLM’ок под названием Chain-of-Thought (CoT), пришедшая, кажется, из работы “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” (https://arxiv.org/abs/2201.11903)…
👍22❤8👀2🤯1
Формализьмов подвезли!
On the Anatomy of Attention
Nikhil Khatri, Tuomas Laakkonen, Jonathon Liu, Vincent Wang-Maścianica
https://arxiv.org/abs/2407.02423
We introduce a category-theoretic diagrammatic formalism in order to systematically relate and reason about machine learning models. Our diagrams present architectures intuitively but without loss of essential detail, where natural relationships between models are captured by graphical transformations, and important differences and similarities can be identified at a glance. In this paper, we focus on attention mechanisms: translating folklore into mathematical derivations, and constructing a taxonomy of attention variants in the literature. As a first example of an empirical investigation underpinned by our formalism, we identify recurring anatomical components of attention, which we exhaustively recombine to explore a space of variations on the attention mechanism.
On the Anatomy of Attention
Nikhil Khatri, Tuomas Laakkonen, Jonathon Liu, Vincent Wang-Maścianica
https://arxiv.org/abs/2407.02423
We introduce a category-theoretic diagrammatic formalism in order to systematically relate and reason about machine learning models. Our diagrams present architectures intuitively but without loss of essential detail, where natural relationships between models are captured by graphical transformations, and important differences and similarities can be identified at a glance. In this paper, we focus on attention mechanisms: translating folklore into mathematical derivations, and constructing a taxonomy of attention variants in the literature. As a first example of an empirical investigation underpinned by our formalism, we identify recurring anatomical components of attention, which we exhaustively recombine to explore a space of variations on the attention mechanism.
arXiv.org
On the Anatomy of Attention
We introduce a category-theoretic diagrammatic formalism in order to systematically relate and reason about machine learning models. Our diagrams present architectures intuitively but without loss...
👍18🔥9❤5