Y
YYPGD/Kronos-base
模型介绍
文件和版本
Pull Requests
讨论
分析

Kronos-base 昇腾NPU适配

1. 模型简介

Kronos-base 是首个面向金融K线(K-line)的开源基础模型(论文 / GitHub),由 NeoQuasar 发布。它采用两阶段框架:

  1. K线Tokenizer(Kronos-Tokenizer-base):将连续多维OHLCV数据量化为层次化离散token;
  2. 自回归Transformer:decoder-only架构,在45个全球交易所、超120亿条K线记录上预训练,可零样本完成价格序列预测、波动率预测、合成数据生成等任务。
项值
参数量102.3M
上下文长度512
输入OHLCV K线序列(+时间戳)
输出未来K线的 open/high/low/close/volume/amount 预测
任务类型时间序列预测(金融K线,表格数据)
  • 原始仓库: https://github.com/shiyu-coder/Kronos
  • HuggingFace: https://huggingface.co/NeoQuasar/Kronos-base

2. 环境依赖

依赖安装到独立目录(--target 隔离,不污染共享环境):

pip install --target /mnt/workspace/Kronos-base/libs \
    -i https://pypi.tuna.tsinghua.edu.cn/simple \
    einops huggingface_hub safetensors tqdm

模型权重:

  • 主模型:/home/developer/models/Kronos-base
  • Tokenizer:/home/developer/models/Kronos-Tokenizer-base

3. 推理步骤

3.1 环境准备

  • 昇腾NPU环境(CANN + torch_npu),torch 2.x;
  • Python 依赖见 requirements.txt,安装到 /mnt/workspace/Kronos-base/libs;
  • 脚本会自动将该目录加入 sys.path。

3.2 运行推理

python3 inference.py --model_path /home/developer/models/Kronos-base

脚本特性:

  • 自动选择设备:NPU(torch_npu)→ CUDA → CPU;
  • 内置示例K线输入,无需额外数据文件;
  • 打印 耗时/elapsed 字段供统一评测解析;
  • 结果图保存至 assets/model_result.png。

3.3 推理参数说明

参数默认值说明
--model_path/home/developer/models/Kronos-base主模型权重目录
--tokenizer_path/home/developer/models/Kronos-Tokenizer-base配套 tokenizer 目录
--pred_len24预测未来K线条数
--device自动 (npu > cuda > cpu)指定设备
--outputassets/model_result.png结果图输出路径

4. 测试样例及输出结果

内置示例:合成 400 条 5 分钟 K 线(随机游走+周期项),取前 376 条作为上下文,预测未来 24 条 K 线的 OHLCV。

实测输出(NPU):

[INFO] device = npu
[INFO] 推理完成 耗时/elapsed=0.74s (pred_len=24, device=npu)
[INFO] 预测结果前5行:
                           open        high         low       close       volume       amount
2024-01-02 16:50:00  102.688255  103.294548  102.030853  102.514442  1093069.625  108810952.0
2024-01-02 16:55:00  102.668907  103.361244  101.796814  101.741104  1102770.375  109536688.0
...
[RESULT] status=ok device=npu 耗时/elapsed=0.74s

5. Agent适配截图

5.1 Agent适配全过程截图

见 assets/ 目录(适配过程由 batch-adapt 流水线记录)。

5.2 NPU设备调用截图

见 assets/npu_device_call.png。

5.3 模型适配结果截图

见 assets/model_result.png(输入历史K线与预测K线的 close/volume 对比曲线)。

6. 注意事项

  • 通过 torch_npu 将模型与Tokenizer迁移至昇腾NPU运行;
  • 自回归采样、top-p过滤等算子均为标准PyTorch算子,NPU原生支持;
  • 设备不可用时自动回退CPU,保证脚本可移植;
  • 首次在NPU上运行会有算子编译开销,属正常现象。