当前位置: 首页 > news >正文

cann/mat-chem-sim-pred PID窗口残差诊断算法

PidWindowedResidualDiagnostics Algorithm

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

功能

PidWindowedResidualDiagnosticsactual[B, N]predicted[B, N]做滑动窗口残差诊断,用于发现全局残差指标掩盖的分段漂移、局部振荡和模型失配。

输出布局:

metrics[B, W, 8] autocorr[B, W, max_lag] W = 1 + (N - window_size) / stride

指标

每个(batch, window)独立计算 8 个指标:

mean_residual std_residual mae rmse max_abs_residual fit_percent durbin_watson ljung_box_q

autocorr[b, w, lag - 1]为窗口内残差在指定 lag 下的归一化自相关。

Kernel 策略

Kernel 将每个(batch, window)映射为一个 task,并按 task 分配到多个 AI Core:

task = b * W + w window_start = w * stride input_base = b * N + window_start

每个 task 在 kernel 内直接扫描原始actual/predicted窗口,不显式展开[B, W, window_size]中间张量。这样避免滑窗物化造成额外 HBM 占用,同时只回传小规模诊断结果。

计算过程

对窗口残差r_i = actual_i - predicted_i

mean = avg(r) centered = r - mean sse = sum(r_i^2) residual_energy = sum(centered_i^2) actual_energy = sum((actual_i - avg(actual))^2)

再得到:

std = sqrt(residual_energy / max(window_size - 1, 1)) mae = avg(abs(r)) rmse = sqrt(sse / window_size) fit_percent = 100 * (1 - sqrt(sse) / sqrt(max(actual_energy, eps))) durbin_watson = sum((r_i - r_{i-1})^2) / max(sse, eps)

多 lag 自相关与 Ljung-Box 风格统计量:

autocorr_lag = sum(centered_i * centered_{i-lag}) / max(residual_energy, eps) ljung_box_q = n * (n + 2) * sum(autocorr_lag^2 / max(n - lag, 1))

复杂度

每个窗口的主计算复杂度为:

O(window_size * max_lag)

整体工作量约为:

B * W * window_size * max_lag

输出规模为:

B * W * (8 + max_lag)

当前限制

  • 当前 kernel 是 GlobalTensor 标量访问原型,尚未做 UB 分块和向量化。
  • 当前验证聚焦中大窗口场景;极小窗口会被 launch 和调度开销主导,应单独评估。
  • resident_e2e口径假设actual/predicted已在 Device;若输入来自 Host,还需补 cold H2D 端到端数据。
  • 若后续继续优化,优先优化 lag 维度的 UB staging,减少重复 Global Memory 读取。

【免费下载链接】mat-chem-sim-pred面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理+数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。项目地址: https://gitcode.com/cann/mat-chem-sim-pred

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/3132784.html

相关文章:

  • Jina Reader终极指南:7个高效技巧让LLM输入质量翻倍
  • 秒懂Flink:Flink分区策略与数据倾斜解决方案
  • Agent Skills技能性能分析:使用Profiling工具优化技能执行
  • AI测试新范式:从算法崇拜到工程融合的实战驯化指南
  • OpenBatteryInformation:基于Arduino的BMS修复工具技术实现方案
  • IpaDownloadTool常见问题:解决IPA提取失败的7种方法
  • Node.js原生模块编译的终极指南:掌握node-gyp构建工具
  • 探索Moonshine Voice:如何在边缘设备上实现5倍于Whisper的实时语音识别性能
  • 如何永久保存微信聊天记录:终极免费工具完全指南
  • Bosca Ceoil Blue完整教程:从零开始制作专业级音乐
  • JoyAI-Image-Edit-Plus模型细节大公开:京东自研技术如何引领多模态编辑新潮流
  • BepInEx游戏插件框架:5分钟快速安装与终极配置指南
  • 从源码构建AzaharPlus:完整开发者指南助你定制专属模拟器
  • 从零开始:5个关键环节掌握yuzu Switch模拟器配置,让电脑变身游戏主机
  • Lucky:一款全能型软硬路由神器,轻松搞定公网访问与智能家居控制
  • jinjava测试策略:如何编写可靠的模板单元测试
  • Blazingly-fast AI聊天新纪元:开源免费应用chat0全面解析
  • InVesalius高级应用:掌握阈值分割与 watershed 算法,提升影像分析精度
  • 蚂蚁:高效多模态搜索智能体框架
  • 数字孪生助力制造业全链路仿真优化的路径
  • Offix数据模型设计最佳实践:从schema到生成代码的完整流程
  • 如何在10分钟内训练专业级AI语音转换模型:RVC完整指南
  • 如何彻底解决PowerShell 7.5在Windows平台的启动崩溃:5步完整指南
  • DeepSeek-V4:国产大模型从‘能用’到‘好用’的可用性革命
  • PyMiniRacer核心功能解析:最新ECMAScript支持与WebAssembly实战指南
  • ContEx扩展开发:从零开始创建自定义图表类型和插件的完整指南
  • Video2X:5分钟上手AI视频超分辨率与帧插值完整指南
  • AI网课摘要工具实测:语义压缩率与复习触发智能度深度解析
  • 5分钟快速配置NeverSink过滤器:流放之路2物品筛选终极指南
  • 如何快速掌握VRRTest:终极可变刷新率检测工具完整指南