模型名称: multimolecule/mmsplice
模型链接: HuggingFace | AtomGit 镜像
模型描述: MmSplice 是一个用于预测 RNA 剪接位点活性的深度学习模型。它预测给定 DNA 序列在 5 个区域(acceptor_intron, acceptor, exon, donor, donor_intron)的剪接相关分数。
模型架构: MmSplice (多模块卷积神经网络)
参数规模: 56,677 可训练参数
输入规格:
[batch_size, sequence_length]ACGTTGCAAGCTACGATCGATCGATCGATCGATCGATCGATCGATCGATCG输出规格:
[batch_size, 5]| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10 | 推荐 3.11 |
| torch | 2.9.0 | PyTorch 框架 |
| torch_npu | 2.9.0.post1 | 昇腾 NPU 后端 |
| multimolecule | 0.2.1 | MmSplice 模型定义 |
| transformers | 5.15.0 | 兼容 multimolecule |
| tokenizers | 0.22.2 | Tokenizer 库 |
| huggingface-hub | 1.28.0 | 模型下载 |
| numpy | 1.26.4 | 数值计算 |
| 昇腾驱动 | CANN 8.5.1 | Ascend910_9362 |
安装命令:
pip install torch==2.9.0 torch-npu==2.9.0
pip install multimolecule==0.2.1 transformers==5.15.0 tokenizers==0.22.2
pip install huggingface-hub==1.28.0 numpy==1.26.4# 检查 NPU 设备
npu-smi info
# 验证 torch_npu
python3 -c "import torch_npu; print(torch.npu.device_count(), torch.npu.get_device_name(0))"方式一:HuggingFace(推荐)
huggingface-cli download multimolecule/mmsplice --local-dir ./mmsplice_weights方式二:AtomGit 镜像(HuggingFace 下载慢时使用)
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download multimolecule/mmsplice --local-dir ./mmsplice_weightspython3 inference.py --model-path ./mmsplice_weights| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --model-path | str | 必填 | 模型 checkpoint 路径 |
| --max-seq-len | int | 100 | 最大序列长度 |
| --device | int | 0 | NPU 设备索引 |
[模型] MmSplice (multimolecule/mmsplice)
[设备] Ascend910_9362 (npu:0)
[输入] ACGTTGCAAGCTACGATCGATCGATCGATCGATCGATCGATCGATCGATCG (51bp)
[输出] acceptor_intron: 0.006864, acceptor: 0.760456, exon: 0.047469, donor: 0.016738, donor_intron: 0.168472
[耗时] ~46ms (含模型加载)
[状态] SUCCESS[基准测试] 4次推理统计 (seq_len=100):
批量输出 shape: (4, 5)
推理耗时: 46.25ms
平均: 11.56ms/条运行命令:
python3 inference.py --model-path ./mmsplice_weights --max-seq-len 100输出:
[模型] MmSplice (multimolecule/mmsplice)
[设备] Ascend NPU (npu:0)
[1] 加载模型...
参数量: 56,677
Device: Ascend910_9362
[2] 单条推理测试...
输入序列 (51bp): ACGTTGCAAGCTACGATCGATCGATCGATCGATCGATCGATCGATCGATCG
输出结果:
acceptor_intron: 0.006864
acceptor: 0.760456
exon: 0.047469
donor: 0.016738
donor_intron: 0.168472
原始logits: [-3.0954006 1.6122295 -1.1616095 -2.2040055 0.10508259]
[3] 批量推理测试...
批量输入: shape=torch.Size([4, 100])
批量输出: shape=(4, 5)
推理耗时: 46.25ms (batch_size=4, seq_len=100)
[状态] SUCCESS输出:
批量输入: shape=torch.Size([4, 100])
批量输出: shape=(4, 5)
推理耗时: 46.25ms


MmSplice 是一个已预训练的生物学模型,输出为各区域的剪接活性分数(经过 softmax 归一化)。本适配聚焦于 NPU 推理部署,模型权重与原版一致。
评测指标:
| 指标 | 结果 |
|---|---|
| 参数量 | 56,677 |
| 输出维度 | 5 (acceptor_intron, acceptor, exon, donor, donor_intron) |
| 批量推理延迟 (batch=4, seq=100) | 46.25ms |
| 算子兼容性 | OK (Ascend910_9362) |
无。模型已在 Ascend910_9362 上完成单条推理、批量推理和算子兼容性验证。