前言
Meta AI 2022年发布了一篇论文名为No Language Left Behind: Scaling Human-Centered Machine Translation,提出了NLLB模型,该模型支持200种语言,是一种多语言机器翻译系统,Meta开源了该模型及其数据,本文为NLLB模型调用记录。
模型使用
Hugging face开源了一个Transformer库,里面有大量的预训练模型,本文也是通过调用Hugging face提供的NLLB模型来完成翻译示例。
本文使用的是模型是:nllb-200-distilled-600M,其下载地址为:https://huggingface.co/facebook/nllb-200-distilled-600M/tree/main,可以使用官方的方法调用,也可以自己把模型下载下来调用,笔者这里由于加载官方的模型一直连接不上,所以自行下载下来使用的。
- 示例
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
tokenizer_zh2en = AutoTokenizer.from_pretrained("模型路径\\NLLB-200-600M")
model_zh2en = AutoModelForSeq2SeqLM.from_pretrained("模型路径\\NLLB-200-600M")
translator = pipeline(
'translation',
model=model_zh2en,
tokenizer=tokenizer_zh2en,
src_lang='zho_Hans',
tgt_lang='eng_Latn',
max_length=512
)
- 示例运行结果
此外,可支持的语言可以在Hugging face的README.md文件中查看到:README.md,然后根据自己的需求更改源语言和目标语言。