This adds two new features related to factored vocabs: * a new conditioning mechanism that mimics a mini transformer layer between the emitted lemma and the factors. This affects only factored vocabs, and requires to be enabled explicitly. Change is in `generic.cpp`. * in case of inline phrase-fixing, cross-attention is now no longer allows to look into the source sequence. This only affects inputs with `|is` factors or `<IOPEN>` tags. Change is in `states.h`. * Adam optimizer now skips update if the gradient contains a NaN. Does not affect existing configs unless they produce NaNs. Change is in `optimizers.cpp`. * reverts to old `LayerNorm` routine. *TODO*: Is this change still needed? Additional changes: * new method `locate()` for accessing batch data with array coordinates * new overloads for `constant_like()` from vector directly (most used case) * rvalue-ref version of `fromVector()` |
||
---|---|---|
cmake | ||
contrib | ||
doc | ||
examples@336740065d | ||
regression-tests@9019bf3bee | ||
scripts | ||
src | ||
vs | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
CMakeSettings.json | ||
CONTRIBUTING.md | ||
Doxyfile.in | ||
LICENSE.md | ||
README.md | ||
VERSION |
Marian
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.