Papers
arxiv:2607.24585

From Data to Device: ELMOD An Efficient German-First 2.7B Language Model for Mobile Inference

Published on Jul 27
Authors:
,
,
,
,
,
,

Abstract

We present ELMOD - Efficient Language Model for On-Device Deployment - a compact (2.7B) German language model designed for efficient inference on resource-constrained hardware. ELMOD was trained on a limited computational budget (55k H100 GPU hours) using exclusively publicly available data. We developed a suite of German-specific data pre-processing, which differ from English-oriented counterparts in their handling of morphological variation, compounding, and orthographic conventions. Furthermore, we introduced a quality filtering and rephrasing step, which increased the instructional quality of the data, improved performance during the annealing phase, and reduced overall compute requirements. Thanks to our architectural model and data choices, including prefiltering, our educational-quality filtering and rephrasal to raise the educational-quality, ELMOD is the strongest performer in its size class (<3B), matching the performance of 7B-parameter models in German.

Community

The released checkpoint is GPTNeoXForCausalLM, but apart from the auto-generated HF tag this is mentioned nowhere in the model card text or the paper, and the only architecture source you cite is your own prior study. Why?

Hey guys, one question about the paper:

We furthermore normalize the text based on the Normalization Form Compatibility Composed (NFKC)12
form and strip away all accents (for details see Appendix B).

I don't see accent stripping:

In [4]: tokenizer = AutoTokenizer.from_pretrained("fraunhofer-iis/elmod-2.7b-base")

In [5]: tokenizer.tokenize("öäüß ÖÄÜ ß")
Out[5]: ['ö', 'ä', 'üß', '▁Ö', 'Ä', 'Ü', '▁', 'ß']

In [6]: tokenizer.backend_tokenizer.normalizer
Out[6]: Sequence(normalizers=[NFKC(), Replace(pattern=String("▁"), content="_")])

In [7]: tokenizer.backend_tokenizer.normalizer.normalize_str("o\u0308 a\u0308 u\u0308")
Out[7]: 'ö ä ü'

And accent stripping would also be a very bad idea for German.

The architecture section has the same kind of mismatch, the paper describes grouped-query attention and no bias terms, but the released config (GPTNeoXForCausalLM) has attention_bias: true and no num_key_value_heads, i.e. plain multi-head attention with biases.

Sign up or log in to comment

Models citing this paper 2

Datasets citing this paper 0

No dataset linking this paper

Cite arxiv.org/abs/2607.24585 in a dataset README.md to link it from this page.

Spaces citing this paper 0

No Space linking this paper

Cite arxiv.org/abs/2607.24585 in a Space README.md to link it from this page.

Collections including this paper 0

No Collection including this paper

Add this paper to a collection to link it from this page.