机器翻译评价——COMET环境安装(GPU版本)
COMET,一个用于评价机器翻译性能的工具。
github地址:https://github.com/Unbabel/COMET
1. 环境安装
官方教程:
1.1 关键环境
环境 | 版本 | 备注 |
---|---|---|
gcc | 10.5.0 | 任意版本即可 |
CUDA | 12.1 | 任意版本满足PyTorch要求即可 |
Python | 3.8.20 | 可以通过Annaconda或者源码安装 |
unbabel-comet | 2.2.4 | 默认最新版本 |
torch | 2.4.1 | 默认安装版本 |
pytorch-lightning | 2.4.0 | 默认安装版本 |
gcc、CUDA、Python、torch的具体安装都可参考我的另一篇文章fairseq-0.12.2多机训练环境搭建。
1.2 安装Python
(可选通过Annaconda)
#创建Python环境
conda create -n comet python=3.8 -y
#启动Python环境
conda activate comet
comet为conda创建的环境名称
1.3 安装unbabel-comet
按照官方要求安装
pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
pip3 install unbabel-comet -i https://mirrors.aliyun.com/pypi/simple/
1.4 测试 Unbabel/wmt22-comet-da
comet-score -s src.zh -t trans.en -r ref.en --model Unbabel/wmt22-comet-da
相关参数说明请跳转到2.1
运行结果:
可以看到需要连接huggingface.co
1.4.1 下载Unbabel/wmt22-comet-da
下载地址:https://huggingface.co/Unbabel/wmt22-comet-da
- 放在默认路径下~/.cache/torch/unbabel_comet/
- 通过–model直接指定.ckpt文件路径
建议使用第2种,启动速度会快很多。第1种启动每次都会访问huggingface.co,无法连接则启动很慢。
comet-score -s src.zh -t trans.en -r ref.en --model ./wmt22-comet-da/checkpoints/model.ckpt
需要xlm-roberta-large资源
1.4.2 下载xlm-roberta-large
下载地址:https://huggingface.co/FacebookAI/xlm-roberta-large
放在当前运行目录下,后再次运行,便可正常运行
comet-score -s src.zh -t trans.en -r ref.en --model ./wmt22-comet-da/checkpoints/model.ckpt
有一个警告
Lightning automatically upgraded your loaded checkpoint from v1.8.3.post1 to v2.4.0. To apply the upgrade to your files permanently, run `python -m pytorch_lightning.utilities.upgrade_checkpoint wmt22-comet-da/checkpoints/model.ckpt`
注意千万不要降版本,否则会遇到很多坑,真心劝告。
2. COMET运行说明
2.1 COMET参数说明
comet-score -h
需要关注的:
参数 | 说明 |
---|---|
-s | 原文文件 |
-t | 机器翻译系统生成的译文文件,可选多个 |
-r | 参考译文文件,如需要,例如Unbabel/wmt22-comet-da |
–gpus | gpu使用的个数,0表示使用CPU,1表示使用GPU,其余不建议 |
–to_json | 输出结果文件路径,输出格式为json |
–model | 模型名或模型的路径名(.ckpt),建议使用模型的路径名(.ckpt)方式 |
2.2 COMET运行结果
comet-score -s src.zh -t trans.en -r ref.en --model ./wmt22-comet-da/checkpoints/model.ckpt --to_json ./output.json
-
屏幕打印
-
json文件