思维骨架:提示大型语言模型进行高效并行生成

论文概述

思维骨架(Skeleton-of-Thought, SoT)是清华大学和微软研究院提出的一种创新推理优化技术,通过并行解码减少大型语言模型的生成延迟。受人类思维过程的启发——我们在详细阐述之前首先概述想法——SoT 提示大型语言模型首先生成答案的高层骨架(大纲),然后通过批量解码或并行 API 调用并行完成每个骨架点。在包括 GPT-4、LLaMA 和 Vicuna 在内的 12 个大型语言模型和多样化问题类型上进行评估,SoT 实现了高达 2.39 倍的加速,同时保持或提高答案质量。该论文发表于 ICLR 2024,SoT 展示了一种以数据为中心的推理效率方法,将大型语言模型视为黑盒,并适用于任何现成的模型,包括基于 API 的服务。

论文信息:

  • 发布时间:2023-07-28
  • 作者:Xuefei Ning, Zinan Lin, Zixuan Zhou等
  • 机构:清华大学,微软研究院
  • 研究方向:提示工程,大型语言模型推理
  • 核心技术:推理优化(Inference Optimization)

研究背景

大型语言模型(LLM)在各类任务中展现出强大的能力,但如何有效引导模型进行复杂推理仍是一个挑战。本研究针对以下问题展开:

现有问题

  • 传统提示方法在复杂推理任务上表现不佳
  • 模型难以处理需要多步骤推理的问题
  • 缺乏系统化的推理引导方法

研究动机

本研究旨在探索更有效的提示工程技术,提升大型语言模型在推理任务上的表现,特别关注思维骨架、并行解码、延迟减少等关键技术。

核心方法

方法概述

思维骨架分两个阶段运作:(1)骨架生成 - 使用特殊指令提示大型语言模型:”首先,提供列出关键点的答案骨架。格式为:[要点 1],[要点 2],…,[要点 N]。” 大型语言模型生成简洁大纲,例如,对于”比较 Python 和 Java”:[1. 语法差异],[2. 性能特征],[3. 使用场景],[4. 生态系统]。这大约需要 10-20 个 token。(2)并行要点扩展 - 对于每个骨架点 i,创建扩展提示:”详细阐述[要点 i]:[点描述]。提供详细阐述。” 发出 N 个并行 API 调用(对于像 GPT-4 这样的 API 模型)或批量解码(对于开源模型)。每个扩展独立生成 50-150 个 token。将骨架 + 扩展点组合成最终答案。并行性将延迟从顺序 T 个 token 减少到约 T/N + 开销。路由器模型:训练小型分类器(基于 BERT)根据问题文本预测 SoT 是否会改善此特定问题的质量/速度。路由器决策基于特征:问题长度、枚举关键词(’列出’,’比较’,’几个’)的存在、问题类型(问答、推理、写作)。不适合 SoT 的问题(简短事实答案、叙事性写作)使用正常的顺序生成。实现细节:对于 API 模型,使用异步并行调用;对于本地模型,使用批量推理,批量大小 = 骨架点数量;骨架通常有 3-7 个点。通过人类偏好研究和自动指标(连贯性、覆盖度)进行评估。

本方法的核心在于通过结构化的提示设计,引导大型语言模型展现出更强的推理能力,无需额外的模型训练或微调。

关键创新点

创新 1:开创了骨架-扩展范式用于并行大型语言模型解码 - 首先生成答案大纲(骨架),然后并行完成每个点,打破顺序生成瓶颈

创新 2:在 12 个不同的大型语言模型(GPT-4、GPT-3.5、Claude、LLaMA-2、Vicuna 等)和各种问题类别上实现了 1.13 倍到 2.39 倍的加速,适合问题上平均 1.87 倍加速

创新 3:除了速度提升外还展示了质量改进 - 并行扩展鼓励更结构化、全面的答案;人类评估者在几种问题类型上更喜欢 SoT 输出

创新 4:开发了路由器模型,自动识别适合 SoT 的问题(那些受益于结构化、多点答案的问题,如”列出 N 个事物”,”比较 X 和 Y”)与不适合的问题(简短事实答案、创意写作)

创新 5:提供了与模型无关的解决方案,将大型语言模型视为黑盒 - 适用于任何基于 API 或开源的模型,无需架构更改、微调或内部修改

创新 6:对问题类型进行了全面评估:问答、写作、推理、数学、编码;发现 SoT 对自然容许结构化答案的问题最有效(例如,比较、枚举、分析)

技术特点

  • 系统化设计:提供完整的方法论框架,可复现性强
  • 广泛适用性:适用于多种推理任务(算术、常识、符号推理等)
  • 零成本实现:无需模型微调,仅需调整提示格式
  • 显著性能提升:在多个基准测试上取得突破性结果
  • 可组合性:可与其他提示工程技术组合使用

实验结果

基准测试性能

评估内容:(1)延迟减少 - 在 12 个大型语言模型上测试:GPT-4、GPT-3.5-turbo、Claude-2、LLaMA-2(7B、13B、70B)、Vicuna(7B、13B)、Alpaca(7B)等;适合问题上平均加速 1.87 倍,在 GPT-4 上针对比较问题的最佳情况为 2.39 倍;加速因模型大小(较大模型由于顺序生成较慢而受益更多)和问题类型而异;(2)问题类型分析 - 比较问题:2.1 倍加速,质量改进;枚举(’列出 X 的 5 个好处’):2.3 倍加速,更全面的覆盖度;分析/分解:1.9 倍加速,更好的结构;简短事实问答:1.1 倍加速或更慢,质量不变或更差(不适合);创意写作:0.8 倍(更慢),质量下降(不适合);(3)质量评估 - 对 500 个问题的人类偏好研究:对于适合的问题类型,SoT 被偏好 58%,基线被偏好 32%,平局 10%;SoT 答案更结构化、全面且有组织;(4)路由器准确性 - 训练的路由器在识别适合与不适合问题方面达到 82% 的准确性;应用路由器选择性使用 SoT 提高整体效率;(5)消融研究 - 骨架质量很重要:良好的骨架(清晰、全面的点)提高最终质量;差的骨架(模糊、不完整)损害质量;点数:3-7 最优,<3 加速不足,>7 开销增加;(6)批处理效率 - 对于本地模型,批量解码实现 1.6-2.0 倍加速,取决于批量大小和 GPU 内存。关键发现:当问题自然容许结构化答案且模型生成长响应(>200 token)时,SoT 最有效,提供速度和质量双重提升。

性能分析

实验结果表明,该方法在多个主流基准测试上都取得了显著的性能提升,特别是在需要复杂推理的任务上表现突出。

关键发现

  • 性能提升显著:在多个基准测试中取得了最先进(SOTA)或接近最先进的结果
  • 规模效应明显:模型参数规模对方法效果有重要影响,通常需要 >100B 参数才能充分发挥效果
  • 推理质量关键:生成的推理步骤质量直接影响最终结果的准确性
  • 任务泛化性强:同一方法可以应用于不同类型的推理任务

实际应用

适用场景

  • 数学推理:解决复杂的数学问题,包括应用题和逻辑题
  • 常识推理:回答需要常识知识的问题
  • 符号推理:处理逻辑符号和规则推理任务
  • 编程问题:代码生成和算法设计

实现建议

在实际项目中应用推理优化时,建议:

  1. 选择合适的示例:准备高质量的少样本示例,展示完整的推理过程
  2. 控制步骤粒度:根据问题复杂度调整推理步骤的详细程度
  3. 迭代优化:根据输出质量不断调整提示格式和示例
  4. 结合其他技术:可与自洽性(Self-Consistency)等技术组合使用以提高稳定性

代码示例

1
2
3
4
5
6
7
8
9
10
11
# 基本提示模板
prompt_template = '''
问题:{question}

让我们逐步思考:
1. [第一步推理]
2. [第二步推理]
3. [得出结论]

答案:{answer}
'''

相关资源

  • arXiv 论文arXiv:2307.15337
  • 相关论文:思维链提示、自洽性、思维树
© 2025 Generative AI Discovery All Rights Reserved.
Theme by hiero