How can I create custom on-the-fly data transforms?
The code is easily extendable with custom transforms inheriting from the Transform base class.
Do you support multi-GPU?
Yes. EOLE supports two distributed modes: data parallelism and tensor parallelism.
Ensemble models at inference
Provide several converted checkpoint directories to eole predict:
Gradient checkpointing
In a complete training YAML, set the layers to recompute during backward:
How to use LoRA and quantization to finetune a big model?
Cf paper: LoRA
How to switch from OpenNMT-py to EOLE?
Configuration conversion
Performance tips
Training
Position encodings
For training from scratch, configure position encoding under model.embeddings.
Compute dtype (precision) and storage dtype
Various compute precisions are supported. Below is a quick recap of the current cases.
Initialize pretrained word embeddings
Eole prepares pretrained embeddings during eole train initialization.
What special tokens are used?
There are 4 main special tokens:
How can I apply on-the-fly tokenization and subword regularization when training?
This is part of the transforms paradigm, which allows to apply various processing to inputs before constituting batches to train models on (or predict). transforms basically is a list of functions that will be applied sequentially to the examples when read from file (or input list).
Compile inference with torch.compile
Set compilation environment variables before importing Eole or launching a run:
Update a checkpoint vocabulary
Build vocabulary files for the new corpus, then point a complete training YAML
Can I get word alignments while translating?
Raw alignments from averaging Transformer attention heads