返回 动态 学习 CMS 文章

Karpathy:我们缺少一种重要的LLM学习范式——系统提示学习

Karpathy认为LLM学习需要一种新范式:系统提示学习,让模型像人类记笔记一样积累通用问题解决策略。

LLM系统提示学习范式Karpathy
成长分 / 100 73 综合收获、行动、留存与影响

为什么值得读了解LLM学习范式的潜在缺口,拓展对模型能力提升路径的认知。

获得Karpathy对Claude系统提示的独特分析,理解其设计意图。

关键洞察
  1. 预训练获取知识,微调形成习惯性行为,但人类学习更多是系统提示的变化。
  2. 系统提示学习类似给LLM一个便签本,存储通用问题解决策略,而非随机用户事实。
  3. 知识引导的回顾阶段比奖励标量提供更高反馈通道,数据效率更高。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:2551

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

预训练是为了获取知识。

微调(监督学习/强化学习)是为了形成习惯性行为。

这两者都涉及参数的变化,但很多人类学习感觉更像是系统提示的变化。你遇到一个问题,弄明白一些事情,然后以相当明确的措辞“记住”一些东西以备下次使用。例如,“似乎当我遇到这种和那种问题时,我应该尝试这种和那种方法/解决方案”。这更像是给自己做笔记,即类似于“记忆”功能,但不是存储每个用户的随机事实,而是通用的/全局的问题解决知识和策略。LLM实际上就像《记忆碎片》里的那个人,只是我们还没有给他们便签本。请注意,这种范式也明显更强大且数据效率更高,因为知识引导的“回顾”阶段是一个比奖励标量高得多的反馈通道。

我是在阅读了Claude的系统提示后,被促使记下这些想法的,该系统提示目前似乎大约有17,000个单词,不仅指定了基本的行为风格/偏好(例如,拒绝与歌词相关的各种请求),还包含大量通用的问题解决策略,例如:

“如果Claude被要求数单词、字母和字符,它会在回答之前一步一步地思考。它通过给每个单词、字母或字符分配一个数字来明确计数。只有在执行了这个明确的计数步骤后,它才会回答。”

这是为了帮助Claude解决“strawberry”中的“r”等问题。在我看来,这不是那种应该通过强化学习烘焙到权重中的问题解决知识,至少不是立即或专门这样做。而且它肯定不应该来自人类工程师手工编写系统提示。它应该来自系统提示学习,这在设置上类似于强化学习,但学习算法不同(编辑 vs 梯度下降)。LLM系统提示的很大一部分可以通过系统提示学习来编写,这看起来有点像LLM为自己写一本关于如何解决问题的书。如果这行得通,它将是一个新的/强大的学习范式。还有很多细节有待解决(编辑是如何工作的?能否/是否应该学习编辑系统?如何逐渐将知识从显式系统文本转移到习惯性权重,就像人类似乎做的那样?等等)。