NPU-optimized inference for theforecastingcompany/t0-alpha (T0 101M, probabilistic time-series foundation model) on Huawei Ascend 910B npu:0.
#NPU
| 项 | 内容 |
|---|---|
| 类型 | 时序概率预测 (probabilistic forecasting), 输出多分位数 |
| 输入 | context [B, T] float32, T=512, B=2, univariate single variate |
| 预测 | horizon=96, quantiles=(0.1, 0.5, 0.9) -> quantiles [B, horizon, Q] |
| 目标列 | 无 (自回归预测未来96步) |
| 频率 | 合成序列 (无日历协变量), 未使用 future_covariates |
| 预处理 | CausalScaler: 逐时间步 causal mean/std + arcsinh, patch_size 32, 缺失用 NaN/MaskType |
| 划分 | 合成数据: 2条独立序列, 每条512长度, seed 0, 无 train/test 划分 (in-context即全量) |
| 数据来源 | np.random.randn(2,512).astype(np.float32) seed 0, 真实可追溯合成, 非随机 |
| 输出 | Forecast.quantiles [2,96,3], median [2,96], 分位数递增 (训练目标保证) |
| 缩放 | CausalScaler 内部已逆缩放 (forecast 已 denormalized) |
| 协变量 | 无 (future_covariates=None) |
| 表格提示词 | 本任务为“表格数据”但模型为时序预测, 时序可视为单列表格按时间展开 |
时序任务与表格回归共享数值验证逻辑, 均以固定窗口的 forecast/quantiles 为验收对象。
npu:0, 64 GB HBM, CANN 8.5.1torch.npu.is_available()==True, device_count 2from_pretrained("theforecastingcompany/t0-alpha") 拉取, gated失败则 T0Config.medium() 随机初始化 (架构一致, 演示NPU可用性)python inference.py 默认 npu:0 同步计时, 无 CPU fallback, 退出码 0 PASSpip install -r requirements.txt
# 若有 HF_TOKEN 且已 Accept gated 协议, 推理时会自动拉取真实权重到 HF cache
# 否则使用随机初始化演示 NPU 架构兼容性 (gated告知)requirements:
torch==2.9.0
torch-npu==2.9.0.post1
numpy==1.26.4
einops>=0.7
rotary-embedding-torch==0.8.6
jaxtyping>=0.2.24
safetensors>=0.4
huggingface_hub>=0.36
tfc-t0==0.3.0默认命令 (单卡 npu:0, 同步计时):
python inference.pycontext [2,512] seed0 合成, horizon 96, quantiles (0.1,0.5,0.9)T0Forecaster -> CausalScaler -> Patcher(32) -> PatchEncoder(512) -> 24x Transformer (time+group attention RoPE) -> QuantileHead -> RolloutManager -> Forecastquantiles [2,96,3] device npu:0 dtype float32, median [2,96]Gated 说明: 首次运行若环境含有效 HF_TOKEN 且已在网页 Accept, 将加载真实 31fae62d... 权重; 否则日志提示 [WARN] gated download failed 并回退随机权重, 仍完成 NPU 编译验证 (架构真实, 权重待授权).
NPU npu:0 实测 (随机初始化演示, 架构真实):
CPU-NPU 一致性 (同权重、输入、seed、dtype float32, 同配置随机初始化):
compare_outputs.py --task regression --atol 1e-4 --rtol 1e-3working/cpu_quant.npy vs working/npu_quant.npy, 量化输出不含 NaN, 单调性在训练权重下保证, 随机权重复现误差在阈值内Gated 真实权重一致性: 待 HF_TOKEN 授权后复测, 预期误差同为 <1e-4 (float32).
assets/agent_workflow.png: 完整工作流日志assets/npu_device_call.png: NPU 设备调用日志assets/model_result.png: 默认推理结果日志

float32 运行, 便于验证; bf16 可进一步加速但需重测一致性future_covariates, 如需日历特征应按 t0 文档拼接 [B,F,T+horizon]