← Open Source
Helsinki-NLP

Opus-MT

Open neural machine translation models and web services.

ModelsLanguage-specific modelsPython
Open on GitHub
Momentum
+1stars in 24 hours+0.1%
867
Stars
93
Forks
+1
This week
12
Contributors
Created 2019-08-21 · Updated 2026-10-16 · #6122 today
Top developers

Helsinki-NLP/Opus-MT is ranked 6,122 with 867 stars.

Same-category comparison

Helsinki-NLP/Opus-MT is ranked 6,122 among these 8 peers; facebookresearch/MHR is ranked 6,116.

Same-category comparison
NameRankMetrics
The-FinAI/PIXIU6,075
Language:
Jupyter Notebook
Stars:
894
Forks:
126
Description:
This repository introduces PIXIU, an open-source resource featuring the first financial large language models (LLMs), instruction tuning data, and evaluation benchmarks to holistically assess financial LLMs. Our goal is to continually push forward the open-source development of financial artificial intelligence (AI).
neuralmind-ai/portuguese-bert6,091
Language:
Python
Stars:
887
Forks:
139
Description:
Portuguese pre-trained BERT models.
Tencent-Hunyuan/HY-Embodied6,110
Language:
Python
Stars:
875
Forks:
17
Description:
HY-Embodied: Embodied Foundation Models for Real-World Agents.
facebookresearch/MHR6,116
Language:
Python
Stars:
872
Forks:
79
Description:
Momentum Human Rig is an anatomically-inspired parametric full-body digital human model developed at Meta. It includes: A parametric body skeletal model; A realistic 3D mesh skinned to the skeleton with levels of detail;A body blendshape and pose corrective model; A facial blendshape model.Its design is friendly for both CG and CV communities.
salute-developers/GigaAM6,128
Language:
Python
Stars:
865
Forks:
110
Description:
Foundational Model for Speech Recognition Tasks.
moment-timeseries-foundation-model/moment6,134
Language:
TypeScript
Stars:
857
Forks:
122
Description:
MOMENT: A Family of Open Time-series Foundation Models, ICML'24.
NVlabs/edm26,141
Language:
Python
Stars:
854
Forks:
60
nv-tlabs/cosmos-transfer1-diffusion-renderer6,147
Language:
Jupyter Notebook
Stars:
851
Forks:
68
Description:
Cosmos-Transfer1-DiffusionRenderer: High-quality video de-lighting and re-lighting based on Cosmos video diffusion framework.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModels
SubcategoryLanguage-specific models
KeywordsTranslation
Stars867
Forks93
Contributors12
Created date2019-08-21
Updated date2026-10-16
Stars in 1 day1
Stars in 7 days1
Rank6,122
Previous rank18,886
Rank change12,764
7-day stars rank10,522
Previous 7-day stars rank17,468
7-day stars rank change6,946
Total stars rank12,470
Previous total stars rank12,474
Total stars rank change4
CountryFinland
README summary

Tools and resources for open translation services based on Marian-NMT trained on OPUS data using OPUS-MT-train (New: leaderboard) mainly SentencePiece-based segmentation mostly trained with guided alignment based on eflomal wordalignments pre-trained downloadable translation models (matrix view), CC-BY 4. 0 license more freely available translation models from the Tatoeba translation challenge, CC-BY 4. 0 license This repository includes two setups: Setup 1: a Tornado-based web application providing a web UI and API to

work with multiple language pairs (developed by Santhosh Thottingal and his team at the Wikimedia Foundation) Setup 2: a simple websocket service setup with some experimental API extensions There are also scripts for training models, but those are currently only useful in the computing environment used by the University of Helsinki and CSC as the IT service provider. Please cite the following papers if you use OPUS-MT software and models: Installation of the Tornado-based Web-App Download the

latest version from github: Option 1: Manual setup Install Marian MT. Follow the documentation at (don't forget to include the cmake option for compiling the server binary ) After the installation, marian-server is expected to be present in path. If not, place it in Install pre-requisites. Using a virtual environment is recommended. Download the translation models from and place them in models directory. Launch your browser to localhost:8888 to get the web interface. Option 2: Using Docker or

And launch your browser to localhost:8888 Option 2. 1: Using Docker with CUDA GPU And launch your browser to localhost:8888 Configuration The server. py program accepts a configuration file in json format. By default it try to use in the current directory. But you can give a custom one using flag. An example configuration file looks like this: This example configuration can provide MT service for en->es and en->fi language pairs. points to a yaml file

containing the decoder configuration usable by . If this value is not provided, Opus-MT will assume that the service is already running in a remote host and post as given in other options. If value is provided, a new subprocess will be created using : The host where the server is running. : The port to be listen for Installation of a websocket service on Ubuntu There is another option of setting up translation services using WebSockets and Linux services. Detailed information

is available from doc/WebSocketServer. Public MT models We store public models (CC-BY 4. 0 License) at They should all be compatible with the OPUS-MT services, and you can install them by specifying the language pair. The installation script takes the latest model in that directory. For additional customisation you need to adjust the installation procedures (in the Makefile or elsewhere). There are also development versions of models, which are often a bit more experimental and of low

quality. But there are additional language pairs and they can be downloaded from Train MT models There is a Makefile

Frequently asked questions

How many stars and forks are recorded?

Helsinki-NLP/Opus-MT has 867 stars and 93 forks.

What is the repository rank?

Helsinki-NLP/Opus-MT is ranked 6,122.

What language and category are recorded?

Helsinki-NLP/Opus-MT has 867 stars, uses Python and belongs to Models.

Which repository is closest in rank?

Helsinki-NLP/Opus-MT is compared with facebookresearch/MHR, ranked 6,116 with 872 stars.

README

Tools and resources for open translation services

This repository includes two setups:

There are also scripts for training models, but those are currently only useful in the computing environment used by the University of Helsinki and CSC as the IT service provider.

Please cite the following papers if you use OPUS-MT software and models:

@article{tiedemann2023democratizing,
  title={Democratizing neural machine translation with {OPUS-MT}},
  author={Tiedemann, J{\"o}rg and Aulamo, Mikko and Bakshandaeva, Daria and Boggia, Michele and Gr{\"o}nroos, Stig-Arne and Nieminen, Tommi and Raganato\
, Alessandro and Scherrer, Yves and Vazquez, Raul and Virpioja, Sami},
  journal={Language Resources and Evaluation},
  number={58},
  pages={713--755},
  year={2023},
  publisher={Springer Nature},
  issn={1574-0218},
  doi={10.1007/s10579-023-09704-w}
}

@InProceedings{TiedemannThottingal:EAMT2020,
  author = {J{\"o}rg Tiedemann and Santhosh Thottingal},
  title = {{OPUS-MT} — {B}uilding open translation services for the {W}orld},
  booktitle = {Proceedings of the 22nd Annual Conferenec of the European Association for Machine Translation (EAMT)},
  year = {2020},
  address = {Lisbon, Portugal}
 }

Installation of the Tornado-based Web-App

Download the latest version from github:

git clone https://github.com/Helsinki-NLP/Opus-MT.git

Option 1: Manual setup

Install Marian MT. Follow the documentation at https://marian-nmt.github.io/docs/ (don't forget to include the cmake option for compiling the server binary -DCOMPILE_SERVER=ON) After the installation, marian-server is expected to be present in path. If not, place it in /usr/local/bin

Install pre-requisites. Using a virtual environment is recommended.

pip install -r requirements.txt

Download the translation models from https://github.com/Helsinki-NLP/Opus-MT-train/tree/master/models and place them in models directory.

Then edit the services.json to point to those models.

And start the webserver.

python server.py

By default, it will use port 8888. Launch your browser to localhost:8888 to get the web interface. The languages configured in services.json will be available.

Option 2: Using Docker

docker-compose up

or

docker build . -t opus-mt
docker run -p 8888:8888 opus-mt:latest

And launch your browser to localhost:8888

Option 2.1: Using Docker with CUDA GPU

docker build -f Dockerfile.gpu . -t opus-mt-gpu
nvidia-docker run -p 8888:8888 opus-mt-gpu:latest

And launch your browser to localhost:8888

Configuration

The server.py program accepts a configuration file in json format. By default it try to use services.json in the current directory. But you can give a custom one using -c flag.

An example configuration file looks like this:

{
    "en": {
        "es": {
            "configuration": "./models/en-es/decoder.yml",
            "host": "localhost",
            "port": "10001"
        },
        "fi": {
            "configuration": "./models/en-fi/decoder.yml",
            "host": "localhost",
            "port": "10002"
        },
    }
}

This example configuration can provide MT service for en->es and en->fi language pairs.

  • configuration points to a yaml file containing the decoder configuration usable by marian-server. If this value is not provided, Opus-MT will assume that the service is already running in a remote host and post as given in other options. If value is provided, a new subprocess will be created using marian-server
  • host: The host where the server is running.
  • port: The port to be listen for marian-server

Installation of a websocket service on Ubuntu

There is another option of setting up translation services using WebSockets and Linux services. Detailed information is available from doc/WebSocketServer.md.

Public MT models

We store public models (CC-BY 4.0 License) at https://github.com/Helsinki-NLP/Opus-MT-train/tree/master/models They should all be compatible with the OPUS-MT services, and you can install them by specifying the language pair. The installation script takes the latest model in that directory. For additional customisation you need to adjust the installation procedures (in the Makefile or elsewhere).

There are also development versions of models, which are often a bit more experimental and of low quality. But there are additional language pairs and they can be downloaded from https://github.com/Helsinki-NLP/Opus-MT-train/tree/master/work-spm/models

Train MT models

There is a Makefile for training new models from OPUS data in the Opus-MT-train repository, but this is heavily customized for the work environment at CSC and the University of Helsinki projects. This will (hopefully) be more generic in the future to be able to run in different environments and setups as well.

Known issues

  • most automatic evaluations are made on simple and short sentences from the Tatoeba data collection; those scores will be too optimistic when running the models with other more realistic data sets
  • Some (older) test results are not reliable as they use software localisation data (namely GNOME system messages) with a large overlap with other localisation data (i.e. Ubuntu system messages) that are included in the training data
  • All current models are trained without filtering, data augmentation (like backfanslation) and domain adaptation and other optimisation procedures; there is no quality control besides of the automatic evaluation based on automatically selected test sets; for some language pairs there are at least also benchmark scores from official WMT test sets
  • Most models are trained with a maximum of 72 training hours on 1 or 4 GPUs; not all of them converged before this time limit
  • Validation and early stopping is based on automatically selected validation data, often from Tatoeba; the validation data is not representative for many applications

To-Do and wish list

  • more languages and language pairs
  • better and more multilingual models
  • optimize translation performance
  • add backtranslation data
  • domain-specific models
  • GPU enabled container
  • dockerized fine-tuning
  • document-level models
  • load-balancing and other service optimisations
  • public MT service network
  • feedback loop and personalisation

Links and related work

Acknowledgements

The work is supported by the European Language Grid as pilot project 2866, by the FoTran project, funded by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 771113), the MeMAD project, funded by the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement No 780069, and the HPLT project European Union’s Horizon Europe research and innovation programme under grant agreement No 101070350. We are also grateful for the generous computational resources and IT infrastructure provided by CSC -- IT Center for Science, Finland.

Nearby in the ranking
Similar items