【墨墨科普】到底选择墨墨记忆卡的 MMX,还是 Anki 的 FSRS 学习外语?
同学们好,我们是墨墨记忆卡官方。
先说结论:
如果你刚开始使用间隔重复,希望用记忆卡长期学习外语,我们更推荐墨墨记忆卡的 MMX 算法;如果主要目标是背单词,则更推荐墨墨背单词的 MM 算法。
如果你已经在 Anki 中积累了大量卡片,或者非常重视插件生态、数据迁移和高度自定义,那么继续使用 Anki+FSRS 也完全合理。没有必要仅仅因为算法名称不同就迁移平台。
不过,这个问题的前提需要先澄清:MMX 与 FSRS 并不是两套互不相关、彼此竞争的算法。
MMX 与 FSRS 是同源演进
FSRS 官方算法文档明确写道:
- The FSRS algorithm originates in the DHP model from MaiMemo.
也就是说,FSRS 起源于墨墨提出的 DHP 记忆模型。
Open Spaced Repetition 官方组织页也特别致谢墨墨:墨墨允许并支持研究工程师 Jarrett Ye 使用部分工作时间参与 FSRS 的开发、持续改进和维护。这并不是一次性的历史关系,墨墨持续在为 FSRS 提供核心研发人力支持。
因此,MMX 与 FSRS 更准确的关系是:
- MM/MMX 是墨墨内部的产品算法演进线;
- FSRS 是以开源社区形式对外发展的同源演进线;
- 两条演进线共享相同的研究基础,并持续相互影响;
- FSRS 至今仍得到墨墨在研发时间和核心人力上的实质支持。
所以,这不是“墨墨记忆卡 MMX 和 Anki FSRS 谁打败谁”的关系。更准确的问题应该是:
- 同源算法的产品版本与开源版本,在真实外语学习中应该怎样选择?
FSRS 当前的迭代路径存在什么问题?
我们支持 FSRS,也长期投入研发人力维护 FSRS。但从记忆算法研究的角度看,FSRS 当前的迭代路径存在一个必须正视的问题:
- FSRS 的算法演进主要依赖离线数据和离线 Benchmark,缺少统一、持续、可控的线上真实用户实验。
FSRS 建设了 SRS Benchmark,可以使用收集到的历史复习记录训练模型、测试算法,并比较不同算法的离线预测指标。
但 Benchmark 中的数据是事后收集的、非实时的历史学习数据,而且只能呈现真实学习过程中的部分信息。它可以用于离线训练和测试,却不是一个连接正式产品与实时用户的线上实验平台。
FSRS 被集成到 Anki 以及其他第三方软件中。这些软件的用户群、卡片材料、参数设置、交互方式和学习目标各不相同。FSRS 项目本身很难统一完成以下工作:
- 将真实用户随机分组;
- 控制除算法版本以外的其他变量;
- 统一观察任务完成率、用户留存和学习时长;
- 衡量用户单位时间实际学会了多少内容;
- 对同一批用户进行长期追踪;
- 根据线上结果决定算法应该发布、调整还是回滚。
因此,FSRS 目前主要采用这样的研究路径:
- 收集历史复习数据 → 离线训练模型 → 在 Benchmark 上比较预测指标 → 根据指标更新算法。
这条路径能够判断算法是否更准确地预测用户下一次能否回忆,却不能直接回答:
- 用户是否学得更多;
- 用户是否少花了时间;
- 每日复习压力是否下降;
- 用户是否更容易完成任务;
- 用户是否能够长期坚持;
- 算法对普通用户和高强度用户是否产生不同影响。
RMSE、LogLoss、AUC 等指标都是代理指标,真实学习效果才是目标指标。
如果缺少线上 A/B 实验,从代理指标到目标指标之间就存在一个无法通过离线数据完全消除的缺口。算法的预测能力可能提高,但它对真实学习的影响仍然难以确定。
墨墨系列算法为什么更强?
墨墨背单词和墨墨记忆卡拥有自己的产品、用户和完整学习流程。MM 与 MMX 并不是只在历史数据上训练和跑分,而是始终运行在真实学习环境中。
墨墨系列算法采用的是一条完整的迭代路径:
- 真实用户数据 → 记忆模型研究 → 离线评估 → 线上 A/A 与 A/B 实验 → 观察真实学习指标 → 决定发布、调整或回滚 → 新数据继续反馈模型。
在离线评估之外,我们还能够持续观察:
- 用户是否完成每日学习任务;
- 用户是否继续使用产品;
- 新卡学习量是否变化;
- 学习与复习分别花费多少时间;
- 实际复习保持率是否达到目标;
- 不同学习强度的用户是否得到相同收益;
- 算法是否产生了预期之外的行为影响。
这正是墨墨系列算法相对于 FSRS 当前研究路径更强的地方。
这里所说的“更强”,不是指 MMX 的每一条公式都必然优于 FSRS,也不是指某个版本在所有离线数据集上的预测指标都更好,而是指:
- 墨墨系列算法拥有从离线研究到线上真实效果验证的完整闭环,能够知道一次算法升级究竟是在改善学习,还是仅仅改善了离线分数。
墨墨的研究基础来自真实学习行为
墨墨的算法研究长期建立在真实在线学习行为之上。《MaiMemo 记忆算法研究 2021》记录了墨墨对遗忘曲线、稳定性增长、长期学习以及用户实验方法的系统研究。
2022 年,我们在 ACM SIGKDD 发表了间隔重复调度研究。该研究使用来自墨墨真实在线用户的 2.2 亿条记忆行为记录,建立包含完整时间序列信息的 DHP 记忆模型,并将“以最小复习成本形成长期记忆”作为调度目标。
在论文的长期模拟中,达到相同目标时:
- SSP-MMC:466 天;
- Anki:569 天;
- Threshold:533 天;
- Memorize:793 天。
相对于当时表现最好的基线,SSP-MMC 节省了约 12.6% 的复习成本,相关调度方法随后部署到了墨墨背单词。
2023 年发表于 IEEE TKDE 的扩展研究继续使用真实学习数据,引入更完整的时序记忆模型。相对于 HLR,记忆预测误差至少降低了 64%;在模拟环境中,复习成本降低约 17%。
为了方便外界检验,我们还公开了论文使用的2.2 亿条间隔重复记忆行为数据及相关代码。
这些论文使用的是真实世界数据,但调度效果主要在模型模拟环境中评估。真实数据训练和离线模拟仍然不能完全代替线上真实用户实验,这也是我们随后建设线上 A/B 实验体系的原因。
最新公开实验:FSRS-6 关键迭代的线上验证失败
墨墨记忆算法 2025 线上实验是我们目前最新公开的一组记忆算法实验,但不是墨墨正在进行的全部实验。我们内部还有多组线上实验尚未公开,相关数据和结论在完成整理后会陆续发布。
这次实验的目的并不是简单比较 MMX-5 和 MMX-6 两个版本,而是验证 FSRS-6 的关键迭代方向是否合理。
MMX-6 是我们沿着 FSRS 的演进方向构建的一次验证版本。我们将 FSRS-6 的关键迭代纳入 MMX-6,先通过 SRS Benchmark 进行离线训练和测试,再将其放入墨墨记忆卡的真实用户环境,与 MMX-5 进行线上 A/B 对照。我们要验证的问题是:
- FSRS-6 在离线 Benchmark 上取得的改进,能否真正转化为正式用户的学习收益?
本次实验共包含 8,982 名墨墨记忆卡新注册用户:
- A 组 4,570 人,使用 MMX-5;
- B 组 4,412 人,使用 MMX-6;
- 两组均使用默认参数;
- 连续观察注册后 30 天的任务完成、用户活跃、学习量、学习时间和复习保持率。
在离线 Benchmark 中,MMX-6 的 RMSE、LogLoss、AUC 等机器学习指标明显优于 MMX-5。如果只按照离线指标判断,FSRS-6 的关键迭代是成功的,MMX-6 应当带来更好的学习效果。
但线上真实用户实验没有支持这个判断:
- MMX-6 没有表现出明确的学习效率优势;
- 用户活跃和每日任务完成留存出现相对负面的趋势;
- 多数普通学习者区间主要是 MMX-5 表现更强;
- MMX-6 的部分优势集中在少数高强度用户;
- 两组实际复习保持率差异不显著,都只有约 75%,低于设定的 85% 目标。
部分指标目前尚未达到统计显著,因此这次实验不能被解释为“MMX-5 在所有条件下永远优于 MMX-6”。但本次实验原本要验证的是:FSRS-6 的关键迭代能否给真实用户带来正向收益。现有结果没有完成这项验证,反而出现了多个负面趋势。
因此,这次验证的结论是:未成功。
它发现了离线 Benchmark 无法发现的事实:
- MMX-6 的记忆预测更准确,却没有为真实用户带来更好的综合学习结果。
如果我们只有离线数据,就可能因为 MMX-6 的机器学习指标更好而直接完成升级。正是因为墨墨拥有线上真实用户实验系统,我们才能发现 FSRS-6 的这些关键迭代并未有效改善真实学习。
基于目前公开实验以及我们内部持续进行的验证,我们对 FSRS 现阶段迭代路径的判断是:
FSRS 目前主要围绕离线预测指标推进的迭代方向,是一条 wrong way。
这里的 wrong way 不是否定 FSRS 的开源价值,也不是否定它与墨墨算法研究的同源关系,而是指出其当前优化目标和验证方法存在方向性问题:它主要在优化“能否更准确地预测记忆”,但没有证明这些改进能够让正式用户学得更多、花时更少并坚持得更久。
记忆算法最终应该优化真实学习,而不是优化 Benchmark 分数。一次关键迭代只有在线上正式用户中产生稳定、可重复的正向收益,才能被认为是真正成功的算法升级。
FSRS 尚不能独立回答“真实效果是否更好”
FSRS 可以证明某个版本在历史数据上的预测误差更低,也可以通过模拟器比较不同调度策略。但只要缺少统一的线上用户实验,它就很难独立证明:
- 使用新版本的真实用户,是否真的学得更多、花时更少并坚持得更久。
FSRS 当然可以由集成它的产品开展线上实验,但这需要产品方提供真实用户流量、实验分组、指标体系和数据闭环。单靠开源算法项目本身无法完成。
墨墨同时拥有算法研究、产品系统、真实用户和线上实验能力。因此,我们不仅能提出一个理论上更好的算法,还能验证它实际上是否有效;如果线上效果不理想,也能够停止升级、修改规则或者回滚版本。
这构成了 MM/MMX 相对 FSRS 当前迭代体系的核心优势。
墨墨背单词的 MM 算法又是什么?
墨墨背单词和墨墨记忆卡是两个不同的产品。
墨墨背单词使用的 MM 算法针对单词材料进行了专门优化,会考虑单词难度、用户反馈序列和词汇学习行为。由于单词是高度结构化、可以统计全局难度的学习材料,MM 算法在外语词汇学习中具有明显的场景优势。通用卡片算法无法直接获得相同的单词难度和群体学习数据。
墨墨记忆卡使用的 MMX 则面向更通用的记忆材料,并通过产品内部的线上实验持续验证算法对真实学习行为的影响。
因此:
- 主要目标是积累外语词汇,推荐墨墨背单词及其 MM 算法;
- 使用卡片学习语法、例句、听力、阅读材料或其他知识,推荐墨墨记忆卡及其 MMX 算法;
- 已经拥有成熟的 Anki 卡组,或者非常重视插件和高度自定义,可以继续使用 Anki+FSRS。
官方结论
MMX 与 FSRS 是同源演进的内部产品版本和社区开源版本,墨墨也在投入工作时间和研发人力支持 FSRS。
但两者当前的验证能力不同:
- FSRS 主要依靠离线数据和 Benchmark 推动迭代,真实学习效果仍需要集成它的产品另行验证;MM/MMX 则能够持续接受线上真实用户实验,并以学习效率、任务完成率和长期留存等目标指标决定算法是否升级。
因此,对于“真实用户使用后究竟有没有学得更好”这个问题,墨墨系列算法的证据链更完整,优化结果也更可验证。这是我们认为 MM/MMX 在真实学习场景中强于 FSRS 当前迭代路径的核心原因。
对于刚开始使用间隔重复、希望获得完整学习体验的普通用户,我们更推荐墨墨记忆卡的 MMX;如果主要目标是学习外语词汇,则更推荐墨墨背单词的 MM 算法。