--- language: ["ko", "en", "ja", "zh", "es", "fr", "de", "pt", "it", "ru", "ar", "hi", "th", "vi", "id", "tr", "nl", "pl"] tags: - sentence-transformers - multilingual - layer-pruning - vocab-pruning - knowledge-distillation - minilm-l12 library_name: sentence-transformers pipeline_tag: sentence-similarity license: apache-2.0 --- # L4_uniform_distilled (Distilled) Lightweight sentence encoder created from `sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2` via layer pruning + vocabulary pruning + knowledge distillation. ## Model Details | Property | Value | |---|---| | Teacher | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | | Architecture | MiniLM-L12 (pruned) | | Hidden dim | 384 | | Layers | 4 / 12 | | Layer indices | [0, 4, 7, 11] | | Strategy | 4 layers, evenly spaced (compact) | | Parameters | 103,283,328 | | Model size (FP32) | 84.6MB | | Distilled | Yes | ## Architecture ``` ============================================================== TEACHER: MiniLM-L12 → STUDENT: 4L / 38,755 vocab ============================================================== TEACHER STUDENT ─────────────────────────── ─────────────────────────── ┌─────────────────────────┐ ┌─────────────────────────┐ │ Input Tokens │ │ Input Tokens │ └────────────┬────────────┘ └────────────┬────────────┘ │ │ ┌────────────┴────────────┐ ┌────────────┴────────────┐ │ Embeddings │ │ Embeddings (pruned) │ │ vocab: 250,002 │ │ vocab: 38,755 │ │ dim: 384 │ │ dim: 384 │ └────────────┬────────────┘ └────────────┬────────────┘ │ │ ┌─────────────────────────┐ ┌─────────────────────────┐ │ Layer 0 │ ──► │ Layer 0 ← L0 │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 1 │ ╳ │ │ ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ Layer 2 │ ╳ │ │ ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ Layer 3 │ ╳ │ │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 4 │ ──► │ Layer 1 ← L4 │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 5 │ ╳ │ │ ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ Layer 6 │ ╳ │ │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 7 │ ──► │ Layer 2 ← L7 │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 8 │ ╳ │ │ ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ Layer 9 │ ╳ │ │ ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ │ │ │ Layer 10 │ ╳ │ │ ├─────────────────────────┤ ├─────────────────────────┤ │ Layer 11 │ ──► │ Layer 3 ← L11 │ └────────────┬────────────┘ └────────────┬────────────┘ │ │ ┌────────────┴────────────┐ ┌────────────┴────────────┐ │ Mean Pooling │ │ Mean Pooling │ │ → 384d embedding │ │ → 384d embedding │ └─────────────────────────┘ └─────────────────────────┘ Size: 448.0MB (FP32) → 84.6MB (FP32) Params: 117,451,392 → 22,164,480 Reduction: 81.1% ============================================================== ``` ## Quick Start ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer("L4_uniform_distilled", trust_remote_code=True) sentences = [ "Hello, how are you?", "안녕하세요", "Bonjour, comment allez-vous?", ] embeddings = model.encode(sentences) print(embeddings.shape) # (3, 384) ``` ## Training ### Stage 1: Layer Pruning - Teacher: `sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2` (12 layers, 384d) - Selected layers: `[0, 4, 7, 11]` (4 layers, evenly spaced (compact)) - Vocabulary pruning applied ### Stage 2: Knowledge Distillation - **Method**: MSE + Cosine Similarity loss - **Data**: MTEB Classification/Clustering/STS task datasets - **Optimizer**: AdamW (lr=2e-5, weight_decay=0.01) - **Schedule**: Cosine annealing over 3 epochs ## Supported Languages (18) ko, en, ja, zh, es, fr, de, pt, it, ru, ar, hi, th, vi, id, tr, nl, pl