Palette:教导小模型构建符合您设计语言的演示文稿
概述
Palette 是一款 20B 参数的开源权重模型,旨在生成严格遵循特定设计语言的演示文稿。它解决了前沿模型倾向于使用通用样式的问题,并满足了敏感数据的隐私需求。通过将生成过程拆分为“设计师”和“编码器”两个独立角色,并采用生成后验证机制,Palette 在 PresentBench 基准测试中实现了极具竞争力的性能,同时保持了对最终输出的控制。
设计师-编码器架构
Palette 将复杂的幻灯片创建任务分解为两个连续的角色,均由同一个经过 LoRA 微调的模型处理。这种方法模仿了人类的工作流程:
- 设计师: 读取初始计划并生成结构化的 JSON 简报,其中包括设计原理、调色板、排版和幻灯片特定内容。
- 编码器: 接收简报并生成
pptxgenjsJavaScript 代码以渲染幻灯片。
通过将编辑判断(展示什么)与几何执行(如何放置)分离,模型避免了形状重叠或文本溢出等常见问题。由于简报是预先生成的,编码器可以并行处理每张幻灯片,从而比顺序生成速度提高了 6–7 倍。
数据合成与训练
由于目前不存在将设计原理映射到幻灯片代码的公开数据集,团队使用更大的教师模型生成了 1,000 套演示文稿(约 10,000 张幻灯片)。关键的训练策略包括:
- 反事实推理: 训练数据包含了为何做出某些设计选择以及为何拒绝替代方案的原因,帮助模型学习规则,而不仅仅是模仿输出。
- 基于参考的引导: 团队发现,在提示词中提供参考演示文稿比添加严格的基于规则的指令更能确保忠实度。
- LoRA 微调: 使用 LoRA 使团队能够在不降低基础模型现有能力的情况下,教导模型特定的格式和技能集。
检查与修复机制
为了确保可靠性,Palette 在最终交付前会将所有生成的输出通过验证机制进行处理。该机制执行以下步骤:
- 基于规则的验证: 修复格式错误的代码或语法错误。
- 几何检查: 渲染幻灯片以检测文本重叠、裁剪或溢出。
- 自动修复: 如果幻灯片被标记,编辑器模型会尝试重写。只有在检查器确认幻灯片有所改进时才会应用修复,确保机制不会使输出变差。
该机制使 131 套演示文稿的得分平均提高了 3.5 分。
性能与评估
Palette 在 PresentBench 数据集上进行了评估,该数据集衡量了基础知识、视觉设计、完整性、正确性和保真度。
- 排名: Palette 在“经济学”和“教育”领域排名第一,在三个测量领域中总排名第二,仅落后表现最好的模型 1.1 分(59.7 对 60.8)。
- 控制: 该模型支持用户定义的“指令”——即简单的英语指令(例如
[[make this a timeline]])——允许用户引导设计选择,而无需手动调整布局。
未来方向
Palette 的未来开发重点是利用当前的验证信号作为强化学习(特别是 GRPO 风格的训练)的奖励,以减少生成阶段的错误。团队还在探索使用 Docling 等工具从源文档中提取图形的方法,并开发无需完全重新训练模型即可“换肤”现有 PowerPoint 模板的技术。