Karpathy:强化学习「有点问题」,突破还需新算法

强化学习正在成为AI新宠,但Karpathy觉得这还不是全部答案。

这位前特斯拉AI总监、OpenAI创始团队成员发文称最近和朋友聊天时,谈到了一个观点:

RL虽然能带来更多收益,但它的机制有点「可疑」

Karpathy 指出了RL的本质:「嘿,这件事碰巧做得不错(或很糟),让我稍微增加(或减少)未来采取每个动作的概率。」

这种方法在短期任务上确实有效,但当任务时长延伸到几分钟甚至几小时时,问题就来了:你真的要做那么多工作,只为了在最后学到一个标量结果,然后直接用它来加权梯度吗?

更关键的是,这根本不像人类解决智能任务的方式。

Karpathy认为,人类从每次尝试中提取的监督信号要丰富得多。我们会进行review/reflect(回顾/反思)阶段,问自己:「什么做得好?什么做得不好?下次应该尝试什么?」

这些经验教训是显式的,就像给系统提示添加新字符串,之后可以选择将其提炼到权重(直觉)中,有点像睡眠的作用。

用英语来说,我们称这个过程让某些事情变成了「second nature」(第二天性),而目前的学习范式恰恰缺少这一点。

Karpathy提出了一个新的算法框架

给定一个任务,执行几次rollout,将它们全部塞进一个上下文窗口(连同每种情况下的奖励),使用元提示来回顾/反思什么做得好或不好,从而获得字符串「教训」,添加到系统提示中(或更一般地修改当前的教训数据库)。

他承认这个框架还有许多空白需要填补,许多调整可能,并不明显

一个生动的例子是LLM的计数问题。

由于tokenization的原因,LLM很难「看到」字母,也很难在残差流中进行计数,因此「strawberry」中有几个「r」成了著名的难题。

Claude的系统提示中有一个「快速修复」补丁,其中添加了这样的字符串:「如果用户要求你计数字母,首先用逗号分隔它们,每次显式地增加计数器,然后像这样完成任务。」

这个字符串就是「教训」,明确指导模型如何完成计数任务。

但问题是:这种教训如何从智能体的实践中自然产生,而不是由工程师硬编码?如何推广?如何随时间提炼教训以避免上下文窗口无限膨胀?

ChatGPT的新Memory功能可能是这种机制的原始版本,尽管它目前只用于定制化,而不是问题解决。

Karpathy指出,在Atari RL等领域没有这种等价物,因为那些领域没有LLM,也没有上下文学习。

Renyi(@renyi_cao)分享了他的实践经验:

同意。我正在让智能体做笔记并为每个任务构建自己的知识库。不确定ChatGPT的记忆功能是如何工作的——但我怀疑简单的列表不会让我们走太远。也尝试过将知识形成图形,但还没有让它们发挥作用。

Mario Brcic(@mariobrcic)提出了一个有趣的观点:

在稀疏拓扑上进行更高层次的概念学习?结构是关键。在学习时搜索更精确的局部干预,你会获得更大的跳跃,并避免全局更新带来的灾难性遗忘。

ADEDAMOLA(@yhaledml):

说得非常好——RL很强大,但它很钝。随着rollout视野的增长,仅从标量奖励中学习变得越来越低效和不自然。你基于反思的「教训」机制反映了人类真正的学习方式。

最后,再来总结一下Karpathy的核心观点

RL将带来更多收益,因为做得好时,它更有杠杆作用,更符合bitter lesson,优于SFT(监督微调)。

但它不像是完整的故事,特别是当rollout长度继续扩展时。

还有更多的S曲线等待发现,可能是LLM特有的,在游戏/机器人类环境中没有类似物,这很令人兴奋。

当AI从「需要精确指令才能完成任务」进化到「能够自主反思和改进」,这才能算是在真正接近人类智能的本质。

如Karpathy所说,真正的智能不在于执行,而在于反思

当AI学会问「我做得怎么样?」而不只是「我该怎么做?」时——

也许,AGI就真的不远了。




[1]

Karpathy推文: https://x.com/karpathy/status/1944435412489171119


(文:AGI Hunt)

发表评论