liuhongwei-2026/procapnet-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

ProCapNet 在昇腾 NPU 上的适配

1. 简介

  • 模型来源:multimolecule/procapnet(HF 镜像,亦可从 hf-mirror.com 拉取)
  • 模型类型:其他(BPNet 风格一维膨胀卷积 CNN,用于从 DNA 序列预测碱基分辨率的 PRO-cap 转录起始信号)
  • 参数量:126.4 万(1.264M)
  • 适配状态:成功
  • 适配时间:2026-08-19
  • 模型用途:输入 2114 bp DNA 序列窗口,输出 1000 bp 双链(正链/负链)PRO-cap 转录起始图谱与总计数

2. 为什么不用 vLLM-Ascend

ProCapNet 是 CNN(一维膨胀卷积) 而非 decoder-only LLM,vLLM-Ascend 只支持 Transformer 自回归模型,无法加载该架构。因此本适配采用 torch_npu + FastAPI 实现 昇腾 NPU 上的服务化推理,算子均为原生 PyTorch(Conv1d / ReLU / LayerNorm 等), 在 Ascend 910 上可直接运行,无需修改模型代码。

3. 验证环境

组件版本
Python3.11.14
torch2.9.0
torch-npu2.9.0.post1
CANN8.5.1
multimolecule最新(pip 安装)
fastapi / uvicorn0.123.x / 0.46.x
NPUAscend 910B(Ascend910_9362)

4. 精度评测

指标数值
输出形状profile_logits (1, 1000, 2);count_logits (1, 1);track (1, 1000, 2)
与官方实现一致(MultiMolecule 团队确认与原始实现中间表示相同)

5. 性能

指标数值
平均延迟详见 assets/model_result.png(CLI 输出 latency_ms)
峰值显存模型仅 25.7 MB,占用极小

6. 复现步骤

6.1 环境准备

pip install torch==2.9.0 torch-npu==2.9.0.post1 multimolecule fastapi uvicorn
# 权重下载(任选其一)
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download multimolecule/procapnet --local-dir ./models/procapnet
# 或
git clone https://ai.gitcode.com/hf_mirrors/multimolecule/procapnet.git ./models/procapnet

6.2 CLI 推理

python3 inference.py --model ./models/procapnet --device npu:0 --sequence "ACGT"*529

6.3 服务化推理(FastAPI)

python3 inference.py --model ./models/procapnet --device npu:0 --serve --port 8000

服务启动后:

# 健康检查
curl http://127.0.0.1:8000/health
# 模型信息
curl http://127.0.0.1:8000/v1/models
# 推理
curl -X POST http://127.0.0.1:8000/v1/predict \
  -H 'Content-Type: application/json' \
  -d '{"sequence": "ACGTACGT..."}'

7. 项目结构

procapnet-npu/
├── inference.py        # 推理脚本(CLI + FastAPI 服务化,必选)
├── README.md           # 部署说明文档(必选)
├── requirements.txt    # 环境依赖清单
└── assets/             # 截图素材文件夹(必选)
          ├── agent_workflow.png    # 适配工作流截图
          ├── npu_device_call.png   # NPU 设备调用截图
          └── model_result.png      # 模型推理结果截图

贡献者: liuhongwei-2026 | 赛道: 模型适配赛道