Palette — это модель для генерации презентаций, производная от открытой 20B-модели с доступными весами, которую можно запускать на собственной инфраструктуре. Её авторы обучили её создавать слайды на языке дизайна IBM. На бенчмарке PresentBench она занимает первое место в двух из трёх измеряемых областей и второе по среднему показателю по трём областям, уступая NotebookLM.
Запрос презентации у крупной языковой модели обычно даёт приемлемый результат, но результаты в итоге становятся похожими от запроса к запросу, с узнаваемым фирменным стилем. Для компании, которая хочет соблюдать собственный шаблон презентаций или должна хранить конфиденциальный контент на своих серверах, этот подход быстро достигает своих пределов. Небольшие открытые модели с доступными весами часто производят дефектные слайды: заголовки, теряющиеся на фоне, текст, выходящий за границы, накладывающиеся друг на друга фигуры.
Дизайнер и кодер
Проблема заключается в трёх трудностях. Модель не видит слайд, который строит: она пишет код, размещающий каждый элемент в заданной позиции, с заданной шириной и размером шрифта, и обнаруживает свои ошибки только после рендеринга. Она также должна принимать два типа решений одновременно: редакционные (что сказать, какую диаграмму выбрать) и геометрические (где разместить элементы). Наконец, не хватало обучающих данных: готовые презентации существуют, но отсутствуют обоснования дизайнерских решений и код, который их создал.
Palette использует метод, аналогичный человеческому. Дизайнер составляет план и пишет структурированное техническое задание в формате JSON, которое определяет палитру, типографическую систему и, для каждого слайда, макет, содержание и краткое обоснование. Затем кодер пишет для каждого слайда код pptxgenjs, который его рисует, предваряя его своим рассуждением. Обе роли выполняются одним адаптером LoRA — небольшим обучаемым слоем, добавленным к базовой модели без изменения её весов. Поскольку вызовы кодера запускаются параллельно, по одной презентации на слайд, этап кодирования, по словам авторов, будет примерно в 6–7 раз быстрее.
Синтетические данные и контроллер
Из-за отсутствия публичного корпуса команда сгенерировала около 1000 презентаций, то есть почти 10 000 слайдов, с помощью большой открытой модели-«учителя». Каждый пример сопровождается контрафактным рассуждением, упоминающим альтернативу и объясняющим, почему она была отвергнута. Когда сгенерированный слайд имеет дефект, он исправляется, и его рассуждение переписывается соответствующим образом.
Чтобы гарантировать верность исходному содержанию, авторы обнаружили, что одного правила в промпте недостаточно. Сработала коррекция эталонных презентаций, предоставляемых учителю, который копирует их гораздо чаще, чем следует инструкциям. Пользователи также могут направлять результат с помощью директив, написанных в двойных квадратных скобках, например «[]». Эти директивы, разделённые на двенадцать категорий, формулируются несколькими способами в обучающих данных.
Прежде чем вернуть презентацию, Palette проходит через проверочный механизм. Простые правила исправляют известные ошибки, затем каждый слайд рендерится и измеряется геометрическим контроллером, который отмечает перекрывающиеся, обрезанные или выходящие за пределы страницы тексты. Отмеченные слайды переписываются отдельной редакторской моделью, но переписанная версия сохраняется только если контроллер подтверждает улучшение. На 131 презентации из PresentBench механизм в среднем добавляет 3,5 балла.
Неоднозначные результаты
PresentBench оценивает пять критериев: основы, визуальный дизайн, полнота, точность и верность. Palette получает наивысший рейтинг в областях Экономика и Образование. Однако в области Talk, где презентации носят повествовательный характер, её опережают две закрытые системы, и она занимает третье место. Средний показатель по трём областям составляет 59,7 против 60,8 у NotebookLM.
Авторы указывают, что следующие шаги включают использование проверок механизма как сигналов вознаграждения для обучения с подкреплением типа GRPO, а также извлечение фигур из исходных документов с помощью Docling.
