Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Kumo Forecast mixed-precision predictions diverge from upstream beyond its precision budget

未关闭
#1,239 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@devanj08 已经在做这个了。

开始于 2026年10月22日。

  • #1240 来自 @devanj08 —— 未关闭

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
numpy, python, pytorch

调研方向

Start by locating Kumo Forecast’s preprocessing, positional value generation, encoder and normalization paths, then compare them with the upstream SDK using the four-feature hourly fixture and the M4, NN5 and synthetic stress inputs described in the issue. Reproduce the mixed-precision discrepancy and isolate the interacting dtype and rounding differences; promoting the encoder stream alone is already known to leave counterexamples. Done means the tested cohort meets the stated agreement target, with remaining FP32 differences, budget exceptions, latency and memory costs, and saved-state key changes documented.

由索引模型根据 Issue 内容生成。

描述

bug

Reader Digest

Summary

Kumo Forecast in SDM can return different predictions from the upstream SDK with the same pretrained weights and histories.
On 20,736 predictions, the mixed-precision discrepancy averaged 1.33 times upstream's own mixed-versus-FP32 discrepancy, with occasional sign changes near zero.
FP32 was much closer, but that does not validate mixed precision.

Tenant, Data, and Specs
  • Affected: Local Kumo Forecast inference using the existing pretrained checkpoints; observed in both cross-channel variants.
  • Data and connector: Public SDK four-feature hourly fixture, M4 and NN5 histories, and labeled synthetic stress inputs; no connector.
  • Machine: NVIDIA L40S, Python 3.12.14, PyTorch 2.12.1+cu130, CUDA 13.0, driver 595.91.07, NumPy 1.26.4.
  • Deployment: Source-installed Python packages, public inference APIs; no serving container.
Root Cause
  1. The port changes preprocessing rounding and regenerates positional values on the GPU.
  2. Mixed precision changes encoder-stream and normalization dtypes relative to upstream.
  3. Input layout, GELU and attention execution introduce additional rounding differences.
  4. These effects interact; promoting the encoder stream alone leaves reproducible counterexamples.
Fix Blast Radius

Keep the correction local to Forecast, with optional division precision in the shared standardizer and unchanged defaults for other models.
The candidate achieves exact mixed agreement in the tested cohort, but retains small FP32 differences and pointwise budget exceptions.
Measured latency/memory costs and saved-state key changes require disclosure; numerical agreement is not forecasting accuracy.
No retraining or checkpoint-weight change is required.
Verdict: Contained. Fixing this addresses the root cause.

主要语言
Python
星标
429
派生
46
平均合并
1 天 13 小时
30 天内合并 PR
212

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NVIDIA/structured-data-models 的其他 Issue

查看 NVIDIA/structured-data-models 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。