top of page

stmonty 的 Pokémon 世界模型可在本地运行,但长期规划才是真正的考验

10月1日
讀畢需時 13 分鐘

开发者 stmonty 在一张 RTX 3080 Ti 上训练了一个拥有 1250 万参数的 Pokémon 世界模型,随后用它在 Pokémon Red 中选择初始 Pokémon。该模型没有获得游戏规则、地图,也没有因获得 Pokémon 而得到奖励。它通过预测每次按键后将发生什么来学习。

这一结果听起来像不断增加的 AI 玩游戏演示中的又一个案例。然而,真正值得关注的并非 AI 能否完成一段熟悉的游戏流程。更大型的语言模型和传统强化学习系统,早已挑战过范围更广的 Pokémon 任务。

stmonty 的 Pokémon 世界模型检验的是一个更聚焦的命题:一个小型预测模型能否从截图中学习有用的环境动态,在其学习到的表征内进行规划,并运行在独立开发者可获得的硬件上?

答案是有限度的肯定。经过微调后,该模型在 100 次规划尝试中有 52 次成功获得初始 Pokémon。随机按键序列没有一次成功,而同一搜索过程搭配未经训练的预测器时仅成功一次。

这些数字表明,学习到的模型提供了有用信息;同时也划定了该项目的边界。起始位置经过精心挑选,计划仅覆盖 14 次按键,而且反复按 A 本身就是一种有效解法。

因此,该项目为可及的世界模型实验提供了证据,而不是一个通用的 Pokémon 玩家。它最重要的启示来自于:预测单次动作,与跨越多次动作持续维持有用预测之间存在差距。

这一差距将该实验置于两条 AI 路线更大的竞争之中。一条路线使用具备语言知识、外部工具、记忆和大量算力的大型通用模型;另一条路线则围绕特定环境的动态构建更小的系统。

stmonty 的项目并未终结这场竞争。但它说明了紧凑型预测模型为何仍然值得关注,尤其是在开发者需要本地训练、快速实验和直接掌控数据时。

stmonty 的 Pokémon 世界模型实际做了什么

该模型学到了足够的游戏动态来引导短期计划,但它并没有学会从头到尾玩 Pokémon Red。

stmonty 起初考虑的目标要大得多。原定流程包括前往 Professor Oak 的实验室、完成对话、选择初始 Pokémon、离开建筑并击败劲敌。

这一计划很快被证明对于首次实验而言过于宏大。任务被缩减为从 Oak 实验室内的一个存档状态开始,角色可在那里获得 Bulbasaur、Charmander 或 Squirtle。

从这一位置出发,按 12 次 A 就已足够。模型仍可自由按方向键、用 B 取消对话,或采取其他有效序列。它的任务是识别一个由 14 个动作构成的计划,使预测的游戏状态接近一个成功选择初始 Pokémon 的示例。

开发者从 Pokémon Red 模拟器中记录了 42,382 帧灰度画面。这些画面构成了 1,009 条短轨迹,每条包含一张截图、一次按键和随后的截图。

一些轨迹遵循脚本化路线,另一些则加入噪声或更多随机移动。这种混合十分重要,因为规划器既会探索合理的动作序列,也会探索较差的动作序列。

若数据集只包含完美演示,模型或许会将 A 与进展联系起来,却几乎学不到取消操作、受阻移动或无关输入。更杂乱的轨迹让模型接触到了更多局部环境行为。

最终系统基于 LeWorldModel,这是一种联合嵌入预测架构,即 JEPA。JEPA 预测抽象表征如何变化,而不是重建下一张图像中的每一个像素。

这一差异让训练目标聚焦于有用的结构。编码器将截图转换为嵌入,也就是观测状态的数值表征;预测器随后根据当前表征和所选动作估计下一个嵌入。

公开的项目说明称,最终网络约有 1250 万个参数,并在 RTX 3080 Ti 上本地训练。其实现也已发布在 lePokeRed repository。

训练后,stmonty 检查了该表征是否保留了与目标有关的信息。在底层编码器保持冻结的情况下,一个小型分类器能够识别玩家队伍中是否包含 Pokémon。

预测器的表现也优于简单复制当前嵌入的基线。输入错误动作会损害预测结果,表明它已学到控制输入与游戏变化之间的某种关系。

这些测试并未证明其具备可靠规划能力。它们只说明该模型表征了相关状态,并会对所选按键产生有意义的响应。

真正的评估发生在规划器生成的序列于模拟器中运行时。经过 rollout 微调后,其中一个提出的序列选择了 Squirtle,并将队伍数量从零变为一。

在使用不同随机种子的 100 次搜索中,52 个计划获得了初始 Pokémon。这一结果支持一个有限的结论:模型的表征帮助规划器从固定起点找到有用动作。

这并不支持该模型已独立掌握 Pokémon Red 的更广泛说法。stmonty 在社区讨论中明确承认了这一差距,并指出仅仅扩大当前模型规模,无法解决游戏中众多中间目标的问题。

模型如何通过预测下一步结果学习控制操作

其核心机制是在没有任务奖励的情况下进行预测,然后围绕期望结果的示例展开规划。

训练记录从未将某条轨迹标记为成功,也没有因获得 Pokémon 而奖励模型。在初始训练期间,系统只尝试预测下一个嵌入状态。

如果当前图像显示一个对话框,而记录的动作是 A,预测器就会学习这一组合之后通常出现什么表征。如果角色面向墙壁,它可以学到方向输入可能几乎不会带来可见变化。

这种设置将环境学习与目标选择分离开来。首先,模型学习观察结果通常会如何随动作变化;之后,规划器利用这种预测机制寻找特定结果。

这种分离很重要,因为开发者理论上可将同一个学习到的环境模型复用于多个目标。新任务需要新的目标示例或评分逻辑,但未必需要完整重建环境。

该架构存在一种严重的失效模式。共同训练的编码器和预测器可以通过将每张图像映射为相同表征来降低损失。这样一来,预测器会变得完全一致,却无法保留任何有用信息。

这个问题被称为潜变量坍塌。LeWorldModel 的设计通过 SIGReg 应对它,这是一种正则化器,会推动学习到的表征呈现分布式高斯形态。

相关的 LeWorldModel 论文将该方法描述为一种从原始像素端到端训练 JEPA 的方式。作者包括 Lucas Maes、Quentin Le Lidec、Damien Scieur、Yann LeCun 和 Randall Balestriero。

LeWorldModel 将下一嵌入预测损失与该正则化器结合使用。其官方研究代码提供了检查点、数据参考资料以及更广泛方法的实现。

stmonty 将这一研究方向应用于 Pokémon Red。表征训练完成后,开发者向规划器提供了成功选择 Bulbasaur、Charmander 和 Squirtle 时的嵌入。

这些目标嵌入描述了成功的样子,但并未指定正确路线。系统随后设想候选按键序列会如何改变当前状态。

搜索使用交叉熵方法,这是一种会逐步集中于更优候选方案的采样过程。每一轮都会生成 512 个完整计划,每个计划包含 14 个动作。

规划器将预测状态与三个目标嵌入进行比较,保留距离最低的 64 个计划,然后在下一轮采样中提高这些计划中按键选择的概率。

这一过程不同于向聊天机器人询问该怎么做。规划器是在从记录截图中学习到的动态内部进行搜索。

它也不是经典的奖励驱动强化学习。世界模型并非通过针对好坏动作的持续评分来学习;目标在训练结束后,才通过与成功结果示例的相似性被引入。

这种设计形成了一种颇具吸引力的模块化方式:预测捕捉局部环境,目标嵌入定义成功,搜索算法则探索可能的动作序列。

第一次尝试仍然失败了。规划轨迹在学习到的表征中看似成功,但在模拟器中执行时并未获得 Pokémon。

这次失败暴露了训练与规划之间的不匹配。常规训练期间,每个单步预测都从真实截图的嵌入开始。每一帧新画面实际上都会重置此前的预测误差。

规划的方式则不同。初始截图之后,预测器必须将自己估计出的状态作为下一步输入。每一处微小误差都可能扭曲后续预测。

经过几次设想中的动作后,rollout 可能进入一种对规划器很有吸引力、却不再匹配真实游戏的表征。搜索过程随后便会利用模型的错误。

这是预测系统中的常见问题。模型可能在孤立的下一步预测中得分很高,但当自己的输出被用于驱动后续预测时就变得不可靠。

stmonty 通过 rollout 微调解决了这一问题。编码器保持固定,而预测器和动作编码器则练习从自己先前估计的状态出发进行预测。

训练从短 rollout 开始,并逐步延长。在第 12 个预测步骤时,报告的均方误差从 0.4224 降至 0.3045。

第一步预测略微变差,但误差在整个序列中的累积速度更慢。这一取舍更契合规划任务,因为持续一致性比优化单个孤立步骤更重要。

为什么一张 RTX 3080 Ti 很重要

这张消费级 GPU 的意义在于,它让实验精神上具备可复现性,而不是证明小模型能够取代通用 AI 系统。

现代 AI 报道往往将规模视为核心叙事。参数量达到数十亿,训练集群消耗数千个加速器,而使用权限依赖云端基础设施。

stmonty 的 Pokémon 世界模型则将注意力转向更小的开发循环:一个人选择受限任务、记录训练数据、改编近期研究、诊断规划故障,并在本地重新训练相关组件。

RTX 3080 Ti 并非普通的低端设备。它是一款拥有 12 GB 显存、性能出色的游戏 GPU。不过,它与用于前沿基础模型的专用集群属于不同类别。

这种差异影响着谁能够测试一个想法。本地开发让研究人员能够直接访问检查点、轨迹、数据集和失败记录,也避免将每一项实验输入都发送给托管模型。

这种优势在特定环境的工作中尤为明显。研究机器人、游戏、界面或模拟环境的开发者,未必需要广泛的语言能力。紧凑模型可以将有限的容量集中用于真正重要的动态变化。

小模型也让迭代更加容易。一次失败的规划可以带来有针对性的调整,正如这里通过 rollout 微调所实现的那样。开发者无需重建庞大的通用系统,就能比较不同运行结果、检查数据覆盖范围并修正假设。

不过,本地训练并不自动意味着广泛可及。复现实验仍需要机器学习知识、模拟器埋点、数据收集、合适的硬件以及耐心。

据报道,该模型也只学习了一款游戏中的一个有限区域。其数据集并不是 Pokémon Red 的完整地图,规划器则从固定的存档状态开始运行。

因此,这个项目最好被理解为一个易于接触的研究原型。它降低了某一类实验的算力门槛,但仍保留了相当高的工程门槛。

更广泛的 LeWorldModel 研究进一步支持了这一解读。论文描述了一种参数量约为 1,500 万的架构,在其实验任务中仅使用单块 GPU 训练。它评估的是导航、操控和运动规划环境,而非宣称实现通用智能。

对开发者而言,有价值的信号在于架构效率。预测性表征不必生成照片级真实的未来画面,也不必用语言解释每一个选择;它只需保留足以支持规划的结构即可。

这可以缩小模型规模,并降低评估大量候选动作的成本。与通过截图和文字推断控制方式的语言模型相比,这类系统的目标也更明确。

但专用化也会带来自身成本。开发者必须为一项人类早已理解的任务收集超过 42,000 帧画面。通用模型或许已具备关于 Pokémon、菜单、对话和长期目标的先验知识。

因此,这场较量并不只是小模型与大模型之争。它关乎先验知识与任务特定学习、本地控制与通用能力,以及高效预测与灵活推理之间的取舍。

近期的 Pokémon 实验让这种对比变得清晰可见。一些系统使用语言模型、游戏内存、手工编写的动作列表或外部指导;另一些则围绕明确目标采用强化学习。

stmonty 的模型选择了一条更严格的视觉路线。它从灰度画面和记录的输入中学习,再通过所得表征进行规划。

这种更窄的输入范围既是项目的优势,也是其局限。它赋予结果技术上的清晰度,却移除了有助于通关完整游戏的信息。

能够读取文本的模型可以理解,道馆徽章会解锁后续进展。围绕 Oak 实验室训练的预测模型,则不会自然获得这种层级关系的解释。

消费级硬件使这种本地学习循环显得尤为值得关注。它并未消除对目标结构、多样化数据或能够跨越更长时间尺度运行的系统的需求。

真正的对手是规划视界

实验中最棘手的问题不是识别按键,而是在规划延伸至熟悉的短序列之外时,如何保持预测的有效性。

仅有 14 个动作的视界,就已产生足以击败首个规划器的漂移。尽管单次状态转移看似合理,模型预测的状态仍逐渐偏离模拟器的实际状态。

更长的 Pokémon 目标会放大这一问题。穿过一个房间需要空间导航;对话要求了解此前的选择;战斗则涉及菜单、生命值、属性、招式和不断变化的对手。

完整游戏还包含跨越数小时的依赖关系。玩家必须发现中间目标、记住已完成的任务、获得必需物品,并在先前计划失败时作出调整。

stmonty 在 Hacker News 的交流中直接指出了这一问题。扩展到完整通关,需要针对中间目标的表征,以及一种将它们随时间组织起来的方法。

即使将同一短视界网络扩展到更大规模,它依然缺少处理这种层级关系的明确机制。更多参数或许能改善预测,但不会自动判断下一个目标应是哪个徽章、物品或地点。

这正是通用模型占据优势的地方。它们可以利用语言知识识别游戏概念,并对攻略、对话或记忆中描述的步骤进行推理。

它们的弱点则不同。广泛适用的模型可能会幻觉出动作、丢失状态、重复犯错,或在简单控制决策上消耗大量资源进行推理。

任务特定的世界模型能够更高效地处理局部动态。更高层的系统可以选择目标,而预测模型则负责处理短序列。

这种分层设计出现在社区讨论中。一位参与者提出,应采用在不同时间尺度上运行的层级世界模型。高层组件或许负责推理如何击败道馆,而低层模型则预测单次输入。

这样的系统会类似于许多实用 Agent 的构建方式:一个组件维护目标,另一个组件建模环境,控制器则选择或验证动作。

不过,当前实验并未测试这种架构。它只有三个初始目标嵌入、一个起始位置和固定的规划视界。

52% 的成功率也需要谨慎解读。它显著优于随机基线,但来自对同一初始状态的重复搜索。

该模型并未展示在不同房间、未见过的对话、变化的物品栏或战斗中的稳健性。这些测试需要更广泛的数据和更多样的起始条件。

实验中还有一个重要基线:从该存档状态出发,连续按 12 次 A 就能完成任务。

这一事实并未抹去学习模型的贡献。随机动作序列仍然失败,而训练后的预测器帮助搜索发现了有效计划。但它确实削弱了任何关于系统展现广泛战略理解的说法。

真正的成果在于学习到一种支持目标导向搜索的表征。真正的不确定性在于,当成功依赖于更长、更多样的因果链时,这种表征是否仍然有用。

传统强化学习提供了另一种对比。讨论中引用的一名 Pokémon agent 使用 proximal policy optimization 来处理更广泛的游戏目标。

这一路径依赖明确的奖励设计和反复交互。相比之下,stmonty 的 Pokémon 世界模型在初始训练时,并未接收初始 Pokémon 这一目标。

两种方法都不会在所有场景中胜出。奖励驱动的 Agent 可以直接优化行为,而世界模型则可以将环境预测与后续目标分离。

真正相关的问题是,随着环境扩展,哪种方法仍能保持效率。更广泛的评估应比较数据需求、训练时间、失败率以及跨存档状态的泛化能力。

在缺少这些测量的情况下,不应将该项目描述为小型世界模型优于强化学习或基础模型的证据。它证明的是:一个紧凑的预测系统能够根据视觉数据生成有用的短期计划。

这是一个更小的结论,但也是技术上更有意义的结论。

Pokémon Red 世界模型之后值得关注什么

三项后续测试将揭示:这是一种可复用的本地 Agent 设计,还是一项仅适用于精心限定任务的成功演示。

第一个信号是其在多样起始状态下的表现。更强的评估应从 Oak 实验室内的多个位置开始,包括不熟悉的朝向和不同的对话阶段。

在这些条件下成功,将表明模型捕捉到的内容不只是穿过某一存档状态的一条狭窄路径。若性能明显下降,则说明规划器高度依赖确切的训练分布。

第二个信号是包含中间步骤的更长目标。stmonty 提议从实验室中的其他位置出发,走到 Oak 面前,完成他的对话,然后选择初始 Pokémon。

这项任务仍可控,但它迫使模型维持更长的 rollout。它还测试规划器能否将移动、交互和对话连接成一个连贯序列。

若能稳定完成,将进一步支持本地预测规划的价值。若反复失败,则会证实真正决定性的瓶颈仍是视界长度,而不是参数量或 GPU 容量。

第三个信号是层级控制器。开发者表示,完整游戏需要多个中间目标,以及来自战斗、菜单、对话和地点的更多样化数据。

未来系统可以将高层目标选择器与低层世界模型结合。高层组件可以决定前往 Oak、选择初始 Pokémon 或离开建筑;本地预测器则可以搜索完成每一步所需的输入。

这种设计也会创造更清晰的评估点。研究人员可以分别衡量系统是否选择了正确的子目标,以及动作规划器是否成功执行。

开发者还应关注独立复现。代码虽已公开,但单一作者的结果无法揭示结果对数据收集、随机种子、超参数或实现细节有多敏感。

在另一块消费级 GPU 上复现,将强化其易用性的主张。在另一种视觉环境中进行测试,则更能说明该方法是否能迁移到 Pokémon Red 之外。

该项目最强的贡献并不是完成了整款游戏,而是透明地记录了一个小模型如何失败、为何失败,以及如何通过有针对性的调整获得改进。

这种工作流对本地 AI 研究至关重要。紧凑系统会暴露错误,而这些错误在大得多的 Agent 栈中可能变得难以解释。

stmonty 的 Pokémon 世界模型也为开发者提供了一个具体问题:一个小型预测表征究竟能支持多少规划,才会需要语言、记忆、层级目标或不同的训练信号?

目前,答案只延伸到一个实验室存档状态和一只初始 Pokémon。下一项有价值的成果,将是在不将新的辅助能力隐藏进系统的前提下,拓展这一边界。

如果你在构建本地 Agent,应关注证据而非噱头。测试新的起始状态,测量 rollout 漂移,比较有意义的基线,并记录每一项干预。更长的成功计划会强化紧凑世界模型的论点;若模型在 Oak 实验室之外崩溃,也同样有价值,因为这将揭示下一项实验必须解决的架构极限。

 
 

免费开始使用

一款本地优先的AI助手

为了获得更好的人工智能体验,

remio 目前仅支持Windows 10+ (x64)和M-Chip Mac 。

你的 AI 工作伙伴

和 remio 一起高效工作

规划、创作、交付

一站式完成

bottom of page