赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu + transformers (trust_remote_code) 硬件: Ascend 910B 系列(实测 Ascend910B4) 标签:
npuascendpytorchtransformers
| 属性 | 值 |
|---|---|
| 原始模型 | qcw2333/YingLong_110m |
| 架构 | YingLong(自定义 Causal Transformer,110M) |
| 参数量 | 120M(预训练 78B 时间点) |
| 任务类型 | 时序预测(Time Series Forecasting) |
| 输入格式 | 长度 ≤ 2880 的过去值序列 |
| 输出格式 | 未来 96 步预测(99 分位桶分布) |
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/⚠️ 本仓库不包含模型权重(交付件仅
inference.py/readme.md/requirements.txt/assets/), 推理前必须先从原始模型仓单独下载权重。
# 1. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/qcw2333/YingLong_110m.git .
git lfs pull
# 2. 运行 NPU 推理(缺省 2880 点示例数据,预测 96 步)
python3 inference.py --model_path . --device npu:0python3 inference.py --model_path . --device npu:0预期输出:
[Model Agent] ✅ NPU 设备就绪: Ascend910B4
[Model Agent] ✅ 模型加载完成 → npu:0
[Model Agent] 📊 输入过去值: 2880 个, 预测 96 步
[Model Agent] ✅ 推理完成 → 预测 96 步, 耗时 466 ms
[Model Agent] 📈 预测前5: [112.15, 112.53, 112.96, 112.91, 113.02]
[Model Agent] ✅ 结果已保存 → inference_result.json.
├── inference.py # NPU 推理脚本
├── readme.md # 本文件
├── requirements.txt # 依赖清单
└── assets/ # 截图素材本模型由 昇腾 Model Agent 自动完成 NPU 适配。
YingLong(自定义时序 Transformer)迁移至昇腾 NPU:
inference.py 内置 NPU 适配 patch,加载时自动对原版 model.py 注入兼容补丁:
flash_attn / xformers / dropout_layer_norm / rotary_emb 等 CUDA 专有依赖改为可选导入并提供纯 PyTorch 回退(SwiGLU、RoPE、layer_norm);_tied_weights_keys / all_tied_weights_keys。torch_npu 完成设备初始化,model.generate(x, future_token=N) 生成预测;[N, 99] 分位桶分布,对 99 桶取均值作为点预测。