
快速上手Kairos-23M3步在昇腾910B4上跑通零样本时序预测【免费下载链接】kairos_23m-npu项目地址: https://ai.gitcode.com/atlasleong/kairos_23m-npuKairos-23M 是参数量仅 2300 万的时序基础模型主打零样本时序预测无需微调喂入一段历史序列就能直接输出未来多步预测并同时给出 9 个分位数区间。在昇腾 910B4 NPU上借助本仓库提供的本地化权重与推理脚本你只需 3 步——配置环境、克隆仓库、执行推理——即可跑通完整流程实测单次前向推理中位耗时仅约114 毫秒全程无需 CUDA。Kairos-23M 是什么零样本时序预测模型核心特性Kairos-23M 源自论文Kairos: Toward Adaptive and Parameter-Efficient Time Series Foundation Models在 PreSTS 语料超 3000 亿时间点上预训练采用 T5 风格 encoder-decoder 架构融合三大自适应组件动态分块Dynamic Patching根据局部信息密度自适应选择序列切分粒度MoE tokenizer以混合粒度编码在信息密度不同的序列上灵活分配计算实例级 RoPEDRoPE结合序列自身频谱特征定制位置编码。项目内容模型名称Kairos-23Mmodel_typekairos参数量23,000,576约 2300 万任务零样本时序预测分位数预测输入past_target(batch, context_length) float32输出(batch, 9, prediction_length)对应 0.1~0.9 共 9 个分位数模型支持最长 2048 的上下文默认预测长度 64配置细节见仓库内 model/config.json其中d_model384、4 层 encoder 4 层 decoder、8 头注意力。昇腾适配做了什么一次完整的 NPU 迁移原模型基于 PyTorch 训练本仓库通过custom-pytorch适配器将其迁移到昇腾 NPU并经独立复审修订。迁移过程中修复了两处关键的 NPU 兼容性问题kairos_code/tsfm/model/kairos/modeling_kairos.py将torch.abs(complex)改为sqrt(sum(view_as_real**2))规避 torch_npu 对 complex64 的限制kairos_code/tsfm/model/kairos/moe.py为路由偏置的负载均衡更新增加训练守卫保证评估前向无状态。修复后 CPU 与 NPU 输出的最大误差仅 2.38e-06数值高度一致。下图为 Model Agent 的完整适配工作流第一步搭建昇腾910B4运行环境运行环境要求如下芯片Ascend 910B4npu-smi25.2.0CANN8.5.1/usr/local/Ascend/ascend-toolkitPythontorch2.9.0 torch_npu2.9.0由昇腾镜像固定提供无需重装。先加载昇腾环境变量并指定逻辑设备source /usr/local/Ascend/ascend-toolkit/set_env.sh export ASCEND_RT_VISIBLE_DEVICES0再安装精确锁定的 Python 依赖torch/torch_npu不重装pip install --ignore-installed --no-deps -r requirements.txt⚠️ 关键点transformers必须为4.56.x推荐 4.56.2。Kairos 建模代码导入了 transformers 5.x 已移除的剪枝辅助函数版本不对会直接报错。第二步克隆仓库获取模型与代码获取项目代码与本地化权重git clone https://gitcode.com/atlasleong/kairos_23m-npu仓库结构一目了然model/本地化权重model.safetensors187 个张量与config.jsonkairos_code/tsfm/model/kairos/模型建模代码核心文件包括modeling_kairos.py、moe.py、layers.py等inference.py推理入口脚本加载模型并执行一次生成式前向_job_bootstrap.py环境路径与模型加载辅助函数。模型权重已完全本地化推理时使用local_files_onlyTrue无需联网下载也便于离线部署。第三步执行推理脚本查看预测结果进入仓库目录后直接运行python inference.py脚本会把模型加载到逻辑设备npu:0执行一次prediction_length64的生成式前向并打印实测结果INPUT_DEVICEnpu:0 MODEL_DEVICEnpu:0 OUTPUT_DEVICEnpu:0 CPU_FALLBACKfalse PREDICTION_SHAPE1,9,64 FORECAST-0.086745,-0.254155,-0.401681,-0.506220,-0.554450,-0.528750,-0.399014,-0.262871 TEST_INPUTcontext_len512,last_observed1.062244 EXIT_CODE0输出解读PREDICTION_SHAPE1,9,64表示 batch1、9 个分位数、预测长度 64FORECAST是中位数分位数q0.5预测的前 8 个时步TEST_INPUT记录了上下文长度与最后一个观测值。若 NPU 不可用脚本会直接退出绝不回退到 CPU。性能与精度实测910B4 上的真实数据以下是流水线在昇腾 910B4 上采集的真实测量值非估算指标实测值单次前向中位耗时113.94 ms同步计时warmup 2 次、重复 5 次CPU vs NPU 最大绝对误差2.38e-06验收阈值 0.001CPU vs NPU 平均绝对误差3.30e-07离散方向一致性10/10 样本全部一致比较元素总数5760模型全程 float32精度损失几乎可忽略。运行时的设备资源占用情况芯片健康度、功耗、温度、HBM 显存可参考下图新手避坑指南5 个常见问题transformers 版本不对务必锁定 4.56.x否则导入剪枝辅助函数会失败误用 float64昇腾 910 不支持 fp64模型全程 float32请勿修改dtype误以为会回退 CPUinference.py在 NPU 不可用时直接退出这是刻意设计便于快速发现环境问题担心 FFT 兼容性前向使用的torch.fft.rfft已内置 NPU 兼容的幅度计算补丁无需自行处理CUDA 依赖焦虑前向路径零torch.cuda.*调用不使用 flash_attn / xformers / triton纯昇腾原生运行。总结与下一步至此你已在昇腾 910B4 上跑通了 Kairos-23M 的零样本时序预测3 步完成环境配置、代码获取与推理执行单次预测仅需约 114 毫秒输出 9 个分位数。接下来你可以替换_job_bootstrap.py中的输入数据接入自己的业务序列做真实预测或参考model/config.json调整上下文长度与预测长度探索更多应用场景。【免费下载链接】kairos_23m-npu项目地址: https://ai.gitcode.com/atlasleong/kairos_23m-npu创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考