好奇 SFT 在上下文学习中的表现如何。 ICL 感觉像黑魔法——模型确实以人类样本效率获取了一堆隐性信息。 如果微调能接近这一点,也许你可以拼凑出一些感觉像是持续学习的东西? 这是一个幼稚的想法:内循环,对会话摘要进行 SFT。外循环,长时间范围的强化学习,模型必须利用在会话之间传递的技能和知识。外循环基本上将 SFT 视为工具调用,激励模型尽可能传递尽可能多的重要信息。 我很好奇,像这样拼凑现有技术的东西是否足以实现持续学习,或者我们是否需要一个全新的范式。 我用 ChatGPT 做了一个有趣的费米估算,以便对这个问题有一些直觉。 你可以问的问题是,SFT(通过 LoRA)相对于上下文学习压缩了多少信息?并且为了好玩,和预训练进行比较。 如果存在巨大的差异(即 KV 缓存使用的字节数与 LoRA 权重相比多出很多倍),那么这 *可能* 表明 LoRA 很难像 ICL 那样丰富和样本高效。 再说一次,这只是一个超级模糊的下午兔子洞,不是严肃的调查。仅仅因为它使用的内存少得多,并不一定意味着它更笨,等等。 这个图是针对 Llama 3 70 b(预训练于 15 万亿个标记)。 一旦我们达到单个千个标记,LoRA(其大小不会随着你微调的标记数量而变化)开始需要比 ICL 更密集地压缩。 一旦你有 100k 个标记,通过一个秩为 32 的 LoRA 的标记被压缩的程度是如果它们在上下文中被关注(通过 KV 缓存)时的 37 倍。 附带说明:预训练的每个训练标记的字节数非常低!(在这种情况下为 0.009)。 又做了一个图,这次将标记数量保持在 100k,并改变 LoRA 的秩。 幼稚地说,秩应该足够小,以至于它仅占总模型权重的一小部分(否则,为什么要使用 LoRA?),但也要足够大,以包含 KV 缓存中存储的相当数量的信息。所以你可以看到那个甜蜜点可能在哪里。 无论如何,这些图并没有得出任何结论。请原谅任何尴尬的错误或误解。 渴望获得关于将 SFT 和 RL 拼凑在一起在会话之间实现我们在上下文学习中看到的持续学习的效果的实际高层次看法。
40.88K