在最近的一篇论文中,来自 OpenAI 的研究者探讨了互补模式的可能性。他们研究了大语言模型在基因编程和开放性上的潜在意义,发现了二者间的协同作用。
特别是,这种新的大模型进化(ELM)方法中,在代码上经过训练的大型语言模型(LLM)可以提供智能的「变异」,从而显著促进更高效的变异算子,回避了此前许多存在的挑战性进化程序。有趣的是,ELM 的获益反过来也影响了深度学习:通过 LLM 生成的样本集最终可以在新的领域中构成新的训练集,然后微调 LLM 可以在新的领域中获得良好表现,这是一种全新的数据生成过程。此外,这种方法最终仅通过自己生成的数据增强了 LLM 的生成能力,从而在追求开放性方面开辟了新的机会。
近段时间,LLM 在自动化代码生成方面取得了一系列成果,这些模型从人类知识中获得引导,通过从非常大型的数据集中学习,来实现通用的编程能力。
事实上,这种自举(bootstrapping)的可能性和 GP 是相关的,毕竟 GP 实际上是一种生成式编程方法。虽然乍看起来, LLM 可能胜过或包含 GP,但实际上 GP 在搜索所针对的特定类别的程序远离 LLM 训练分布 (甚至完全缺乏) 的情况下仍然具有优势。在这种情况下,LLM 提供有限的依赖 (学习一个全新领域的 prompt 工程是很难的) ,而 GP 原则上可以在任何空间进化 (尽管在实践中,由于适应性上获得一致信号所需的变异量,一些空间可能是难以处理的)。
有趣的是,两者的最佳结合是很容易实现的:只要提示 LLM 产生变化,LLM 就可以作为一个高度复杂的变异算子嵌入到一个总体进化算法中。这样一来,无论是常规变异算子的进化还是 LLM 自身的进化,都不能产生任何接近解空间的结果,但是 LLM 与进化相结合可以将其相互引导到解空间的正确区域。
实际上,使用基于 LLM 扰动的程序进化正在弥合进化算法和那些在人类思想水平上运行的算法之间的鸿沟。也就是说,LLM 可以通过训练来估计人类是如何有意识地更改程序的,同时保持在多种功能之上。此外,这样的 LLM 可以进一步微调成功的变异的目的,进行自我改善,最终在一个新的技术上迭代增强 ELM 的性能。
-
提出了通过 LLM 的高效进化程序的 ELM 方法;
-
提出了通过微调基于 LLM 的变异算子来提高 ELM 随时间搜索能力的技术;
-
展示了 LLM 训练数据未包含的领域中的 ELM;
-
验证了通过 ELM 生成的数据可以引导增强的 LLM,从而提供了一条通向开放性的新途径。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢