hemingkx / ChineseNMT

ChineseNMT: Translate English to Chinese with PyTorch Implementation of Transformer
439 stars 84 forks source link

It seems that there is always an error when performing bleu score evaluation. #7

Closed leoxu1007 closed 3 years ago

leoxu1007 commented 3 years ago

It seems that there is always an error when performing bleu score evaluation when the sentence series number comes to 2500~3000.

So I added a trying block before the bleu evaluation in train.py.

# -----
    CTRL_NUM = 0
    CTRL_STEP = 500
    result_list = list()
    while True:
        try:
            test_res = [res[x] for x in range(CTRL_NUM, min(len(res), (CTRL_NUM + CTRL_STEP)))]
            test_trg = [[trg[0][x] for x in range(CTRL_NUM, min(len(res), (CTRL_NUM + CTRL_STEP)))]]
            test_bleu = sacrebleu.corpus_bleu(test_res, test_trg, tokenize="zh")
            result_list.append(test_bleu.score)
            if len(res) < CTRL_NUM + CTRL_STEP:
                break
            CTRL_NUM += CTRL_STEP
        except EOFError:
            print("ERROR: " + str(CTRL_NUM))
            print("res: " + res[CTRL_NUM] + " trg: " + trg[0][CTRL_NUM])
            CTRL_NUM += CTRL_STEP
            continue
    total = 0
    for i in result_list:
        total += i
    total /= len(result_list)
    print(total)
    return float(total)
    # ----

    # bleu = sacrebleu.corpus_bleu(res, trg, tokenize='zh')
    # return float(bleu.score)

And I trained with the text generated with tokenize.py, only the starting 5000 lines for a quick training test.

The output log is:

ssh://xu_zhenyu@133.9.48.110:5515/home/Xu_Zhenyu/.chineseNMT/bin/python3 -u /home/Xu_Zhenyu/PyCharm/ChineseNMT/main.py
-------- Dataset Build! --------
-------- Get Dataloader! --------
100%|█████████████████████████████████████| 11059/11059 [15:04<00:00, 12.22it/s]
Epoch: 1, loss: 6.8694868087768555
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.60it/s]
100%|███████████████████████████████████████| 1580/1580 [26:55<00:00,  1.02s/it]
ERROR: 2500
res: 这一教训是冷战的。 trg: 这是二十一世纪的新斗争。
4.136308570274822
Epoch: 1, Dev loss: 5.908139705657959, Bleu Score: 4.136308570274822
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:04<00:00, 12.22it/s]
Epoch: 2, loss: 5.563145160675049
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.16it/s]
100%|███████████████████████████████████████| 1580/1580 [22:27<00:00,  1.17it/s]
ERROR: 2500
res: 这是二十一世纪新世界大战。 trg: 这是二十一世纪的新斗争。
10.011118653201144
Epoch: 2, Dev loss: 5.088428497314453, Bleu Score: 10.011118653201144
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:59<00:00, 12.30it/s]
Epoch: 3, loss: 4.947582721710205
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.91it/s]
100%|███████████████████████████████████████| 1580/1580 [22:27<00:00,  1.17it/s]
ERROR: 2500
res: 这就是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
13.532343065493116
Epoch: 3, Dev loss: 4.637045860290527, Bleu Score: 13.532343065493116
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.31it/s]
Epoch: 4, loss: 4.574962139129639
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.03it/s]
100%|███████████████████████████████████████| 1580/1580 [21:56<00:00,  1.20it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
16.818320618957916
Epoch: 4, Dev loss: 4.34507942199707, Bleu Score: 16.818320618957916
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:04<00:00, 12.23it/s]
Epoch: 5, loss: 4.286131381988525
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.48it/s]
100%|███████████████████████████████████████| 1580/1580 [22:00<00:00,  1.20it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
19.164597066268474
Epoch: 5, Dev loss: 4.135222434997559, Bleu Score: 19.164597066268474
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:04<00:00, 12.23it/s]
Epoch: 6, loss: 4.0689377784729
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 49.18it/s]
100%|███████████████████████████████████████| 1580/1580 [21:40<00:00,  1.21it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
20.28290445108042
Epoch: 6, Dev loss: 3.988320827484131, Bleu Score: 20.28290445108042
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:01<00:00, 12.27it/s]
Epoch: 7, loss: 3.899531841278076
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.58it/s]
100%|███████████████████████████████████████| 1580/1580 [20:34<00:00,  1.28it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
21.312918169821664
Epoch: 7, Dev loss: 3.892324924468994, Bleu Score: 21.312918169821664
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:06<00:00, 12.21it/s]
Epoch: 8, loss: 3.7669906616210938
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 50.98it/s]
100%|███████████████████████████████████████| 1580/1580 [19:46<00:00,  1.33it/s]
ERROR: 2500
res: 这就是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
21.541229688467997
Epoch: 8, Dev loss: 3.8251030445098877, Bleu Score: 21.541229688467997
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:03<00:00, 12.24it/s]
Epoch: 9, loss: 3.654088258743286
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 50.86it/s]
100%|███████████████████████████████████████| 1580/1580 [19:51<00:00,  1.33it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
22.413557390557422
Epoch: 9, Dev loss: 3.771954298019409, Bleu Score: 22.413557390557422
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.30it/s]
Epoch: 10, loss: 3.558967351913452
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.10it/s]
100%|███████████████████████████████████████| 1580/1580 [19:47<00:00,  1.33it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
22.947892733631715
Epoch: 10, Dev loss: 3.728645086288452, Bleu Score: 22.947892733631715
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:02<00:00, 12.25it/s]
Epoch: 11, loss: 3.47660493850708
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 50.90it/s]
100%|███████████████████████████████████████| 1580/1580 [20:25<00:00,  1.29it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
23.598905052266772
Epoch: 11, Dev loss: 3.690776824951172, Bleu Score: 23.598905052266772
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:55<00:00, 12.34it/s]
Epoch: 12, loss: 3.403258800506592
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.01it/s]
100%|███████████████████████████████████████| 1580/1580 [20:47<00:00,  1.27it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
23.712071889657413
Epoch: 12, Dev loss: 3.66721773147583, Bleu Score: 23.712071889657413
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:02<00:00, 12.25it/s]
Epoch: 13, loss: 3.3368968963623047
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.42it/s]
100%|███████████████████████████████████████| 1580/1580 [21:12<00:00,  1.24it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
24.06216597740702
Epoch: 13, Dev loss: 3.6415634155273438, Bleu Score: 24.06216597740702
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:13<00:00, 12.11it/s]
Epoch: 14, loss: 3.279153823852539
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.97it/s]
100%|███████████████████████████████████████| 1580/1580 [20:50<00:00,  1.26it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
24.260791207402864
Epoch: 14, Dev loss: 3.62821102142334, Bleu Score: 24.260791207402864
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:03<00:00, 12.24it/s]
Epoch: 15, loss: 3.2249600887298584
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.08it/s]
100%|███████████████████████████████████████| 1580/1580 [20:50<00:00,  1.26it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
24.57342643558656
Epoch: 15, Dev loss: 3.612637519836426, Bleu Score: 24.57342643558656
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:57<00:00, 12.32it/s]
Epoch: 16, loss: 3.1735997200012207
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.18it/s]
100%|███████████████████████████████████████| 1580/1580 [20:56<00:00,  1.26it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
24.772183904858778
Epoch: 16, Dev loss: 3.597163677215576, Bleu Score: 24.772183904858778
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:59<00:00, 12.29it/s]
Epoch: 17, loss: 3.1267855167388916
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 50.95it/s]
100%|███████████████████████████████████████| 1580/1580 [20:47<00:00,  1.27it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
24.724363718783685
Epoch: 17, Dev loss: 3.5909926891326904, Bleu Score: 24.724363718783685
Early Stop Left: 4
100%|█████████████████████████████████████| 11059/11059 [15:00<00:00, 12.27it/s]
Epoch: 18, loss: 3.0840811729431152
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.25it/s]
100%|███████████████████████████████████████| 1580/1580 [21:00<00:00,  1.25it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.00749805940755
Epoch: 18, Dev loss: 3.5821774005889893, Bleu Score: 25.00749805940755
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:55<00:00, 12.34it/s]
Epoch: 19, loss: 3.0427002906799316
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 50.97it/s]
100%|███████████████████████████████████████| 1580/1580 [20:11<00:00,  1.30it/s]
ERROR: 2500
res: 这就是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.06866529578952
Epoch: 19, Dev loss: 3.5801453590393066, Bleu Score: 25.06866529578952
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:00<00:00, 12.28it/s]
Epoch: 20, loss: 3.0048277378082275
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.74it/s]
100%|███████████████████████████████████████| 1580/1580 [21:22<00:00,  1.23it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.105033694944993
Epoch: 20, Dev loss: 3.5741827487945557, Bleu Score: 25.105033694944993
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:14<00:00, 12.09it/s]
Epoch: 21, loss: 2.9685168266296387
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.80it/s]
100%|███████████████████████████████████████| 1580/1580 [20:52<00:00,  1.26it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.167834389482696
Epoch: 21, Dev loss: 3.577577829360962, Bleu Score: 25.167834389482696
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:06<00:00, 12.20it/s]
Epoch: 22, loss: 2.9370346069335938
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.15it/s]
100%|███████████████████████████████████████| 1580/1580 [20:52<00:00,  1.26it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.52202261166025
Epoch: 22, Dev loss: 3.570425510406494, Bleu Score: 25.52202261166025
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:03<00:00, 12.24it/s]
Epoch: 23, loss: 2.9037725925445557
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.69it/s]
100%|███████████████████████████████████████| 1580/1580 [21:33<00:00,  1.22it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.350901205532626
Epoch: 23, Dev loss: 3.5690338611602783, Bleu Score: 25.350901205532626
Early Stop Left: 4
100%|█████████████████████████████████████| 11059/11059 [15:03<00:00, 12.24it/s]
Epoch: 24, loss: 2.8748462200164795
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.11it/s]
100%|███████████████████████████████████████| 1580/1580 [21:00<00:00,  1.25it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.447824115767407
Epoch: 24, Dev loss: 3.5741078853607178, Bleu Score: 25.447824115767407
Early Stop Left: 3
100%|█████████████████████████████████████| 11059/11059 [15:02<00:00, 12.26it/s]
Epoch: 25, loss: 2.845065116882324
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 48.66it/s]
100%|███████████████████████████████████████| 1580/1580 [21:43<00:00,  1.21it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.66989679453216
Epoch: 25, Dev loss: 3.5658812522888184, Bleu Score: 25.66989679453216
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:01<00:00, 12.26it/s]
Epoch: 26, loss: 2.8164560794830322
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.24it/s]
100%|███████████████████████████████████████| 1580/1580 [20:53<00:00,  1.26it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.726227265200432
Epoch: 26, Dev loss: 3.571110963821411, Bleu Score: 25.726227265200432
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:55<00:00, 12.35it/s]
Epoch: 27, loss: 2.790384292602539
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 50.99it/s]
100%|███████████████████████████████████████| 1580/1580 [20:40<00:00,  1.27it/s]
ERROR: 2500
res: 这就是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.71917708185134
Epoch: 27, Dev loss: 3.5702500343322754, Bleu Score: 25.71917708185134
Early Stop Left: 4
100%|█████████████████████████████████████| 11059/11059 [14:55<00:00, 12.35it/s]
Epoch: 28, loss: 2.7645087242126465
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.00it/s]
100%|███████████████████████████████████████| 1580/1580 [20:26<00:00,  1.29it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.679938758506832
Epoch: 28, Dev loss: 3.5781848430633545, Bleu Score: 25.679938758506832
Early Stop Left: 3
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.31it/s]
Epoch: 29, loss: 2.741427421569824
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.94it/s]
100%|███████████████████████████████████████| 1580/1580 [21:00<00:00,  1.25it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.815867643948483
Epoch: 29, Dev loss: 3.575000762939453, Bleu Score: 25.815867643948483
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.30it/s]
Epoch: 30, loss: 2.717121124267578
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.94it/s]
100%|███████████████████████████████████████| 1580/1580 [21:34<00:00,  1.22it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.953632126978434
Epoch: 30, Dev loss: 3.57232928276062, Bleu Score: 25.953632126978434
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [15:04<00:00, 12.23it/s]
Epoch: 31, loss: 2.694411039352417
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.25it/s]
100%|███████████████████████████████████████| 1580/1580 [20:33<00:00,  1.28it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.843109020401698
Epoch: 31, Dev loss: 3.5810413360595703, Bleu Score: 25.843109020401698
Early Stop Left: 4
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.30it/s]
Epoch: 32, loss: 2.67468523979187
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 50.98it/s]
100%|███████████████████████████████████████| 1580/1580 [21:01<00:00,  1.25it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.963452845006735
Epoch: 32, Dev loss: 3.5840632915496826, Bleu Score: 25.963452845006735
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:58<00:00, 12.31it/s]
Epoch: 33, loss: 2.6547110080718994
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.24it/s]
100%|███████████████████████████████████████| 1580/1580 [20:49<00:00,  1.26it/s]
ERROR: 2500
res: 这就是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
26.20144978265916
Epoch: 33, Dev loss: 3.5895509719848633, Bleu Score: 26.20144978265916
-------- Save Best Model! --------
100%|█████████████████████████████████████| 11059/11059 [14:57<00:00, 12.32it/s]
Epoch: 34, loss: 2.634553909301758
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.06it/s]
100%|███████████████████████████████████████| 1580/1580 [20:50<00:00,  1.26it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
26.189105713292417
Epoch: 34, Dev loss: 3.591063976287842, Bleu Score: 26.189105713292417
Early Stop Left: 4
100%|█████████████████████████████████████| 11059/11059 [15:06<00:00, 12.19it/s]
Epoch: 35, loss: 2.6147336959838867
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.16it/s]
100%|███████████████████████████████████████| 1580/1580 [21:05<00:00,  1.25it/s]
ERROR: 2500
res: 这是21世纪的新斗争。 trg: 这是二十一世纪的新斗争。
26.17399322242012
Epoch: 35, Dev loss: 3.5887959003448486, Bleu Score: 26.17399322242012
Early Stop Left: 3
100%|█████████████████████████████████████| 11059/11059 [14:55<00:00, 12.35it/s]
Epoch: 36, loss: 2.59657621383667
100%|███████████████████████████████████████| 1580/1580 [00:31<00:00, 49.80it/s]
100%|███████████████████████████████████████| 1580/1580 [21:01<00:00,  1.25it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
26.066956832675405
Epoch: 36, Dev loss: 3.5979537963867188, Bleu Score: 26.066956832675405
Early Stop Left: 2
100%|█████████████████████████████████████| 11059/11059 [15:02<00:00, 12.25it/s]
Epoch: 37, loss: 2.5775482654571533
100%|███████████████████████████████████████| 1580/1580 [00:32<00:00, 49.07it/s]
100%|███████████████████████████████████████| 1580/1580 [20:46<00:00,  1.27it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
25.84853346235518
Epoch: 37, Dev loss: 3.6071362495422363, Bleu Score: 25.84853346235518
Early Stop Left: 1
100%|█████████████████████████████████████| 11059/11059 [15:02<00:00, 12.26it/s]
Epoch: 38, loss: 2.5616824626922607
100%|███████████████████████████████████████| 1580/1580 [00:30<00:00, 51.28it/s]
100%|███████████████████████████████████████| 1580/1580 [20:49<00:00,  1.26it/s]
ERROR: 2500
res: 这是二十一世纪的新斗争。 trg: 这是二十一世纪的新斗争。
26.08166457087607
Epoch: 38, Dev loss: 3.6084272861480713, Bleu Score: 26.08166457087607
Early Stop Left: 0
-------- Early Stop! --------
100%|███████████████████████████████████████| 3160/3160 [00:54<00:00, 58.41it/s]
100%|███████████████████████████████████████| 3160/3160 [48:28<00:00,  1.09it/s]
26.152571470936522
Test loss: 3.5949692726135254,  Bleu Score: 26.152571470936522

Process finished with exit code 0

This is a weird problem, and there is no clear reason why there prompts an error between 2500~3000 lines.

hemingkx commented 3 years ago

This question perhaps was mentioned before. I'll check this problem if you are not in a hurry, maybe next week :). Thanks for your contribution!

hemingkx commented 3 years ago

It seems that errors always happen in 2000-3000 lines in the dev.json. For reference only, we found that some errors are caused by some special characters generated by the model like "??". You can just skip 20003000 lines in the test.json to run the bleu scoring function smoothly :).