MarianMT 和 OpusMT 有什么区别?

What is the difference between MarianMT and OpusMT?

我目前正在比较各种预训练的 NMT 模型,不禁想知道 MarianMT 和 OpusMT 之间的区别是什么。根据 OpusMT 的 Github it is based on MarianMT. However in the Huggingface transformers implementation,所有预训练的 MarianMT 模型都以“Helsinki-NLP/opus-mt”开头。所以我认为它是一样的,但即使它们的大小大致相同,它们也会产生不同的翻译结果。

如果有人能解释一下区别是什么,我将不胜感激。

Marian 是一个用于训练和服务神经机器翻译 的开源工具,主要由爱丁堡大学、波兹南的亚当密茨凯维奇大学和微软开发.它是用 C++ 实现的,并针对 MT 进行了大量优化,这与基于 PyTorch 的 Huggingface Transformers 不同,后者的目标是通用性而不是特定用例中的效率。

NLP group at the University of Helsinki trained many translation models using Marian on parallel data collected at Opus, and open-sourced those models. Later, they also did a conversion of the trained model into Huggingface Transformers 并通过 Huggingface Hub 提供它们。

MarianMT is a class in Huggingface Transformers for imported Marian models. You can train a model in Marian and convert it yourself. OpusMT models are Marian models trained on the Opus data in Helsinki converted to the PyTorch models. If you search the Huggingface Hub for Marian,除了赫尔辛基的模型,您还会发现其他 MarianMT 模型。