micm-nlp¶
An NLP research toolkit for tokenization, pretraining, fine-tuning and PEFT across
encoder-only, decoder-only and encoder-decoder architectures. Built on HuggingFace
transformers, peft and datasets.
pip install micm-nlp
What it is¶
micm-nlp is a config-driven library, not an experiment runner. It wraps the
HuggingFace stack in a small set of building blocks that compose into reproducible
training and evaluation pipelines:
CONFIG (YAML) → tokenizer.load() → DATASET → MODEL → PEFT → TRAINER → compute_metrics
Everything above is selected from YAML — including the concrete HuggingFace classes.
model.pretrained.cls, trainer.cls, data_collator.cls and training_args.cls are
resolved by name at runtime, so adding a backbone or a head normally needs no code
change. Experiment logic — language groups, run-tree layouts, result aggregation,
cluster dispatch — lives in consumer repositories that import this package, never here.
Symbol |
Role |
|---|---|
|
Loads and validates YAML ( |
|
|
|
Loads and preprocesses HuggingFace, CSV or TXT datasets; concatenation |
|
|
|
Routes to stock PEFT methods or the Cross-Prompt Encoder path |
|
Builds the HuggingFace |
Scope¶
The core of the package is task- and research-agnostic: configuration, datasets, models, PEFT dispatch, training and evaluation carry no assumptions about any particular study.
It also ships two research modules — the Cross-Prompt Encoder and a set of Georgian tokenization utilities — because published work depends on them. Neither is required to use the core.
Links¶
PyPI |
|
Source |
|
Issue tracker |
|
Releases |
|
Changelog |
|
XPE paper |
|
Tokenization paper |
|
MICM |
|
Contact |
beso.mikaberidze@gmail.com |
Provenance¶
micm-nlp was developed at the Muskhelishvili Institute of Computational Mathematics (MICM, Georgian Technical University), in close research collaboration with Teimuraz Saghinadze (MICM), Simon Ostermann (DFKI / CERTAIN), and Philipp Müller (Max Planck Institute for Intelligent Systems), whose joint work on the Cross-Prompt Encoder (XPE) drove much of the toolkit’s design and validation.
This work was partially supported by the European Union under Horizon Europe project “GAIN” (GA #101078950) and by the German Federal Ministry of Research, Technology and Space (BMFTR) as part of the project TRAILS (01IW24005).
The package was formerly named nlpka; that name survives only in the archived
repository behind the IJCNLP–AACL paper.
Citation¶
If you use micm-nlp in your research, please cite the package and (if relevant to your work) the XPE paper that drove its design:
@software{micm_nlp,
author = {Mikaberidze, Beso},
title = {micm-nlp: NLP research toolkit for multilingual fine-tuning and PEFT},
url = {https://github.com/bmikaberidze/micm-nlp},
version = {0.2.1},
year = {2026},
}
@misc{mikaberidze2025crosspromptencoderlowperforminglanguages,
title = {Cross-Prompt Encoder for Low-Performing Languages},
author = {Beso Mikaberidze and Teimuraz Saghinadze and Simon Ostermann and Philipp Muller},
year = {2026},
eprint = {2508.10352},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2508.10352},
}