#NPU
f4e68697d9d5aed55cef5c96aabc3376bcad9f81)d_model=256, n_layers=4, n_heads=4, s1_bits=10, s2_bits=10,context=2048)推理脚本按官方 KronosPredictor 契约消费 5分钟金融K线数据,必须包含列:
open, high, low, close, volume, amount(可选 timestamps;缺失 timestamps 时自动按 5min 频率生成)。
open → high → low → close → volume → amount,脚本会严格校验缺列。volume/amount 缺失时按官方行为补零或 volume * mean(price) 填充;存在 NaN 时报错。minute, hour, weekday, day, month 由 timestamps 提取,作为时间嵌入输入。mean/std 标准化并裁剪到 [-5, 5],推理后逆标准化还原价格。shiyu-coder/Kronos 仓库 finetune_csv/data/HK_ali_09988_kline_5min_all.csv
(香港阿里 09988,2019-11-26 起 5min K线)。取连续 520 行窗口:lookback=400,pred_len=120。Ascend910_9362,npu:0)requirements.txtpip install -r requirements.txt
# 下载权重到本地目录(提交仓不含权重)
hf download NeoQuasar/Kronos-mini --local-dir models/Kronos-mini
hf download NeoQuasar/Kronos-Tokenizer-2k --local-dir models/Kronos-Tokenizer-2k默认命令(需先下载权重到 models/,数据放到 data/ 或 --data 指定):
python inference.py
# 可选参数: --model-dir --tokenizer-dir --data --lookback 400 --pred-len 120 --device npu --seed 42inference.py 为自包含脚本(内联模型/分词器/量化器定义),从本地 models/ 加载同一份权重,
把模型与全部参与计算的 Tensor 显式迁移到 npu:0。异常时返回非零退出码。
输入窗口:HK 阿里 09988,400 根 5min K线(2019-11-26 09:35 → 2019-12-04 09:50), 预测未来 120 个 5min K线(2019-12-04 09:55 → 2019-12-05 15:20)。
| 指标 | 数值 |
|---|---|
| close MAE | 2.209 |
| close RMSE | 2.688 |
| 同步推理耗时 | 1.28 s |
预测样例(close,前5个预测点):
| 时间 | close 预测 |
|---|---|
| 2019-12-04 09:55 | 186.54 |
| 2019-12-04 10:00 | 186.68 |
| 2019-12-04 10:05 | 186.74 |
| 2019-12-04 10:10 | 186.91 |
| 2019-12-04 10:15 | 186.85 |
预测为概率采样路径均值(
sample_count=1, top_p=0.9, T=1.0);零样本预测,未在该序列上微调。
同一权重、同一数据窗口、同一预处理、同一 seed、eval 模式,比较确定性核心计算:
tokenizer.encode + decode_s1 输出的 s1 logits:max_abs_error = 1.43e-05,PASSdecode_s2 输出的 s2 logits:max_abs_error = 1.53e-05,PASSatol=1e-4, rtol=1e-3(FP32)完整预测输出(含随机采样 torch.multinomial)因 CPU/NPU 的 RNG 实现不同会有采样路径差异,
close 相关系数 0.92,最大相对偏差约 1.3%;模型核心计算(logits)在两种设备上数值一致,
未发生 CPU fallback(模型参数与全部中间 Tensor 均位于 npu:0)。
batch=1, lookback=400, pred_len=120, 6通道, dtype=float32,预热 3 次、计时 10 次:
| 项目 | 数值 |
|---|---|
| 首次编译(含构图) | 1.270 s |
| 稳定平均延迟 | 0.776 s |
| 最小 / 最大 | 0.725 / 0.793 s |
| p50 / p90 / p95 | 0.787 / 0.791 / 0.792 s |
| 吞吐 | 1.29 series/s |
| 峰值显存 | 83.9 MiB |
以下图片由 xterm.js 依据本次真实执行日志生成(非手工绘制):
assets/agent_workflow.png — 侦察、数据下载、模型加载、NPU 推理、一致性、性能与提交校验流水线日志assets/npu_device_call.png — npu-smi、NPU 可用性、设备名、模型参数 device/dtype、输入输出 Tensor deviceassets/model_result.png — 默认 python inference.py 的真实完整输出(含窗口摘要、真实预测、同步耗时与状态)