输入

Output

我们缺少(至少一个)学习 LLM 的主要范式。不知道该怎么称呼它,可能它有一个名字—系统提示学习?

预训练是针对知识的。

微调(SL/RL)用于习惯性行为。

这两者都涉及参数的变化,但人类的许多学习更像是系统提示的变化。 你遇到一个问题,想出一些办法,然后用相当明确的术语 “记住 “一些东西,以便下次使用。 例如,“似乎当我遇到这样那样的问题时,我应该尝试这样那样的方法/解决方案”。

它给人的感觉更像是为自己做笔记,即类似于”记忆 “功能,但不是存储每个用户的随机事实,而是存储一般/全局的问题解决知识和策略。 LLM 就像《记忆》中的那个人,只不过我们还没给他们划板而已。 需要注意的是,由于知识引导的 “审查 “阶段是一个比奖励缩放器更高维度的反馈渠道,因此这种范式的功能和数据效率也要高得多。

我是在阅读了克劳德的系统提示之后才写下这篇感想的。目前,克劳德的系统提示似乎有 17000 字左右,其中不仅规定了基本的行为风格/偏好(例如拒绝与歌词有关的各种要求),还规定了大量的一般问题解决策略,例如:

“如果克劳德被要求计算单词、字母和字符,它会一步一步地思考,然后再回答对方。 它会明确地数出单词、字母或字符,为每个单词、字母或字符分配一个数字。 只有在完成这个明确的计数步骤后,它才会回答对方”。

这是为了帮助克劳德解决草莓中的 “I “等问题。 在我看来,这种解决问题的知识不应该通过强化学习植入权重中,至少不应该立即或完全植入权重中。

当然,这些知识也不应该来自人类工程师手工编写的系统提示。 除了学习算法(编辑与梯度下降)之外,系统提示学习在设置上与强化学习非常相似。

LLM 系统提示的很大一部分可以通过系统提示学习来编写,这看起来有点像 LLM 为自己编写一本关于如何解决问题的书。 如果这个方法可行,它将成为一种全新的、强大的学习模式。 但还有很多细节有待解决(编辑如何工作?你能/应该学习编辑系统吗?你如何像人类一样,将知识从明确的系统文本逐渐转移到习惯权重上?)

输出

Output

这句话的意思是说,训练大型语言模型(LLM)去理解和遵循指令(也就是“系统提示”)的能力,很大程度上可以通过让模型自己学习如何编写更好的指令来实现。

你可以把它想象成这样:

 * 传统的学习方式: 就像老师(我们人类)编写教材和习题,然后教给学生(LLM)如何解答问题。

 * 这里提到的新方式: 有点像让学生(LLM)自己去研究好的教材和习题是什么样的,甚至自己尝试编写一些“解题技巧手册”(系统提示)。通过不断地尝试和反馈,模型自己就能学会如何更好地理解和执行各种指令。

“LLM 为自己编写一本关于如何解决问题的书” 这个比喻非常形象。这本书里记录的不是直接的答案,而是如何更好地理解问题、拆解问题、以及找到答案的策略和方法,而这些策略和方法就体现在“系统提示”中。

为什么这是一种全新的、强大的学习模式?

如果这种方法真的可行,它就意味着我们可以更高效、更灵活地提升 LLM 的能力。我们不再需要完全依赖人工去设计各种各样的指令,而是可以引导模型自己去探索和发现更有效的指令模式。这就像给模型打开了一扇自我提升的大门。

但为什么说“还有很多细节有待解决”?

正如你引用的括号里提到的,这种新方法还面临着很多挑战:

 * 编辑如何工作? 模型自己生成的“系统提示”可能并不完美,需要某种机制去修改和完善它们。这个“编辑”的角色应该由谁来扮演?是人类还是模型自己?如何确保编辑的质量和效率?

 * 你能/应该学习编辑系统吗? 如果模型能够学习如何编辑和改进“系统提示”,这又会带来哪些新的可能性和挑战?我们是否需要训练模型去学习“编辑”的技巧和原则?

 * 你如何像人类一样,将知识从明确的系统文本逐渐转移到习惯权重上? 人类学习知识的过程,往往是从明确的文字描述(就像系统提示)开始,然后通过不断的练习和应用,这些知识会逐渐内化为一种“习惯”或者“直觉”,体现在我们的思考和行为中(模型的“权重”可以理解为它内部存储知识和能力的方式)。如何让模型也能够像人类一样,将从“系统提示”中学到的理解和执行指令的能力,更深层次地融入到它的模型参数中,而不是仅仅依赖每次输入的提示?

总而言之,这句话描绘了一种令人兴奋的未来学习模式,即让 LLM 通过学习如何构建有效的指令来实现自我提升。但这仍然是一个新兴的研究方向,有很多关键的技术细节需要进一步探索和解决。