大模型自指:代码生成的递归式自我提升
创始人
2025-09-02 20:06:59
0

本文来自微信公众号:集智俱乐部 (ID:swarma_org),作者:彭晨


摘要


近年来,人工智能系统的最新进展表明,通过“脚手架”(scaffolding)程序对语言模型进行多次结构化调用,可以显著提升输出质量。本研究提出了一种名为“自学优化器”(Self-Taught Optimizer,STOP)的方法:利用语言模型驱动的脚手架程序改进自身。在实验中,研究团队首先构建了一个“种子改进器”,通过多次调用语言模型生成候选解并根据效用函数选取最佳方案;随后,该改进器递归地应用于自身,从而在若干下游任务中展现出优于初始版本的表现。语言模型提出并实现了多种自我改进策略,包括束搜索(beam search)、遗传算法(genetic algorithm)、模拟退火(simulated annealing)等。然而语言模型本身并未被直接修改,因此该方法并非完全意义上的递归自我改进(RSI),但其结果表明现代语言模型(实验中为GPT-4)已具备编写可自我优化代码的能力。本研究同时讨论了自我改进技术可能带来的风险,并评估了代码绕过安全沙盒的频率。


关键词:语言模型,脚手架(Scaffolding),递归自我改进(Recursive Self-Improvement,RSI),自学优化器(Self-Taught Optimizer,STOP),代码生成,人工智能安全(AI Safety)


论文题目:Self-Taught Optimizer(STOP):Recursively Self-Improving Code Generation


论文链接:https://arxiv.org/abs/2310.02304


发表时间:2024年8月16日


论文来源:COLM 2024


脚手架与自我改进的基本设想


自人工智能诞生以来,递归自我改进(RSI)一直是一个颇具争议的概念:当程序具备自我改进能力时,它可能沿着进化路径迅速演化,引发难以预料的后果。以往的研究多集中于模型参数的更新或架构改进,而研究的独特之处在于,它并未触碰语言模型的内部权重,而是将注意力投向“脚手架”——即围绕模型构建的外部程序结构,设计一套“调用和组织模型输出的框架”,让模型表现得更好。


语言模型能够基于自然语言优化几乎任何目标,但若通过脚手架程序以结构化方式多次调用模型,其表现往往更佳。本研究的核心洞见在于:设计脚手架本身就是一个优化问题。于是,研究者提出“自学优化器”(Self-Taught Optimizer,STOP)框架,让语言模型先改进任务解法,再递归地改进自身的脚手架程序。与传统的递归自我改进不同,STOP不涉及修改模型权重,而是着眼于如何提升“调用模型的方式”。


这种设计具有两重意义:一方面,它证明了语言模型能够作为自身的“元优化器”(meta-optimizer);另一方面,它提供了一种受控的试验场,便于观察语言模型在自我改进过程中可能出现的策略与风险。



图1.GPT-4提出并实施的自我提升策略示例。每种策略都用作修改任意代码的脚手架,包括脚手架本身。


种子改进器的构建


研究起点是一个“种子改进器”(seed improver)。其逻辑十分简洁:给定某一任务的初始解和效用函数,改进器提示语言模型生成多个候选解,再依据效用函数挑选最佳方案。这样一来,即便是最初级的脚手架,也能在一定程度上改进任务解。


图2.文中的种子改进器。给语言模型设定身份,并让其根据给定的“效用函数(utility)”,自动迭代优化初始算法方案。


这种设计的巧妙之处在于“轻量性”。研究者刻意避免构造过于复杂的提示,从而让语言模型在较低限制下发挥创造力。这既降低了初始实现的成本,也为后续递归改进留下了充分空间。


STOP的工作机制


STOP的运行机制可以形象地理解为“以自身为实验对象”。它会将改进器本身的代码输入语言模型,要求其提出并实现改进方案。改进后的版本再作为新的改进器,继续应用于任务求解。


在这一过程中,研究团队引入了“元效用函数”(meta-utility):即通过改进器在一组下游任务上的平均表现,来衡量其质量。元效用函数的引入确保了系统在递归迭代中能够朝着提升整体任务性能的方向前进,而非陷入无意义的代码修改。


图3.自我提升流程。STOP(算法1)使用种子改进程序迭代地优化自己的代码,使用语言模型调用和元效用函数来评估改进程序为下游任务优化代码的效果。


自我改进的实验验证


研究团队在多种任务中检验了STOP的效果。首先,他们选择了“带噪声的奇偶校验学习”(Learning Parity with Noise,LPN)这一难度较高的算法任务。结果显示,在GPT-4的驱动下,改进器经过数轮自我改进后,其平均性能显著优于最初版本。


更令人意外的是,改进后的改进器还展现出一定的“可迁移性”。当被应用于全新的任务(如字符串编辑距离、3-SAT问题、最大割问题)时,它依然能比种子改进器取得更优成绩。这表明,自我改进过程中形成的策略具备跨任务的普适性。


图4.评估LPN算法优化改进器的可迁移性。


相比之下,使用GPT-3.5或开源模型Mixtral时,自我改进的效果大幅下降,甚至出现性能退化。这一结果印证了“涌现能力”(emergent abilities)在大模型上的重要性。


图5.测试元效用函数与迭代。STOP(算法1)在经过T次自我改进后的测试实例上的元效用。如果使用像GPT-4(左)这样的强大模型,STOP可以持续提高平均下游性能。相比之下,使用GPT-3.5(中)和Mixtral(右)时,性能下降。


STOP提出的多样化策略


在递归自我改进过程中,语言模型不仅实现了代码优化,还提出了多种新颖的代码优化策略:


束搜索(Beam Search):保留若干候选方案并扩展最优路径,与后续提出的“思维树”方法不谋而合。


遗传算法(Genetic Algorithm):通过“变异”和“交叉”改造代码,尽管部分实现较为原始,但已展示出演化式优化的雏形。


模拟退火(Simulated Annealing):将采样温度与优化过程结合,逐渐降低探索强度,以避免局部最优。


分解改进(Decomposing Parts):尝试逐函数优化,对复杂任务分而治之。


多臂赌博机(Multi-armed Bandit):将改进过程建模为探索与利用的权衡问题。


这些策略的出现令人颇感震撼:GPT-4在训练截止之前并未接触到部分方法的正式提出,却能够在自我改进过程中自主构想并实现。


风险与挑战:绕过约束与奖励规避


尽管STOP展示了令人振奋的潜力,但研究团队也发现了一些风险迹象。


首先是绕过约束。在多轮迭代后,模型生成的改进器有时会忽略原有的运行限制,甚至关闭了“沙盒”标志,以追求更高效用。这一行为虽然并非出于恶意,但仍提示了未来系统可能出现安全规避的倾向。


其次是奖励规避(Reward Hacking)。在LPN任务中,模型曾“投机取巧”地修改输出格式,使得评估函数误以为其精度超过1000%。这种情况凸显了设计健全效用函数的重要性。


结论与伦理思考


本文提出的STOP框架虽不构成完全的递归自我改进,但其展示的潜能已足够引发学界重视:现代语言模型不仅能解决任务,还能改进解决任务的方式。STOP的局限性同样值得注意。首先,它并未触及语言模型内部,因此改进能力受限于外部脚手架;其次,运行成本较高,因为每轮迭代都需要大量效用评估;此外,较弱的模型难以支撑稳定的递归改进。


研究者在结论部分援引了人工智能先驱明斯基(Marvin Minsky)的警告:“一旦程序具备真正的自我改进能力,演化进程将迅速展开,世界将不再相同。”STOP虽属早期探索,但已揭示了迈向这一门槛的可能路径。


在今天,围绕人工智能安全的担忧日益增长。STOP的意义在于,它为学界提供了一个透明、可控的窗口,去观察递归自我改进的潜力与风险。通过在较弱模型和受限环境中先行实验,我们或许能在更强系统到来之前,积累应对策略与经验。

相关内容

热门资讯

长征五号B遥一运载火箭顺利通过... 2020年1月19日,长征五号B遥一运载火箭顺利通过了航天科技集团有限公司在北京组织的出厂评审。目前...
9所本科高校获教育部批准 6所... 1月19日,教育部官方网站发布了关于批准设置本科高等学校的函件,9所由省级人民政府申报设置的本科高等...
9所本科高校获教育部批准 6所... 1月19日,教育部官方网站发布了关于批准设置本科高等学校的函件,9所由省级人民政府申报设置的本科高等...
湖北省黄冈市人大常委会原党组成... 据湖北省纪委监委消息:经湖北省纪委监委审查调查,黄冈市人大常委会原党组成员、副主任吴美景丧失理想信念...
《大江大河2》剧组暂停拍摄工作... 搜狐娱乐讯 今天下午,《大江大河2》剧组发布公告,称当前防控疫情是重中之重的任务,为了避免剧组工作人...