multimolecule/openspliceai-mane.400eb24f956d1e6182eaa6e1110820cb30542f1ad66splicingnpu:0{
"torch": "2.9.0+cpu",
"torch_npu": "2.9.0.post1+gitee7ba04",
"torch_npu_available": true,
"device_name": "Ascend910_9362",
"device_count": 2,
"transformers": "5.9.0",
"multimolecule": "0.1.dev1+gf46a10b1f",
"cann": "8.5.1",
"dtype": "float32"
}安装:pip install -r requirements.txt
默认执行:python inference.py
{
"alphabet": "ACGU/N (A0 C1 G2 U3 N4, pad N, T->U)",
"strand": "5'->3' retained, replace_T_with_U true",
"context_window": 400,
"sequence_source": "model card traceable real RNA",
"num_sequences": 2,
"sequences": [
{
"name": "interleukin_10_signal",
"length": 54,
"sha256": "d47b009f29fb5202eeaa908b2b4a78329ecf843244a82b0f32fdcf6858d4b342",
"preview": "AUGCACAGCUCAGCACUGCUCUGUUGCCUGG",
"type": "mRNA signal peptide"
},
{
"name": "insulin_transcript",
"length": 333,
"sha256": "f94af5b8cf66600fae963521f441dcb6c933e2d93165ba93bcafa3941ca946fc",
"preview": "AUGGCCCUGUGGAUGCGCCUCCUGCCCCUGCUGGCGCUGCUGGCCCUCUGGGGA",
"type": "mRNA insulin"
}
],
"tokenizer": "RnaTokenizer vocab 5 (A0 C1 G2 U3 N4), nmers=1, pad_token N, replace_T_with_U true",
"input_ids_shape_short": [
1,
54
],
"input_ids_shape_perf": [
1,
333
],
"attention_mask_sum_short": 54,
"padding": "no padding required, variable length",
"dtype": "float32"
}{
"task": "splice-site per-nucleotide 3-way classification",
"output_channels": [
"no_splice",
"acceptor",
"donor"
],
"output_shape_short": [
1,
54,
3
],
"output_shape_perf": [
1,
333,
3
],
"dtype": "float32",
"probabilities": "softmax over 3 channels",
"cpu_logits_sample_pos0": [
0.7856321334838867,
-18.640565872192383,
-20.786277770996094
],
"cpu_logits_sample_pos_last": [
2.473637104034424,
-18.163305282592773,
-15.241103172302246
],
"npu_logits_sample_pos0": [
0.7847151756286621,
-18.64336395263672,
-20.786109924316406
],
"npu_logits_sample_pos_last": [
2.4733691215515137,
-18.164613723754883,
-15.240544319152832
],
"cpu_probs_sample_pos0": [
1.0,
3.658557012897745e-09,
4.279944731955254e-10
],
"npu_probs_sample_pos0": [
1.0,
3.6516758505911184e-09,
4.284592125536335e-10
],
"cpu_donor_max": 0.091018,
"cpu_donor_argmax": 44,
"cpu_acceptor_max": 3.655925183920772e-06,
"npu_donor_max": 0.091121,
"npu_donor_argmax": 44,
"biological_interpretation": "per-nucleotide splice donor/acceptor probabilities, max donor ~0.091 at central position 44",
"device_proof": "first_param:npu:0, input_ids:npu:0, logits:npu:0"
}{
"atol": 0.01,
"rtol": 0.001,
"max_abs_diff_logits": 0.0027980804443359375,
"mean_abs_diff_logits": 0.0007469453561453172,
"max_abs_diff_probs": 0.000104,
"mean_abs_diff_probs": 1e-06,
"passed": true,
"shape": [
1,
54,
3
],
"elements": 162,
"finite_cpu": true,
"finite_npu": true,
"compared_via": "compare_outputs.py atol 0.01 rtol 0.001"
}{
"first_run_ms": 212.87,
"avg_ms": 1.94,
"min_ms": 1.85,
"max_ms": 2.1,
"p50_ms": 1.94,
"p90_ms": 2.05,
"throughput_seq_per_s": 515.25,
"throughput_bases_per_s": 171579.5,
"batch_size": 1,
"sequence_length_perf": 333,
"sequence_length_short": 54,
"dtype": "float32",
"device": "npu:0",
"warmup": 3,
"stable_runs": 10,
"peak_memory_mb": 1.54,
"synchronize": "torch.npu.synchronize() before/after each timing"
}


三张图片均由 xterm.js 根据本次真实日志生成。
#NPU #Ascend #Ascend910