Fast Neural Machine Translation in C++
Go to file
Martin Junczys-Dowmunt c3fb60cbcd Merged PR 13476: Add LASER reimplementation and code for embeddings sentences
This reimplements the LASER encoder from:
```
Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond
Mikel Artetxe, Holger Schwenk
https://arxiv.org/abs/1812.10464
```

and adds functionality to embed sentences with any Marian encoder, also different from LASER. Some early attempts to train a transformer model with Encoder-Decoder bottle-neck. This is quite early code, so some code-duplication is to be expected. Nevertheless, it's functional and I would like to have it in master as we will slowly put that into production in various places. I will make the code "nicer" as we go along.
2020-06-24 01:54:27 +00:00
.github Add templates for GitHub issues and pull requests 2020-03-16 20:10:18 -07:00
cmake Add option for printing CMake cached variables (#583) 2020-03-10 10:29:50 -07:00
contrib weird mode change back 2019-04-29 19:01:29 -07:00
doc Added more references 2016-10-06 10:25:53 -05:00
examples@c19b7814d7 Merged PR 11103: Clear cache for RNN object between batches 2020-01-11 20:29:43 +00:00
regression-tests@0f8cabf13e Update submodule regression-tests 2020-05-17 11:34:18 +01:00
scripts Merged PR 13476: Add LASER reimplementation and code for embeddings sentences 2020-06-24 01:54:27 +00:00
src Merged PR 13476: Add LASER reimplementation and code for embeddings sentences 2020-06-24 01:54:27 +00:00
vs Merged PR 13049: Remove repeated memory allocation for fbgemm temp scratch space 2020-05-26 20:22:38 +00:00
.clang-format Update clang-format 2018-10-19 13:40:42 +01:00
.gitattributes revisited fillBatches() and optimized it a little; 2018-10-08 13:29:16 -07:00
.gitignore Add option for printing CMake cached variables (#583) 2020-03-10 10:29:50 -07:00
.gitmodules Update Simple-WebSocket-Server and move it to submodules (#639) 2020-04-27 10:34:10 +01:00
CHANGELOG.md Update version and changelog 2020-05-21 20:10:33 -07:00
CMakeLists.txt Merged PR 13476: Add LASER reimplementation and code for embeddings sentences 2020-06-24 01:54:27 +00:00
CMakeSettings.json Keep only Release and Debug targets with Ninja 2018-09-19 14:58:10 +02:00
CONTRIBUTING.md Add templates for GitHub issues and pull requests 2020-03-16 20:10:18 -07:00
Doxyfile.in Fix latex generation in doxygen. 2019-02-16 22:48:10 +00:00
LICENSE.md Update LICENSE.md 2017-02-27 01:16:42 +00:00
README.md Update README.md 2019-11-27 19:27:49 -08:00
VERSION update version number due to patches 2020-06-18 13:39:09 -07:00

Marian

Build Status CUDA 9 Build Status CUDA 10 Build Status CPU Tests Status Latest release License: MIT Twitter

Marian is an efficient Neural Machine Translation framework written in pure C++ with minimal dependencies.

Named in honour of Marian Rejewski, a Polish mathematician and cryptologist.

Main features:

  • Efficient pure C++ implementation
  • Fast multi-GPU training and GPU/CPU translation
  • State-of-the-art NMT architectures: deep RNN and transformer
  • Permissive open source license (MIT)
  • more detail...

If you use this, please cite:

Marcin Junczys-Dowmunt, Roman Grundkiewicz, Tomasz Dwojak, Hieu Hoang, Kenneth Heafield, Tom Neckermann, Frank Seide, Ulrich Germann, Alham Fikri Aji, Nikolay Bogoychev, André F. T. Martins, Alexandra Birch (2018). Marian: Fast Neural Machine Translation in C++ (http://www.aclweb.org/anthology/P18-4020)

@InProceedings{mariannmt,
    title     = {Marian: Fast Neural Machine Translation in {C++}},
    author    = {Junczys-Dowmunt, Marcin and Grundkiewicz, Roman and
                 Dwojak, Tomasz and Hoang, Hieu and Heafield, Kenneth and
                 Neckermann, Tom and Seide, Frank and Germann, Ulrich and
                 Fikri Aji, Alham and Bogoychev, Nikolay and
                 Martins, Andr\'{e} F. T. and Birch, Alexandra},
    booktitle = {Proceedings of ACL 2018, System Demonstrations},
    pages     = {116--121},
    publisher = {Association for Computational Linguistics},
    year      = {2018},
    month     = {July},
    address   = {Melbourne, Australia},
    url       = {http://www.aclweb.org/anthology/P18-4020}
}

Amun

The handwritten decoder for RNN models compatible with Marian and Nematus has been superseded by the Marian decoder. The code is available in a separate repository: https://github.com/marian-nmt/amun

Website

More information on https://marian-nmt.github.io

Acknowledgements

The development of Marian received funding from the European Union's Horizon 2020 Research and Innovation Programme under grant agreements 688139 (SUMMA; 2016-2019), 645487 (Modern MT; 2015-2017), 644333 (TraMOOC; 2015-2017), 644402 (HiML; 2015-2017), 825303 (Bergamot; 2019-2021), the Amazon Academic Research Awards program, the World Intellectual Property Organization, and is based upon work supported in part by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA), via contract #FA8650-17-C-9117.

This software contains source code provided by NVIDIA Corporation.