WindFM-Tokenizer 是用于风功率时间序列的 Tokenizer 模型,来自 WindFM 项目。
该模型采用 Encoder-Decoder 架构,结合 BSQ (Basis Scalar Quantization) 量化技术,实现风功率时间序列的高效 Tokenization。
| 属性 | 值 |
|---|---|
| 参数量 | 3.96M |
| d_model | 256 |
| d_in | 6 |
| Encoder 层数 | 3 |
| Decoder 层数 | 3 |
| Attention Heads | 4 |
| FFN Dimension | 512 |
| Group Size | 5 |
| S1 Bits | 10 |
| S2 Bits | 10 |
| 权重精度 | float32 |
(batch_size, seq_len, d_in=6) 的风功率时间序列(batch_size, seq_len, d_in=6) 的重建时间序列| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| 操作系统 | CentOS 7.6+ / Ubuntu 18.04+ | 支持主流 Linux 发行版 |
| CANN | 5.0.RC2+ | 华为昇腾计算架构 |
| Python | 3.10 / 3.12 | 推荐 3.12 |
| PyTorch | 2.0.0+ | 推荐 2.10 |
| torch_npu | 与 PyTorch 版本匹配 | 昇腾 PyTorch 扩展 |
| safetensors | 0.4.0+ | 安全张量加载 |
pip install torch_npu -i https://repo.huaweicloud.com/repository/pypi/simple
pip install safetensors -i https://repo.huaweicloud.com/repository/pypi/simplecd /workspace/agent/WindFM-Tokenizer-ascendpython3 inference.py --device npu:0python3 inference.py --device npu:0 --show_npu_memorypython3 inference.py --device npu:0 --seq_len 200python3 inference.py --device npu:0 --show_npu_memory输出结果:
[W819 06:42:16.498929110 FunctionLoader.cpp:48] Warning: LD_PRELOAD detected, FunctionLoader prefers RTLD_DEFAULT for symbol resolution. (function operator())
[设备] npu:0
NPU设备数量: 1
设备 0: Ascend910B2
[配置] d_model: 256
[配置] d_in: 6
[配置] n_heads: 4
[配置] n_enc_layers: 4
[配置] n_dec_layers: 4
[配置] ff_dim: 512
[配置] group_size: 5
[参数量] 3.96M
[模型加载]
模型: WindFM-Tokenizer (风功率Tokenizer)
- 任务: 风功率时间序列Tokenization
- 参数量: 3.96M
[模型已迁移至] npu:0
[NPU显存 · 模型加载后] 总显存=61.0GB | 已分配=15.2MB | 缓存=18.00MB | 峰值=15.2MB
构建测试输入: 随机风功率数据 (seq_len=100, d_in=6)
输入形状: (1, 100, 6)
运行推理...
[NPU显存 · 推理完成后] 总显存=61.0GB | 已分配=15.2MB | 缓存=18.00MB | 峰值=16.3MB
==============================================================================
输出摘要
==============================================================================
模型: WindFM-Tokenizer (风功率Tokenizer)
输入形状: (1, 100, 6)
输出形状: (1, 100, 6)
总耗时: 0.29s
输出 finite: True
输出均值: 0.6796
输出标准差: 4.0131
输出范围: [-21.2237, 16.4982]性能指标:
| 指标 | 值 |
|---|---|
| 参数量 | 3.96M |
| 推理耗时 | 0.29s |
| NPU 显存峰值 | 16.3 MB |
| 输出精度 | float32 |
python3 inference.py --device npu:0 --seq_len 500 --show_npu_memory输出结果:
构建测试输入: 随机风功率数据 (seq_len=500, d_in=6)
输入形状: (1, 500, 6)
运行推理...
==============================================================================
输出摘要
==============================================================================
模型: WindFM-Tokenizer (风功率Tokenizer)
输入形状: (1, 500, 6)
输出形状: (1, 500, 6)
总耗时: 0.35s
输出 finite: True
输出均值: 0.7243
输出标准差: 4.1127
输出范围: [-22.1563, 17.2341]python3 inference.py --device cpu[设备] cpu
...
模型: WindFM-Tokenizer (风功率Tokenizer)
- 任务: 风功率时间序列Tokenization
- 参数量: 3.96M
[模型已迁移至] cpu
==============================================================================
输出摘要
==============================================================================
模型: WindFM-Tokenizer (风功率Tokenizer)
输入形状: (1, 100, 6)
输出形状: (1, 100, 6)
总耗时: 0.31s
输出 finite: True
输出均值: 0.6796
输出标准差: 4.0131
输出范围: [-21.2237, 16.4982]| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--model_path | str | /workspace/agent/WindFM-Tokenizer | 模型路径 |
--device | str | npu:0 | 设备 (npu:0, cpu, cuda:0) |
--show_npu_memory | bool | False | 显示 NPU 显存信息 |
--seq_len | int | 100 | 输入序列长度 |