“当所有用来训练LLM(大型语言模型)的语料都训练完了怎么办?” 是不是你也想过这问题?Jay Hack的这个推文针对这个问题有不错的论述。
首先是结论:不用担心这个问题!
想想如果未来LLM继续按照现在的模式发展,算力不再是瓶颈,模型和算法也一直在优化改进,但没有新的高质量的内容可供模型训练。所以很多人开始担心语料用尽后LLM怎么进一步提升和成长。不用担心,对文本进行训练只是一种LLM训练方法的一种,还有许多其他选项。
一种方案是AI通过模仿专家进行学习,这是让AI能快速达到专家水平的一种方法,Google的Deepmind就是通过预测专家动作来学习Atari游戏的,相关研究成果可以参考:http://t.cn/A6XVMbKo
一种方案是Self criticism(注:字面意思是自我批评,但是感觉用在这里不恰当,更像是自我评价并纠正,自我训练)
自我对弈,或者让模型与自己对弈,在很多非LLM的地方中都已经被证明是成功的。最典型的是在围棋中,AlphaZero通过数以亿计的自我对弈,自我学习并最终跟人类比取得巨大的优势。
而在LLM中,Claude的公司Anthropic已经在"Constitutional AI" 中应用这种策略:
- 生成一段内容
- 让LLM对这个内容进行评价和编辑
- 在编辑过的内容上进行微调
整个过程不需要人类参与,而且被证明是有效的。具体可以参考这个链接:http://t.cn/A6p26Njv
另外还有许多其他的LLMs也有通过自我评价、反馈就能自我提升的案例。
例如:“Large Language Models can Self-Improve” http://t.cn/A6p26Nls
例如:“Improving Language Model Negotiation with Self-Play and In-Context Learning from AI Feedback” http://t.cn/A6Ner8mI
除了以上两个方案外,还有一个更像人类行为的方案:通过与环境的互动来学习。
这种方案通过让模型运行,对生成的结果进行观察和评估,进而微调,从而生成新的数据。
这种方案中一个典型的案例是:"LLMs可以教会自己编程",让LLM自己编写一个难度较大的编程难题
- 让LLM借助思维链(CoT chain-of-thought),让它根据任务生成代码 → 对生成的代码验证 → 对错误进行修正 → 迭代成功 → 更新参数。
- 当它最终得到解决方案后,用结果对LLM进行微调,通过这样的迭代来优化大模型
具体可以参考论文Language Models Can Teach Themselves to Program Better:http://t.cn/A6p26NlF
这几天很火的玩Minecraft游戏的AI Agent Voyager,也是类似的策略,让GPT-4自主的决定下一步的任务, 根据任务需要调用技能库的代码,或者写新的任务操作的代码,并且在验证后更新技能库,这过程中都是AI自主学习完善,不需要人类干预。
具体参考微博:http://t.cn/A6p26NjP
从这些案例中我们不难发现,未来我们可以为LLM提供一定程度的自主权,让它和真实世界互动,在互动过程中基于环境的反馈来学习提升。一直以来这就是强化学习的工作方式,只是现在我们把它应用到了LLM上。
可以设想一些应用场景:
- 让类似于Voyager的AI游戏代理去玩堡垒之夜(Fortnite),帮你交友、赢比赛
- 借助GPT-4的多模态和代码解释器(Code Interpreter)分析数据集并生成图标,以提升数据分析方面的能力
- 欢迎分享你的想法
另外,目前为止还有充足的视频资源供我们训练,多模态是LLM的未来。即使将来连视频资源都训练完了,LLMs还能通过自己训练自己、和环境互动等方式来提升自己。
详细内容请参阅原始推文:🐦twitter.com/mathemagic1an/status/1662896309588881408🔗
