原贴链接

在21世纪初我攻读人工智能学位的时候,我非常喜欢并且觉得很有用的东西之一就是遗传/进化算法。如果你不熟悉的话,它和人工神经网络很像,是人工智能中一个受生物启发的概念。基本上,对于一个给定的问题,你要确定什么样的解决方案可以解决这个问题,然后想办法将其表示为一组数字,这就是一个特定解决方案实例的遗传密码。然后,你创建一组解决方案,最简单的情况可能是随机设置所有这些值,然后用适应度函数对群体中的每个成员进行评估,并得到一个分数。这个分数被用来培育新一代的解决方案。分数被用来选择繁殖对。一个简单的例子是,我们总是有100个解决方案的群体。我们保留10个最好的解决方案(适应度得分最高的),让这10个彼此繁殖,创造出90个新的解决方案。这就是下一代,然后我们评估每个新解决方案的适应度并重复这个过程。繁殖技术各不相同,这里有一个简单的例子。如果我们有一个10个数字长的遗传密码:解决方案1 = 1,2,3,4,5,6,7,8,9,10;解决方案2 = 2,3,4,5,6,7,8,9,10,11。我们可以取平均值:子解决方案 = 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5;或者以50/50的概率从任一父代中随机选择一个值:子解决方案 = 1,2,4,5,5,7,7,8,10,11等等。有一些技术可以保留值的位置、连续序列、相对位置等,还有随机突变,为每对创造多个后代,保留得分较低的解决方案以保持多样性等。作为我的一个项目的一部分,我有一个由简单神经网络控制的模拟无人机,并应用这种方法来训练网络而不是反向传播。观看模拟过程非常有趣,到处都是坠毁的无人机。由于它可以应用于神经网络,我想知道是否有人对大型语言模型进行过这种研究,因为我还没有找到相关研究。我认为这可能是一个有趣的实验,可能从一些现有的小模型开始,随机对一些权重做一些小的改变以得到一个多样化的群体,并也许可以使用一些推理基准作为适应度函数。对于1B模型,几块A6000(显卡)可以在内存中容纳一个相当规模的群体,并并行评估它们。所以,有人知道是否已经有人做过这个吗?如果有,你能提供相关的论文链接吗?也许是我的搜索能力不行。否则,我想我有一个研究项目的想法……如果是这样的话,对于好的小模型和用于测试的好的评估有什么建议吗?

讨论总结

原帖作者在学习人工智能学位时接触过遗传/进化算法,想知道是否有人将其应用于大型语言模型(LLM)的培育,于是在Reddit上发帖询问。评论者们从多个角度进行了回应,有探讨在LLM中应用遗传算法的技术难点,如交叉操作面临的问题;也有提供与LLM培育可能相关的论文、资源链接;还有分享自己在LLM培育方面的尝试经验等,整体氛围是积极的技术交流与探讨。

主要观点

  1. 👍 在LLM中应用遗传算法时,交叉操作面临权重不会自行排列的问题
    • 支持理由:评论者JohnnyDaMitch指出相关类型知识的权重不会自行排列是个问题。
    • 反对声音:无。
  2. 🔥 小llama模型可用于相关研究
    • 正方观点:评论者T_James_Grand认为小llama模型适用于这种研究。
    • 反方观点:无。
  3. 💡 存在关于LLMs进化合并算法的论文
    • 解释:评论者ArsNeph提到有这样一篇论文,且作者比较可信。
  4. 💡 在聊天机器人竞技场排行榜存在类似对LLM繁殖相关的操作
    • 解释:评论者Roland_Bodel_the_2nd指出LLM制造商展示的结果是通过某种变异方法得到的,人类对这些结果进行评估相当于适应度函数。
  5. 💡 存在一种适用于开放权重模型的合并与蒸馏的情况
    • 解释:某评论者提到存在这种情况,但仅限于开放权重模型。

金句与有趣评论

  1. “😂 AnhedoniaJack:I’ve tried, but it never seems to take. Maybe my LLMs aren’t properly sexed?”
    • 亮点:以一种幽默诙谐的方式表达自己对LLM进行类似繁殖操作未成功,调侃可能是LLM自身有未满足的条件。
  2. “🤔 ArsNeph:There was a paper about evolutionary merge algorithms in LLMs quite a while back, I don’t really know if it went anywhere, the authors are quite credible.”
    • 亮点:为原帖作者提供了可能有用的论文信息,且对论文的后续进展进行了说明。
  3. “👀 Roland_Bodel_the_2nd:I mean we’re kind of doing that via the chatbot arena leaderboards.”
    • 亮点:提出了一种在聊天机器人竞技场排行榜存在类似LLM繁殖操作的新颖观点。
  4. “💡 grey - seagull:Just remembered something mildly related that in the original transformer paper the final mode checkpoint was the result of averaging the weights of 5 best performing checkpoints. Obv no randomness in inheritance like proper genetic inheritance algorithms.”
    • 亮点:从原始transformer论文中找到与LLM应用遗传算法轻度相关的内容。
  5. “👍 ModeSquare8129:We’re working on an architecture agent that generates agents and lets them evolve.”
    • 亮点:分享所在实验室正在开发自我改进的架构代理的信息。

情感分析

总体情感倾向是积极的技术探讨。主要分歧点在于是否认可将遗传/进化算法应用于LLM,例如BigMagnut认为不可行,而其他一些评论者则从不同角度探讨了应用的可能性。产生分歧的原因可能是大家对LLM的工作机制理解不同,以及对遗传/进化算法在不同场景下适用性的认知差异。

趋势与预测

  • 新兴话题:利用GPT4制定适应度函数来探索遗传/进化算法在LLM中的应用。
  • 潜在影响:如果能够成功将遗传/进化算法应用于LLM的培育或者优化,可能会提高LLM的性能,对人工智能领域产生积极影响,比如开发出更高效、更智能的语言模型。

详细内容:

《关于 LLM 育种的热门讨论》

在 Reddit 上,有一个引发广泛关注的帖子“Is anyone breeding LLM’s?”,获得了众多点赞和大量评论。原帖作者提到自己在攻读 AI 学位时对遗传/进化算法的喜爱,并阐述了其基本原理和操作方式。他还分享了曾将此应用于模拟 UAV 控制的神经网络训练的经历,并好奇这种方法是否已被用于 LLM 的研究。

讨论的焦点主要集中在这种方法应用于 LLM 的可行性及具体操作方式。有人提出疑问,比如“在这种情况下突变容易想象,但交叉操作会是什么样?相关知识的权重不会自行排列整齐,这是个问题。这意味着遗传算法可能必须从头构建网络”。但也有人表示,“自己过去在神经网络上应用此方法取得过一些成功,认为值得探索”,并考虑在层边界进行初步实验。

有用户提供了相关链接,如“[https://github.com/arcee-ai/mergekit/blob/main/docs/evolve.md]”,也有用户提到一些具体的模型和方法,比如“Little llama 模型应该适用于此。可以使用 LoRA 进行调整后相互测试”。

有人认为“通过 chatbot arena leaderboards 可以看到类似的情况,但这些模型主要通过数据训练和反向传播来提高性能,而非通过育种方式”。

还有观点指出“这样的方法更适合用于确定大型语言模型(LLM)的结构而非训练方法。当前模型的激活方式浪费资源,使用进化算法确定激活模式或新方法可能有益,内存地址空间不友好的问题也可通过内置调度器进化来改善”。

但也有人认为“这不是 LLM 的工作方式,不太可能奏效”。

讨论中也存在共识,即都在积极探讨这种方法在 LLM 领域的可能性和潜在价值。

那么,这种将遗传/进化算法应用于 LLM 的设想究竟能否实现,又将面临哪些挑战和机遇呢?让我们拭目以待未来的研究和实践成果。