Opus-MT German β†’ English β€” GGUF (ggml)

GGUF / ggml conversion of Helsinki-NLP/opus-mt-de-en for use with CrispStrobe/CrispASR (--backend marian).

A small (~75M parameters, 6+6 layers, d=512) MarianMT model for one language pair. In CrispASR it is the fastest translator for live transcription + translation (--live-translate): tens of milliseconds per sentence on a laptop CPU.

Licence and attribution

CC-BY-4.0. The weights are the opus-2020-02-26 release of the OPUS-MT project (JΓΆrg Tiedemann and Santhosh Thottingal, University of Helsinki; OPUS-MT β€” Building open translation services for the World, EAMT 2020), trained on OPUS data. The project distributes its pre-trained models under CC-BY 4.0 (Opus-MT README, OPUS-MT-train README); that statement, not the tag on an individual model card, is what this repository follows. This is a format conversion: the weights are unchanged at f16 and quantized at q8_0. Redistribution requires attribution to the OPUS-MT project.

Files

File Size Output vs. the reference implementation
opus-mt-de-en-f16.gguf 153 MB identical: 14/14 sentences greedy, 14/14 with beam 4
opus-mt-de-en-q8_0.gguf 84 MB 12/14 sentences greedy, 12/14 with beam 4 β€” the others differ in wording, not in meaning. Fastest; recommended.

"Reference" is MarianMTModel.generate from Hugging Face transformers on the original checkpoint; token ids are identical for every sentence and for 24 tokenizer stress strings. A q4_k file is deliberately not published: it changed about half the test sentences.

Quick start

git clone https://github.com/CrispStrobe/CrispASR && cd CrispASR
cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j

# Text β†’ text. The backend is detected from the file; -bs 1 is greedy,
# without it the checkpoint's own beam size (4) is used.
./build/bin/crispasr --backend marian -m auto -sl de -tl en -bs 1 \
    --text "Wir haben heute drei Punkte auf der Tagesordnung."
# We have three items on the agenda today.

# Live: microphone in, transcript + translation out, sentence by sentence
./build/bin/crispasr --live-translate -l de --tr-tl en \
    -m auto --backend parakeet --translate-model opus-mt-de-en

-m auto / --translate-model opus-mt-de-en download opus-mt-de-en-q8_0.gguf on first use.

Notes

  • One model per direction; the opposite direction is cstr/opus-mt-en-de-GGUF.
  • Beam search in this runtime has no KV cache and is several times slower than greedy; live mode always decodes greedy.
  • Literal </s>, <unk>, <pad> in the input are treated as ordinary text here (the reference treats them as special tokens).

Conversion

python models/convert-marian-to-gguf.py --input <dir>/opus-mt-de-en --output opus-mt-de-en-f16.gguf
./build/bin/crispasr-quantize opus-mt-de-en-f16.gguf opus-mt-de-en-q8_0.gguf q8_0
python tools/marian_parity.py --hf-dir <dir>/opus-mt-de-en --gguf opus-mt-de-en-f16.gguf --lang de
Downloads last month
419
GGUF
Model size
74.5M params
Architecture
marian
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for cstr/opus-mt-de-en-GGUF

Quantized
(10)
this model