← all repositories
marian-nmt/marian

A C++ NMT framework that skips the kitchen-sink dependencies

Marian trains and runs neural machine translation with nothing but C++ and a GPU.

marian
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

Marian is a neural machine translation framework written in pure C++ with minimal dependencies. It handles both training (multi-GPU) and inference (GPU or CPU) for deep RNN and transformer architectures. The project is named after Marian Rejewski, the Polish mathematician who cracked the Enigma cipher—an appropriately cryptic namesake for a project funded partly by IARPA.

The interesting bit

Most deep-learning frameworks accumulate dependencies like a npm project accumulates node_modules. Marian deliberately doesn’t. The “pure C++” and “minimal dependencies” claims suggest someone actually cares about build times and deployment friction in production translation pipelines.

Key highlights

  • Pure C++ implementation, no Python scaffolding mentioned
  • Multi-GPU training with CPU fallback for translation
  • Supports both deep RNN and transformer architectures
  • MIT license (not GPL, not Apache with patent clauses)
  • Active CI across Ubuntu, Windows, and macOS
  • Academic pedigree: published at ACL 2018, well-cited

Caveats

  • The README is sparse on specifics—no benchmark numbers, no model zoo, no hardware requirements
  • The older “Amun” RNN decoder lives in a separate repo; the main decoder has superseded it, but migration clarity is absent
  • Documentation lives on an external website; the repo itself is basically a landing page

Verdict

Worth evaluating if you’re running NMT in production and tired of Python packaging hell. Probably overkill if you’re just fine-tuning a Hugging Face model for a weekend project.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.