Logo Lanfrica

arumdauo/llm-lrl-adaptation

Domaine:

natural language processing
Créateur:
aru
Hôte:
Adapting LLMs to low-resource languages (Tamil, Yoruba, Nepali) via Grapheme-aware PickyBPE and SaGe tokenization, vocabulary expansion, and LoRA-based continual pre-training. # llm-lrl-adaptation Adapting LLMs to low-resource languages (Tamil, Yoruba, Nepali) via Grapheme-aware PickyBPE and SaGe tokenization, vocabulary expansion, and LoRA-based continual pre-training. ## Features - **Custom Tokenizers**: PickyBPE (removes redundant tokens during training), GraphemePickyBPE (grapheme-aware for complex scripts) and SaGe (context-based pruning) - **Vocabulary Expansion**: Three initialization strategies (random, mean, merge-based) - **Parameter-Efficient Training**: LoRA-based continual pre-training for LLaMA 2 7B and Gemma 7B ## Project Structure (language folder example – same for all languages) ```bash / ├── 1_preprocessing/ │ ├── evaluate_tokenizer.ipynb │ ├── picky_bpe.ipynb │ ├── sage.ipynb │ └── split_corpus.ipynb │ ├── 2_instantiation/ │ ├── gemma_mean_init.ipynb │ ├── gemma_merge_init.ipynb │ ├── gemma_random_init.ipynb │ ├── llama2_mean_init.ipynb │ ├── llama2_merge_init.ipynb │ └── llama2_random_init.ipynb │ ├── 3_lapt/ │ ├── gemma_init_lapt.ipynb │ └── llama2_init_lapt.ipynb │ └── 4_evaluation/ └── eval_sum.ipynb ``` ### 1. Preprocessing Trains custom tokenizers on target language corpora and evaluates them using fertility and compression metrics. - `split_corpus.ipynb`: Data preparation and train/eval splits - `picky_bpe.ipynb`: PickyBPE/GraphemePickyBPE training - `sage.ipynb`: SaGe tokenizer training - `evaluate_tokenizer.ipynb`: Intrinsic tokenizer evaluation ### 2. Instantiation Expands base model vocabularies (~10K new tokens) with different embedding initialization strategies. - `*_random_init.ipynb`: Random embedding initialization - `*_mean_init.ipynb`: Mean-based initialization (selected method for LAPT) - `*_merge_init.ipynb`: BPE merge hierarchy-based initialization ### 3. LAPT Applies LoRA-based continual pre-training on target language data. - `*_init_lapt.ipynb`: Language-Adaptive Pre-Training with CLM objective ### 4. Evaluation Evaluates adapted models on intrinsic (perplexi …