eb_jepa
facebookresearch/eb_jepa加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你走进一个陌生的房间,不需要人教,你就能"感觉"到这个房间的布局——门在哪里、灯开关在哪儿、桌子怎么走。这种能力,叫做世界模型(World Model)——人类大脑天然地在构建这个模型:看到当前状态,就能预测接下来会发生什么。
Facebook AI Research(FAIR)的 EB-JEPA,就是这样一个试图教会机器构建世界模型的开源项目。它由 Yann LeCun 亲自参与署名,代表了 Meta 在联合嵌入预测架构(JEPA)方向的最新开源实践。

EB-JEPA 核心架构:能量函数驱动的联合嵌入预测框架
传统的自监督学习方法(如 SimCLR、BYOL)采用的是对比学习思路:让相同内容的不同视角在特征空间中靠得越近越好。但这存在根本性缺陷——它们要求对"哪些是正样本、哪些是负样本"做出明确判断,对于复杂的现实世界,这种判断本身就是难题。
JEPA 的思路截然不同:它不要求判断"这不是同一张图",而是让模型学习预测能力——给定部分信息,预测其余部分。打个比方:不是记住每张猫的照片长什么样,而是学会"画"出一只猫该有的特征。
EB-JEPA 在 JEPA 基础上引入了能量函数(Energy Function)机制。能量函数衡量"两件事物有多不匹配":预测值与真实值差距大,能量就高;完全吻合,能量就低。训练过程就是不断压低正确预测的能量、同时拉高错误预测的能量——和人类"试错学习"的过程高度相似。
EB-JEPA 仓库提供了三个完整示例,每个都可以在单卡 GPU 上几小时内跑完,这比许多动辄需要几十张卡的开源项目友好得多。
Image JEPA:在无标签的 CIFAR-10 图像数据集上做自监督表示学习,然后评估在图像分类任务上的表现。核心原理是将图像切分成 patches,通过 ViT 编码器生成表示,然后用 JEPA 预测器来预测被遮蔽区域的特征。

Image JEPA 架构图:编码器-预测器结构
Video JEPA:将图像序列的预测从静态扩展到动态。给定视频中的若干帧,预测中间帧或后续帧的表示。这比图像任务更具挑战性,因为需要理解物体的运动规律和时间连贯性。
AC Video JEPA(Action-Conditioned):这是最有趣的部分——结合动作条件的视频 JEPA,用于规划和决策。具体场景是在"Two Rooms"环境中,模型从初始状态学会规划一条到达目标状态的路径。它不直接输出动作,而是先预测状态演变,再基于预测结果做规划。

AC Video JEPA 在 Two Rooms 环境中的成功规划轨迹
这种"先预测,再规划"的范式,和人类开车时在大脑中模拟"如果我现在变道会发生什么"的过程如出一辙。LeCun 认为,这是构建真正"常识推理"能力的关键路径。
从代码结构来看,EB-JEPA 的核心模块包括:
依赖生态方面:PyTorch 2.6.0 + torchvision 构成底层;einops 做张量重塑;huggingface-hub 加载预训练模型;wandb 记录训练过程(wandb[media] 支持可视化);submitit 支持 SLURM 集群任务提交;gymnasium 用于强化学习环境交互。
仓库强烈推荐使用 uv 作为包管理器(uv sync),这比 pip 快了数倍。如果需要 conda 环境,可以创建 Python 3.12 的 conda 环境后用 uv pip install -e . --group dev 安装。
# 快速启动 Image JEPA
python -m examples.image_jepa.main
# 提交 SLURM 任务进行完整 sweep
python -m examples.launch_sbatch --example image_jepa \
--fname examples/image_jepa/cfgs/default.yaml
硬件要求方面,仓库默认针对 H100 GPU 优化。如果使用较老的 A100 或 V100,需要调小 batch_size 以避免显存不足。测试套件通过 pytest 管理,提交 PR 前需要通过 autoflake + isort + black 格式化检查。
需要客观指出的是,EB-JEPA 仍处于研究早期阶段。虽然仓库设计清晰、示例完整,但核心创新(能量函数 + JEPA 的结合)尚未在业界获得广泛验证。JEPA 系列方法整体还处于学术探索期,在 ImageNet 等标准 benchmark 上的表现与最先进的对比学习方法相比仍有差距。
此外,项目不提供 Docker 部署方式,也没有 Web 界面——它是一个纯研究代码库,目标是帮助研究者和工程师理解 JEPA 范式,而非直接生产部署。
EB-JEPA 的发布代表了 Meta 对"世界模型"路线的持续押注。LeCun 自 2022 年以来多次公开表示,单纯的大语言模型无法达到人类级别的智能,真正的突破在于让 AI 构建对物理世界的内部表征——能够推理因果、预测行动后果、进行长期规划。
EB-JEPA 作为首个由 FAIR 官方维护的 JEPA 开源库,意义在于降低了这一研究方向的门槛。相比 I-JEPA(Meta 之前发布的图像版 JEPA),EB-JEPA 扩展到了视频和规划任务,且提供了完整的训练和评估流程。对于想在 JEPA 方向做深入研究或应用探索的团队,这是一个值得关注的起点。