赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu + GPT2(peft LoRA) 硬件: Ascend 910B 系列(实测 Ascend910B4) 标签:
npuascendpytorchtransformers
| 属性 | 值 |
|---|---|
| 原始模型 | Melady/TEMPO |
| 架构 | TEMPO-80M(GPT2 时序基础模型,STL 分解 + prompt) |
| 参数量 | 71.3M(3 层 GPT2 + STL 映射层) |
| 任务类型 | 时序预测(Time Series Forecasting) |
| 输入格式 | [batch, seq_len, channels] 时序 |
| 输出格式 | 未来 pred_len 步预测 |
⚠️ 本仓库不包含模型权重(交付件仅
inference.py/readme.md/requirements.txt/assets/), 推理前必须先从原始模型仓单独下载权重。
依赖清单(requirements.txt):
torch / torch_npu(昇腾 NPU 环境)transformers(GPT2 模型)omegaconf(配置解析)peft(LoRA 适配器)einops、numpy代码获取:inference.py 首次运行会自动从官方 GitHub(DC-research/TEMPO)下载
tempo/models/TEMPO.py、tempo/embed.py、tempo/utils/rev_in.py 等模型代码,
并注入 NPU 兼容补丁(prompt=0 时跳过 GPT2 tokenizer 下载)。
# 1. 安装依赖
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/
# 2. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/Melady/TEMPO.git .
git lfs pull
# 3. 运行 NPU 推理(默认 336 点示例,预测 96 步)
python3 inference.py --model_path . --device npu:0python3 inference.py --model_path . --device npu:0预期输出:
[Model Agent] ✅ NPU 设备就绪: Ascend910B4
[Model Agent] ✅ 模型加载完成 → npu:0 (TEMPO-80M, missing=0)
[Model Agent] 📊 输入过去值: 336 个, 预测 96 步
[Model Agent] ✅ 推理完成 → 预测 96 步, 耗时 297 ms
[Model Agent] 📈 预测前5: [68.87, 68.76, 67.47, 67.97, 65.48]
[Model Agent] ✅ 结果已保存 → inference_result.json.
├── inference.py # NPU 推理脚本
├── readme.md # 本文件
├── requirements.txt # 依赖清单
└── assets/ # 截图素材本模型由 昇腾 Model Agent 自动完成 NPU 适配。
TEMPO(GPT2 时序基础模型)迁移至昇腾 NPU:
inference.py 首次运行自动下载官方 TEMPO 代码并注入补丁:prompt=0 时跳过 GPT2 tokenizer 下载(HF 网络受限);base_model.model. 前缀),直接 load_state_dict 加载;torch_npu 完成设备初始化,STL 分解(趋势/季节/残差)→ GPT2 自回归生成预测;