| # MALM: Modular Adapter-based Language Model |
| π [Read the full paper (MALM.pdf)](./MALM.pdf) |
| π Author: **Hilal Limo (Independent Researcher, 15)** |
| π License: [Apache-2.0](./LICENSE) |
|
|
| --- |
|
|
| ## Overview |
| This repository contains the research paper **MALM: Modular Adapter-based Language Model**, which introduces a lightweight and scalable framework for multilingual AI. |
| Instead of relying on massive monolithic models, MALM separates **reasoning** and **translation** into two modular parts: |
|
|
| - **Core Language Model (CLM):** A compact, English-focused reasoning engine. |
| - **Specialized Translation Adapters (STAs):** Lightweight, swappable neural machine translation models. |
| - **Orchestration Layer:** Connects the pieces, parsing delegation tokens (e.g. `<to:de> ... </to>`) and routing requests to the right adapter. |
|
|
| This design drastically reduces compute cost, makes it easier to add new languages, and is especially useful for **small models**, edge devices, and research settings. |
|
|
| --- |
|
|
| ## Why MALM? |
| - π **Efficiency:** Keep one reasoning core small and sharp. |
| - π **Scalability:** Add or update languages by swapping STAs. |
| - π οΈ **Maintainability:** Upgrade individual adapters without retraining the whole system. |
| - π± **Small Models:** Perfect for low-resource environments, edge devices, and startups. |
|
|
| --- |
|
|
| ## Example Conversation Flows |
| ```text |
| User: Translate "my name is Adam" into German. |
| CLM β <to:de> my name is Adam </to> |
| STA β "Mein Name ist Adam" |
| |
| User (in Spanish): "ΒΏCuΓ‘nto es 12 + 7?" |
| Input STA (esβen) β "How much is 12 + 7?" |
| CLM β "The answer is <to:es> 19 </to>" |
| Output STA β "La respuesta es 19" |
| |