Paper: 2603.08707 Authors: Azul Garza, Renée Rosillo, Rodrigo Mendoza-Smith, David Salinas, Andrew Robert Williams, Arjun Ashok, Mononito Goswami, José Martín Juárez Categories: cs.LG

The Gap

Time series foundation models are making bold claims about generalization, but we’re testing them with broken thermometers. Current benchmarks use static train-test splits from datasets frozen in time. This creates three problems: (1) test data can leak into training as models get retrained, (2) researchers can tune hyperparameters on test scores since the test set never changes, and (3) we measure one-off accuracy on a snapshot rather than sustained performance under temporal drift.

The field has reached a point where we can build models that memorize patterns, but we can’t tell if they adapt to change. Prior work (M4, Monash forecasting archive, etc.) provides valuable datasets but all share the static split limitation. This paper asks: what if the test set kept moving?

Problem: Static benchmarks can't detect temporal brittleness
    |
    v
Assumption: Real forecasting requires adapting to ongoing change
    |
    v
Method: Live benchmark with daily-updated GitHub activity streams
    |
    v
Evidence: Infrastructure + protocols for continuous evaluation
    |
    v
Conclusion: Shift from snapshot accuracy to sustained performance

The Increment

One sentence: Before this paper, we tested forecasting models on frozen datasets; after, we can test them on data streams that update daily, exposing temporal fragility that static benchmarks hide.

Core Mechanism

Impermanent builds on a simple insight: GitHub activity is naturally live and highly non-stationary. The benchmark tracks four time series types from the top 400 repositories by star count: issues opened, pull requests opened, push events, and new stargazers. Each day, new data arrives and models must forecast the next window.

The evaluation protocol uses rolling windows. A model makes forecasts, the actual data arrives, performance is scored, and the window slides forward. This happens continuously with daily updates. The system maintains standardized protocols and live leaderboards so researchers can submit models and track performance over time without touching the test data directly.

The data source matters: GitHub activity exhibits real distributional shifts from software releases, changing contributor behavior, platform updates, and external events (like a popular library getting mentioned in a viral post). These aren’t synthetic perturbations—they’re the actual temporal dynamics that forecasting models claim to handle.

GitHub API --> Data Collection --> Time Series Construction
                                          |
                                          v
                    [Issues, PRs, Pushes, Stars] x 400 repos
                                          |
                                          v
                              Rolling Window Evaluation
                                          |
                    +---------------------+---------------------+
                    |                     |                     |
                    v                     v                     v
              Model submits          Actual data           Score & update
              forecasts              arrives daily         leaderboard
                    |                     |                     |
                    +---------------------+---------------------+
                                          |
                                          v
                                  Window slides forward
                                  (repeat daily)

Think of this like a weather forecasting competition, but instead of waiting for the season to end and grading everyone’s predictions at once, you’re grading forecasts every single day as the weather actually happens. A model that memorized historical patterns might do well initially, but when an unusual cold front arrives (analogous to a major GitHub platform change), you immediately see which models adapt and which ones break. The “live” aspect isn’t just a gimmick—it’s the core mechanism that prevents overfitting to a fixed test set and forces models to demonstrate temporal robustness rather than pattern memorization.

Key Concepts

  • Temporal contamination: In static benchmarks, the test set is fixed and known. As foundation models get retrained or researchers iterate, test data can inadvertently influence training (direct leakage) or model selection (indirect leakage through hyperparameter tuning on test scores). It’s like studying for an exam when you already know the questions. Live benchmarks prevent this because the test data doesn’t exist yet—you can’t memorize tomorrow’s GitHub activity today.

  • Distributional shift: Time series data doesn’t stay still. A repository’s activity pattern changes when a major release drops, when core contributors leave, or when a competing tool emerges. Static benchmarks capture one slice of time, but they can’t tell you if a model will handle the shift from “steady growth” to “sudden spike” to “gradual decline.” Impermanent’s GitHub data naturally exhibits these shifts, making them part of the evaluation rather than an afterthought.

  • Rolling window evaluation: Instead of train-once-test-once, you continuously slide a window forward through time. At each step: forecast the next period, wait for actual data, score the forecast, move forward. This mimics real deployment where you’re constantly making predictions about the immediate future. A model might nail the first month but degrade over time as patterns drift—rolling windows catch this degradation that static splits miss.

Framework Shift

Before (static benchmarks):          After (Impermanent):

[Train Data]-->[Test Data]           [Train]-->[Test Day 1]
     ^              |                    |          |
     |              v                    v          v
  Fixed split   One-time score       [Test Day 2]
                                         |
                                         v
                                     [Test Day 3]
                                         |
                                         v
                                     [Test Day N...]
                                         |
                                         v
                                   Continuous scoring

From measuring accuracy on a frozen moment to measuring sustained performance through ongoing change, the core shift is from snapshot evaluation to temporal stress testing.

Expert Assessment

Problem choice: This is a real gap, not manufactured. The time series community has been building increasingly complex foundation models while using evaluation protocols designed for simpler methods. The contamination risk is genuine—I’ve seen papers where “test” performance suspiciously improves in later versions as models get retrained. The timing is right: foundation models are mature enough that we need better evaluation infrastructure.

Method maturity: This is infrastructure work, not algorithmic innovation. The core idea (live benchmarks) isn’t new—Kaggle has done this for years. What’s new is applying it systematically to time series forecasting with standardized protocols. The choice of GitHub data is clever (naturally live, relevant to ML practitioners) but also limiting (single domain, potentially biased toward tech trends). A simpler approach might be to just use multiple static benchmarks with different time periods, but that doesn’t solve the contamination problem.

Experimental integrity: This paper doesn’t present experimental results—it presents a benchmark. The integrity question is whether the infrastructure is sound. The protocols seem reasonable (rolling windows, daily updates, standardized submission). The main risk is maintenance: will this actually stay live? Many “live” benchmarks die after a year when funding runs out. The GitHub dependency is both a strength (free, reliable API) and weakness (what if GitHub changes their API or rate limits?).

Writing quality: The paper is clear about what it is (infrastructure) and what it isn’t (a new forecasting method). The motivation is well-articulated. However, the paper would benefit from more discussion of limitations—why only 400 repos? How representative is GitHub activity of other forecasting domains? What happens when a repo gets archived or deleted? The related work section could better position this against other live benchmark efforts in ML.

Verdict: weak accept — Addresses a real methodological gap with practical infrastructure, but limited to one domain and success depends on long-term maintenance commitment.

Takeaways

If you’re building forecasting models, steal the evaluation philosophy: test on data that keeps changing, not frozen snapshots. Even if you can’t set up a live benchmark, you can simulate it by evaluating on multiple time periods and measuring performance degradation over time.

For benchmark designers in other domains: the “live” aspect prevents contamination and forces temporal robustness. Consider whether your field has naturally updating data sources (social media, sensor networks, financial markets) that could support similar infrastructure.

The specific technical contribution here is modest (it’s mostly engineering), but the conceptual shift matters: from “does this model work on this dataset?” to “does this model keep working as the world changes?” That framing transfers to any domain where temporal dynamics matter.

论文: 2603.08707 作者: Azul Garza, Renée Rosillo, Rodrigo Mendoza-Smith, David Salinas, Andrew Robert Williams, Arjun Ashok, Mononito Goswami, José Martín Juárez 分类: cs.LG

缺口

时序基础模型在大谈泛化能力,但我们用的是坏掉的温度计来测试它们。

现有基准使用静态的训练-测试划分,数据集冻结在某个时间点。

这造成三个问题:(1)模型重训练时测试数据可能泄漏到训练中,(2)研究者可以在测试集上调超参数因为测试集永远不变,(3)我们测量的是快照上的一次性准确率而非时间漂移下的持续表现。

该领域已经能构建记忆模式的模型,但我们无法判断它们能否适应变化。

先前工作(M4、Monash 预测档案等)提供了宝贵的数据集,但都有静态划分的局限。

这篇论文问:如果测试集一直在动呢?

问题:静态基准无法检测时间脆弱性
    |
    v
假设:真实预测需要适应持续变化
    |
    v
方法:每日更新 GitHub 活动流的实时基准
    |
    v
证据:持续评估的基础设施 + 协议
    |
    v
结论:从快照准确率转向持续表现

增量

一句话:这篇论文之前,我们在冻结数据集上测试预测模型;之后,我们可以在每日更新的数据流上测试它们,暴露静态基准隐藏的时间脆弱性。

核心机制

Impermanent 基于一个简单洞察:GitHub 活动天然是实时的且高度非平稳。

基准追踪星标数前 400 个仓库的四类时间序列:开启的 issue、开启的 PR、推送事件、新增星标。

每天新数据到达,模型必须预测下一个窗口。

评估协议使用滚动窗口。

模型做出预测,实际数据到达,性能被评分,窗口向前滑动。

这个过程每日更新持续进行。

系统维护标准化协议和实时排行榜,研究者可以提交模型并追踪性能随时间的变化,无需直接接触测试数据。

数据源很重要:GitHub 活动展现真实的分布偏移,来自软件发布、贡献者行为变化、平台更新、外部事件(比如热门库在病毒式帖子中被提及)。

这些不是合成扰动——它们是预测模型声称能处理的真实时间动态。

GitHub API --> 数据收集 --> 时间序列构建
                                |
                                v
              [Issues, PRs, 推送, 星标] x 400 仓库
                                |
                                v
                        滚动窗口评估
                                |
              +-----------------+-----------------+
              |                 |                 |
              v                 v                 v
        模型提交预测        实际数据每日到达    评分并更新排行榜
              |                 |                 |
              +-----------------+-----------------+
                                |
                                v
                        窗口向前滑动
                        (每日重复)

把这想象成天气预报比赛,但不是等整个季节结束后一次性给所有人的预测打分,而是每天天气实际发生时就打分。

一个记住历史模式的模型可能最初表现不错,但当异常寒流到来时(类比 GitHub 平台的重大变化),你立即看到哪些模型能适应、哪些崩溃。

“实时”方面不只是噱头——它是防止过拟合固定测试集的核心机制,迫使模型展示时间鲁棒性而非模式记忆。

关键概念

  • 时间污染:在静态基准中,测试集是固定且已知的。

随着基础模型重训练或研究者迭代,测试数据可能无意中影响训练(直接泄漏)或模型选择(通过在测试分数上调超参数的间接泄漏)。

这就像考试时你已经知道题目。

实时基准防止这种情况,因为测试数据还不存在——你无法记住明天的 GitHub 活动。

  • 分布偏移:时间序列数据不会静止。

当重大版本发布、核心贡献者离开、或竞争工具出现时,仓库的活动模式会改变。

静态基准捕获时间的一个切片,但无法告诉你模型能否处理从”稳定增长”到”突然激增”再到”逐渐衰退”的转变。

Impermanent 的 GitHub 数据天然展现这些偏移,使它们成为评估的一部分而非事后补充。

  • 滚动窗口评估:不是训练一次测试一次,而是持续向前滑动窗口穿越时间。

每一步:预测下一期,等待实际数据,给预测评分,向前移动。

这模拟真实部署,你不断对即将到来的未来做预测。

一个模型可能在第一个月表现完美,但随着模式漂移性能逐渐下降——滚动窗口能捕获静态划分遗漏的这种退化。

框架转变

之前(静态基准):                之后(Impermanent):

[训练数据]-->[测试数据]           [训练]-->[测试第1天]
     ^              |                |          |
     |              v                v          v
  固定划分      一次性评分        [测试第2天]
                                     |
                                     v
                                 [测试第3天]
                                     |
                                     v
                                 [测试第N天...]
                                     |
                                     v
                                 持续评分

从测量冻结时刻的准确率到测量持续变化中的持续表现,核心转变是从快照评估到时间压力测试。

专家评审

选题眼光:这是真缺口,不是人造的。

时序社区一直在构建越来越复杂的基础模型,却使用为简单方法设计的评估协议。

污染风险是真实的——我见过一些论文,“测试”性能在后续版本中可疑地提升,因为模型被重训练了。

时机恰当:基础模型已经足够成熟,我们需要更好的评估基础设施。

方法成熟度:这是基础设施工作,不是算法创新。

核心想法(实时基准)不新——Kaggle 多年来一直这么做。

新的是将其系统地应用于时序预测并配以标准化协议。

选择 GitHub 数据很聪明(天然实时,与 ML 从业者相关),但也有局限(单一领域,可能偏向技术趋势)。

更简单的方法可能是使用多个不同时期的静态基准,但那无法解决污染问题。

实验诚意:这篇论文不呈现实验结果——它呈现一个基准。

诚意问题在于基础设施是否可靠。

协议看起来合理(滚动窗口、每日更新、标准化提交)。

主要风险是维护:这真的会保持实时吗?

许多”实时”基准在资金耗尽后一年就死了。

GitHub 依赖既是优势(免费、可靠的 API)也是劣势(如果 GitHub 改变 API 或限速怎么办?

)。

写作功力:论文清楚说明它是什么(基础设施)和不是什么(新预测方法)。

动机阐述得很好。

然而,论文会受益于更多局限性讨论——为什么只有 400 个仓库?

GitHub 活动对其他预测领域的代表性如何?

当仓库被归档或删除时会发生什么?

相关工作部分可以更好地将此与 ML 中其他实时基准工作对比。

判决:弱接收 — 用实用基础设施解决真实方法论缺口,但局限于单一领域且成功取决于长期维护承诺。

要点总结

如果你在构建预测模型,偷走评估哲学:在持续变化的数据上测试,而非冻结快照。

即使无法建立实时基准,你也可以通过在多个时期评估并测量性能随时间的退化来模拟它。

对其他领域的基准设计者:“实时”方面防止污染并强制时间鲁棒性。

考虑你的领域是否有天然更新的数据源(社交媒体、传感器网络、金融市场)可以支持类似基础设施。

这里的具体技术贡献不大(主要是工程),但概念转变重要:从”这个模型在这个数据集上有效吗?

“到”随着世界变化这个模型能持续有效吗?

“这个框架可迁移到任何时间动态重要的领域。