openai的o1虽然在产业界没有翻起特别大的浪花,但是代表了一个范式的变迁,当全世界都在关注“我们如何使AI变得更强大?”时,o1告诉我们,可以从“我们如何使AI思考得更好?” 的角度来思考。在预训练可能达到瓶颈的适合,TTC(Test Time Compute)可能比简单地扩大规模更有价值。
什么是TTC?
让大模型在推理阶段动态分配计算资源,以增强模型性能。与传统方法不同,TTC 使模型能够执行额外的计算以进行更深入的推理,并实时适应新的输入。
传统推理仅依赖于预先训练的知识,即时提供输出,并将推理速度置于一切之上。相比之下,TTC 允许模型在推理过程中“思考”,方法是根据需要为更具挑战性的任务分配额外的计算资源。这种适应性弥合了静态的预训练模型和动态的解决问题系统之间的差距,使人工智能更具响应性和智能。
TTC 的演变
最初,推理技术都是为了提供快速响应。然而,随着任务变得越来越复杂,这些方法难以提供准确或细致的输出。TTC 它来了,结合迭代过程和高级策略,使模型能够系统地评估多个解决方案并选择最佳方案。
虽然 TTC 解决了许多挑战,但其真正的价值在于弥合了人工智能系统中的一个根本差距:训练和推理之间的脱节。模型在训练期间从大量数据集中学习,识别模式并概括知识。但是,它们在推理过程中可能会遇到训练分布之外的新输入。这种不匹配会导致错误或次优性能,尤其是在需要深度推理或特定于上下文的适应的任务中。
TTC 通过使模型能够在推理过程中动态适应来解决此差距。例如,遇到不熟悉口音的语音识别模型可以使用 TTC 实时改进其理解,从而生成更准确的转录。
与传统方法相比,compute-optimal scaling strategies可以将测试时效率提高四倍以上,这使得 TTC 既实用又可扩展。
TTC面临的挑战
主要是三点,如上图
与做出单次决策的传统人工智能模型不同,TTC 可能会陷入过度的计算循环中;同时它的迭代性质 带来了大量的资源需求;最后TTC 系统在优化和终止标准方面存在决策困难。
TTC的技术梳理
内容比较长,涉及到常见的10种技术发展形态。
- 思维链 (CoT) 推理
工作原理: CoT 通过使模型能够将复杂问题分解为显式、可验证的步骤来改变人工智能推理。这种透明性使我们能够追踪模型的认知过程,将传统的黑盒方法转变为清晰、有条理的推理过程。
技术机制:
- 递归提示分解
- 中间状态跟踪
- 步骤验证机制
- 顺序推理路径构建
示例:
问题:“如果飞鸿踏雪的书是鲍勃的两倍,而鲍勃有 15 本书,那么他们一共有多少本书?
步骤 1:计算飞鸿踏雪的书 = 2 × 鲍勃的书 = 2 × 15 = 30
步骤 2:总书数 = 飞鸿踏雪的书 + 鲍勃的书 = 30 + 15 = 45
答案:他们一共有 45 本书
优点 | 缺点 |
---|---|
透明的推理过程 | 增加处理时间 |
更好的错误检测 | 更高的计算开销 |
提高了复杂任务的准确性 |
COT代表了实现TTC的最简单、最直观的方式。它通过在推理过程中实现动态思考和迭代改进,充当许多高级方法的基础框架。虽然 CoT 很好,但正在进行的研究正在探索创新的方法以进一步增强 TTC。
- Filler Token Computation
Let's Think Dot by Dot
工作原理: 填充token充当桥梁,在推理过程中策略性地插入计算标记,以帮助模型思考复杂的关系。这些临时token在模型的处理管道中创建了关键的连接点,从而可以更深入地理解依赖关系和上下文,类似于临时支撑如何实现复杂建筑结构的构建。
技术机制:
- 动态token插入
- 上下文感知
- 关系建模
- 临时状态管理
优点 | 缺点 |
---|---|
增强了关系处理 | 内存开销 |
改进了上下文理解 | 处理复杂性 |
更好地处理复杂结构 | token管理挑战 |
- Adaptive Decoding Strategies
工作原理: Adaptive Decoding Strategies,实时智能地调整token生成概率,平衡创造性探索和精确输出。根据任务要求不断调整采样参数——以获得事实准确性,还是扩大分布以进行创造性任务。
技术机制:
- 动态采样温度
- 概率分布调整
- token选择优化
- 上下文相关的生成
示例:
任务:生成产品描述
保守:“一款耐用的牛皮钱包,带有多个卡槽。”
创意:“一款精美的手工牛皮杰作,采用精密切割的卡片收纳空间精心制作。”
优点 | 缺点 |
---|---|
可控的输出风格 | 参数调整复杂性 |
更好的上下文匹配 | 性能开销 |
灵活的创造力水平 | 平衡维护 |
- Search Against Verifiers
工作原理: Search Against Verifiers 采用了一种系统的解决方案优化方法,生成一组不同的候选答案,并通过专门的验证框架评估每个答案,该框架检查准确性、一致性和特定于任务的要求。然后,系统根据验证分数选择最佳解决方案。
技术机制:
- 生成多个解决方案
- 应用验证标准
- 质量评分系统
- 最佳选择过程
示例:
数学问题:求 16 的平方根
候选答案:[4, -4]
验证:测试 x² = 16
选择:4(正根)
优点 | 缺点 |
---|---|
更高的准确性 | 计算成本 |
内置的质量保证 | 验证复杂性 |
减少错误 | 增加延迟 |
- Reward Modeling and Reinforcement Mechanisms
工作原理: 一种动态反馈系统,通过预定义的奖励函数和实时反馈信号来量化输出质量,从而在推理过程中指导模型行为。像一个自我改进的系统一样,通过从与每个输出相关的奖励和惩罚中学习来不断改进其决策过程,从而无需额外的训练即可逐步提高模型性能。
技术机制:
- 反馈收集系统
- 奖励信号处理
- 行为调整
- 性能优化
示例:
聊天机器人回复:初始:“不错”(低奖励)
改进:“今天天气晴朗,最高气温26°”(高奖励)
学习:更喜欢更详细、更丰富的信息的回复
优点 | 缺点 |
---|---|
持续改进 | 复杂的奖励设计 |
自适应行为 | 训练稳定性 |
更好地与用户对齐 | 资源密集度 |
- Best-of-N 采样
工作原理: Best-of-N 采样,同时生成 N 个不同的候选答案,并使用复杂的评估框架对每个答案进行评估,该框架权衡了连贯性、准确性和任务对齐等质量指标。
技术机制:
- 并行解决方案生成
- 质量指标评估
- 候选者排名
- 最佳选择
示例:
任务:图片描述生成
候选答案:
- “山上的日落”(得分:0.75)
- “金色的阳光将山峰沐浴在温暖的光芒中”(得分:0.92)
- “黄昏时分的群山”(得分:0.68)
选择:选项 2(质量最高)
优点 | 缺点 |
---|---|
更高质量的输出 | 资源密集型 |
减少不良响应 | 选择复杂性 |
更好地处理边缘情况 | 增加处理时间 |
- 蒙特卡洛树搜索 (MCTS)
工作原理: 蒙特卡洛树搜索 (MCTS) ,通过策略性抽样系统地探索潜在的未来,同时在发现新的有希望的路径(探索)和利用已知的成功策略(利用)之间保持最佳平衡。MCTS 进行快速模拟以构建复杂的决策树,将计算资源动态分配给最有希望的分支,同时确保充分覆盖替代路径。
技术机制:
- 基于树的搜索结构
- 节点选择和扩展
- 模拟展开
- 值反向传播
示例:
游戏策略:
- 选择有希望的走法
- 扩展可能的响应
- 模拟结果
- 更新成功概率
优点 | 缺点 |
---|---|
系统探索 | 计算密集型 |
平衡的决策制定 | 资源需求大 |
适应性强的方法 | 实时约束 |
- 测试时训练 (TTT)
工作原理: 测试时训练,通过计算和响应特定于任务的损失信号,在推理过程中动态更新其参数。TTT 使模型能够即时微调其参数,即使面对新颖或意外的情况也能确保最佳性能。
技术机制:
- 实时参数更新
- 特定于任务的优化
- 自适应学习过程
- 性能监控
示例:
视觉任务:物体检测
挑战:光线不足
适应:调整对比度敏感度
结果:提高了检测精度
优点 | 缺点 |
---|---|
实时适应 | 处理开销 |
改进了边缘情况处理 | 稳定性问题 |
动态学习 | 资源需求 |
- 测试时自适应 (TTA)
工作原理: 测试时自适应,在推理过程中动态调整模型参数,以很好的方式处理训练数据模式与实际数据分布之间的差距。TTA 使模型即使在遇到数据模式和操作条件的重大变化时也能保持高性能。
技术机制:
- 分布偏移检测
- 特征自适应
- 统计标准化
- 性能优化
示例: 语音识别
场景:遇到新的口音
响应:调整音频处理参数
结果:保持了识别精度
优点 | 缺点 |
---|---|
鲁棒的性能 | 计算开销 |
自动适应 | 适应稳定性 |
提高了可靠性 | 资源需求 |
- 自我学习推理器 (STaR)
工作原理: 自我学习推理器 (STaR) 通过使模型能够通过自我生成的推理和反馈循环进行迭代自学来增强人工智能推理。这种方法将人工智能变成了一个自我改进的问题解决者,能够随着时间的推移改进其答案和推理。STaR 不仅生成解决方案,还会评估和调整解决方案,模仿学生通过练习和纠正进行学习。
技术机制:
- 迭代推理生成和改进
- 自我评估推理的正确性
- 基于反馈的强化学习
- 在统一循环中集成生成和评估
示例:
问题:“如果一列火车在 5 小时内行驶 300 公里,那么它的平均速度是多少公里/小时?”
步骤 1:识别平均速度的公式 = 总距离 ÷ 总时间。
步骤 2:计算:300 ÷ 5 = 60 公里/小时。
步骤 3:评估推理:公式是否正确应用?是的。
步骤 4:输出带有解释的改进答案:“火车的平均速度是 60 公里/小时,计算方法是将总距离 300 公里除以总时间 5 小时。”
优点 | 缺点 |
---|---|
迭代改进 | 计算开销 |
减少对标记数据的依赖 | 存在强化错误的风险 |
增强了透明度 | 实施复杂性 |
适应性 | 简单任务的泛化能力有限 |
TTC的应用
TTC 使人工智能能够跨越三个关键领域动态地处理和改进其响应:
- 解题更聪明: 就像解数学题时,TTC让人工智能可以尝试多种解法,并验证答案是否正确,而不是死记硬背公式。
- 做事更灵活: 就像开车时,TTC让人工智能可以根据实际情况(比如路上的障碍物)随时调整行动方案,而不是只会按照预定路线走。
- 进步更快: 就像学习一样,TTC让人工智能可以从经验中学习,不断改进自己的方法,变得越来越厉害。
TTC让AI变得更智能、更灵活、更善于学习。
结论
测试时计算 (TTC) 就是让AI在使用过程中变得更聪明,它不再是死板地执行预设程序,而是能够边用边学、边用边改,从而更好地解决问题、适应环境,并在使用中不断进步。