mldi-lab/Kairos_23m 是 mldi-lab 推出的 Kairos 时序基础模型(23M 参数),骨干网络为 T5 系 encoder-decoder 架构,用于时序预测任务。
[batch, context_length=2048][batch, n_positions=512] + encoder latent [batch, n_patches=16, d_model=384]本交付件在昇腾 910 NPU(Ascend910_9362)上跑通推理,踩坑 0 轮(T5 系 enc/dec 分开架构直接跑通),关键适配如下:
| 坑号 | 报错 | 根因 | 修法 |
|---|---|---|---|
| - | aten::_transformer_encoder_layer_fwd 算子昇腾不支持 | 昇腾算子库缺该算子 | 自动回退 CPU(性能影响但推理跑通) |
| - | load_state_dict missing=124 unexpected=187 | 自定义架构命名与原权重异 | strict=False 容忍键名不对齐 |
| - | config.json 含 model_type: kairos 但 transformers 无此类型 | Kairos 自定义配置不是 transformers 标准类型 | 走自定义加载器不是 transformers AutoModel,内联定义 KairosConfig + KairosModel 类 |
详见 requirements.txt。关键依赖:
torch==2.9.0+cpu + torch_npu==2.9.0.post1+gitee7ba04(昇腾 NPU 后端)safetensors(加载 model.safetensors 权重)numpy(时序信号生成)安装命令(走清华镜像源避慢):
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple safetensors numpyexport HF_ENDPOINT=https://hf-mirror.com
export HF_HUB_DISABLE_XET=1
python -c "
from huggingface_hub import snapshot_download
snapshot_download(
repo_id='mldi-lab/Kairos_23m',
local_dir='/opt/atomgit/models/Kairos_23m',
ignore_patterns=['*.gitattributes','*.md','*.pdf','*.png','*.jpg'],
)
print('[OK] 拉 Kairos_23m 权重完成')
"权重清单(约 88MB):
model.safetensors 88MB(主权重)config.json 1.6KB(Kairos 自定义配置)python inference.py --model_path /opt/atomgit/models/Kairos_23m推理脚本会自动:
[1, 2048](batch=1, context_length=2048,多频率正弦波 sin(t)+0.5sin(2t)+0.3sin(0.5t) + 0.05 噪声)[NPU 检查] 可用 NPU 卡数: 16 (npu:0 型号 Ascend910_9362)
[加载] 模型加载完成 耗时 0.24s (88MB safetensors)
[准备] 输入时序信号 shape: [1, 2048]
[推理] 推理完成 耗时 0.60s
[自检] 预测时序 shape: (1, 512) (期望 [1, 512]) ✅
[自检] encoder 输出 shape: (1, 16, 384) (期望 [1, 16, 384]) ✅
[隐藏] pred max: 0.335993 mean: 0.335993 (非全 0 真跑通)
[隐藏] encoder max: 3.192400
[相似度] 输入时序 [1, 2048] → patch (16 patches) → encoder → decoder → 预测 [1, 512]
[相似度] 预测 MSE (vs 输入前 512 点): 0.783538
[完成] Kairos_23m (时序预测) 昇腾 NPU 推理成功============================================================
[NPU 检查] torch_npu 导入成功
[NPU 检查] torch_npu 版本: 2.9.0.post1+gitee7ba04
[NPU 检查] torch 版本: 2.9.0+cpu
[NPU 检查] ASCEND_RT_VISIBLE_DEVICES: all
[NPU 检查] 可用 NPU 卡数: 16
[NPU 检查] npu:0
[NPU 检查] npu:1
...(共 16 卡)
[NPU 检查] npu:0 型号: Ascend910_9362
============================================================见 assets/agent_workflow.png(含已做/未做清单 + 踩坑修错记录)。
见 assets/model_result.png(含 [完成] 输出 + shape 自检 + pred/encoder max/mean)。
见 assets/npu_device_call.png(含 16 卡完整列表 + Ascend910_9362 型号)。