--- language: - ko license: apache-2.0 library_name: sentence-transformers pipeline_tag: sentence-similarity tags: - sentence-transformers - sentence-similarity - feature-extraction - static-embedding - model2vec - korean - ko - matryoshka datasets: - kakaobrain/kor_nli - mteb/KorSTS - klue/klue - Helsinki-NLP/opus-100 base_model: klue/roberta-base --- # kor-static-embedding-64 한국어 특화 **초경량 Static Embedding** 모델 — **9MB**, **64차원**. [kekeappa/kor-static-embedding-512](https://huggingface.co/kekeappa/kor-static-embedding-512)를 Matryoshka 학습으로 만들고 **64차원으로 잘라낸 변종**입니다. 같은 모델 패밀리에 4개 차원 존재 — 용도에 맞게 선택: | 차원 | 크기 | 용도 | |---:|---:|---| | **[64](https://huggingface.co/kekeappa/kor-static-embedding-64)** | 9MB | 🌐 브라우저 · 모바일 · 엣지 | | **[128](https://huggingface.co/kekeappa/kor-static-embedding-128)** | 17MB | ⚡ 가벼운 검색·분류 | | **[256](https://huggingface.co/kekeappa/kor-static-embedding-256)** | 34MB | ⚖️ 가성비 | | **[512](https://huggingface.co/kekeappa/kor-static-embedding-512)** | 68MB | 🎯 최고 정확도 | ## 성능 (KorSTS / KLUE-STS) | 벤치마크 | Pearson | **Spearman** | |---|---:|---:| | KorSTS-test | 0.7382 | **0.7337** | | KorSTS-valid | — | **0.7885** | | KLUE-STS-val | — | **0.6582** | ## 사용 ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer("kekeappa/kor-static-embedding-64") emb = model.encode(["한국어 문장", "임베딩 테스트"], normalize_embeddings=True) print(emb.shape) # (2, 64) ``` ## 특징 - **아키텍처**: StaticEmbedding (model2vec 계열) — 트랜스포머 attention 없음 - **추론**: CPU 최적, GPU 불필요 - **속도**: 단일 쿼리 < 1ms (브라우저에서도 빠름) - **한영 호환**: cross-lingual 학습됨 — 한국어 쿼리로 영어 문서 검색 가능 ## 학습 방법 4-stage 학습: 1. **Distillation 초기화**: `BM-K/KoSimCSE-roberta-multitask` teacher의 vocab 임베딩 → PCA + Zipf weighting 2. **KorNLI MNRL**: `kakaobrain/kor_nli` (multi_nli + snli) 277K triplet 3. **Cross-lingual MNRL**: OPUS-100 ko-en parallel 200K pair 4. **Matryoshka regression**: KorSTS + KLUE-STS + NLLB로 번역한 영어 STS-B - 64/128/256/512 차원 동시 최적화 (`MatryoshkaLoss`) 학습 코드: https://github.com/johunsang/kor-static-embedding-512 ## 라이선스 Apache 2.0