Instructions to use kiwi-farm/kiwi-coco-lm-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use kiwi-farm/kiwi-coco-lm-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="kiwi-farm/kiwi-coco-lm-base")# Load model directly from transformers import AutoTokenizer, AutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("kiwi-farm/kiwi-coco-lm-base") model = AutoModelForMaskedLM.from_pretrained("kiwi-farm/kiwi-coco-lm-base", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Kiwi COCO-LM
Table of Contents
Model Summary
Kiwi COCO-LM์ ModernBERT-base๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๊ตญ์ดยท์์ด ์ธ์ฝ๋ ๋ชจ๋ธ๋ก, ์ต๋ 8192 ํ ํฐ ๊ธธ์ด์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ModernBERT-base์ ์ดํ์์ ์ฌ์ฉ ๋น๋๊ฐ ๋ฎ์ ๋ค๊ตญ์ด ํ ํฐ์ ๋์ด๋ด๊ณ ๊ทธ ์๋ฆฌ์ ํ๊ตญ์ด ํ ํฐ์ ์ถ๊ฐํ ๋ค, ๊ธฐ์กด ๊ฐ์ค์น๋ฅผ ์ด์ด๋ฐ์ ํ๊ตญ์ดยท์์ด ๋ง๋ญ์น๋ก ์ถ๊ฐ ์ฌ์ ํ์ต์ ์งํํ์ต๋๋ค.
์ถ๊ฐ ์ฌ์ ํ์ต์๋ COCO-LM์ ๋ฐฉ๋ฒ๋ก ์ ์ ์ฉํ์ต๋๋ค. ELECTRA์ Replaced Token Detection(RTD)์ ๊ฐ ํ ํฐ์ด ์นํ๋์๋์ง ์ฌ๋ถ๋ง ํ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ง๋ญ์น๋ก๋ถํฐ ์ป๋ ํ์ต ์ ํธ๊ฐ ์ ํ์ ์ ๋๋ค. COCO-LM์ ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์นํ ์ฌ๋ถ ํ๋ณ๊ณผ ํจ๊ป ์๋ ํ ํฐ์ ๋ณต์ํ๋ Corrective Language Modeling(CLM)์ผ๋ก ํ ํฐ ์์ค์ ํ์ต์ ๊ฐํํ๊ณ , Sequence Contrastive Learning(SCL)์ผ๋ก ์ํ์ค ์์ค์ ํํ๋ ํจ๊ป ํ์ตํฉ๋๋ค. ModernBERT์ ์ด ํ์ต ๋ฐฉ๋ฒ๋ก ์ ์ ์ฉํ ๊ฒฐ๊ณผ Kiwi COCO-LM์ ํ๊ตญ์ด(KLUE)์ ์์ด(GLUE) ๋ฒค์น๋งํฌ ๋ชจ๋์์ ๋น์ทํ ๊ท๋ชจ์ ๋ชจ๋ธ๊ณผ ๊ฒฌ์ค ๋งํ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค(Evaluation ์ฐธ๊ณ ).
์ด ์ ์ฅ์๋ Kiwi COCO-LM์ Discriminator๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ Discriminator๋ฅผ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์ ๋ฏธ์ธ์กฐ์ ํ์ฌ ์ฌ์ฉํ์ง๋ง, Generator๊ฐ ํ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด Kiwi COCO-LM Generator ์ ์ฅ์๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
| ์ข ๋ฅ | ๋ ์ด์ด ๊ฐ์ | ํ๋ผ๋ฏธํฐ | ์ค๋ช |
|---|---|---|---|
| Generator | 6 | 80M | Discriminator๊ฐ ์ ํ์ตํ ์ ์๋๋ก ๊ทธ๋ด์ธํ ๋ ธ์ด์ฆ๋ฅผ ์์ฑ |
| Discriminator | 22 | 161M | Generator๊ฐ ์์ฑํ ๋ ธ์ด์ฆ๋ค์ ํ์ ํ๊ณ ๊ทธ ์์์ ์๋ ์๋ฏธ๋ฅผ ๋ณต์ํ๋๋ก ํ์ต. |
โป ํ๋ผ๋ฏธํฐ ๊ฐ์๋ ์๋ฒ ๋ฉ(64k ร 768, ์ฝ 49M)์ ํฌํจํ ๊ฐ์ ๋๋ค. Discriminator์ ํ๋ผ๋ฏธํฐ ๊ฐ์์๋ ์ฌ์ ํ์ต์๋ง ์ฌ์ฉ๋๋ RTD/SCL ํค๋(์ฝ 1.3M)๋ ํฌํจ๋์ด ์์ต๋๋ค.
Usage
์ด ๋ชจ๋ธ์ transformers v5 ์ด์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. (ํ ํฌ๋์ด์ ์ค์ ์ด v5 ํ์์ผ๋ก ์ ์ฅ๋์ด ์์ด v4.x์์๋ AutoTokenizer ๋ก๋ฉ์ด ์คํจํ ์ ์์ต๋๋ค.)
pip install -U "transformers>=5.0.0"
์๋ฒ ๋ฉ ์ถ์ถ
import torch
from transformers import AutoTokenizer, AutoModel
model_id = "kiwi-farm/kiwi-coco-lm-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id)
inputs = tokenizer(["ํค์๋ ํ๊ตญ์ด ํํ์ ๋ถ์๊ธฐ์
๋๋ค.", "Kiwi is a Korean morphological analyzer."], padding=True, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
cls_embeddings = outputs.last_hidden_state[:, 0] # [CLS] ํ ํฐ ์๋ฒ ๋ฉ
๋ค์ด์คํธ๋ฆผ ํ์คํฌ ๋ฏธ์ธ์กฐ์
๋ถ๋ฅ, ๊ฐ์ฒด๋ช ์ธ์, ์ง์์๋ต, ๊ฒ์ ๋ฑ์ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์๋ ์ผ๋ฐ์ ์ธ BERT ๊ณ์ด ๋ชจ๋ธ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ฏธ์ธ์กฐ์ ํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("kiwi-farm/kiwi-coco-lm-base", num_labels=7)
๋ชจ๋ธ์ ๋ถ๋ฌ์ฌ ๋ rtd_head, scl_head ๋ฑ ์ฌ์ ํ์ต์ฉ ํค๋์ ๊ฐ์ค์น๊ฐ ์ฌ์ฉ๋์ง ์๋๋ค(UNEXPECTED)๋ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋ ์ ์๋๋ฐ, ์ด๋ COCO-LM ์ฌ์ ํ์ต์๋ง ์ฐ์ด๋ ๋ณด์กฐ ํค๋์ด๋ฏ๋ก ๋ฌด์ํด๋ ๋ฉ๋๋ค.
โ ๏ธ fill-mask ์ฌ์ฉ ๊ด๋ จ ์ฃผ์: ์ด ๋ชจ๋ธ์ COCO-LM ๋ฐฉ์์ผ๋ก ํ์ต๋์๊ธฐ ๋๋ฌธ์, ๋ฉ์ธ ๋ชจ๋ธ์ [MASK] ํ ํฐ์ด ์๋๋ผ Generator๊ฐ ์นํํ ํ ํฐ์ด ์์ธ ์
๋ ฅ์ ๋ฐ์ ์๋ ํ ํฐ์ ๋ณต์(Corrective LM)ํ๋๋ก ํ์ต๋์์ต๋๋ค. ๋ฐ๋ผ์ fill-mask ํ์ดํ๋ผ์ธ์ [MASK] ํ ํฐ์ ๋ฃ์ด ๋น์นธ์ ์ฑ์ฐ๋ ์ฉ๋๋ก๋ ์ ํฉํ์ง ์์ผ๋ฉฐ, ๋ฏธ์ธ์กฐ์ ํ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
โ ๏ธ ModernBERT์ ์ํคํ ์ฒ๋ Flash Attention 2์์ ํจ๊ณผ์ ์ผ๋ก ๋์ํ๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋์ ๊ฐ์ด Flash Attention์ ์ค์นํ ๋ค ์ฌ์ฉํ๋๊ฑธ ๊ถ์ฅํฉ๋๋ค:
pip install flash-attn
Evaluation
KLUE ํ์คํฌ ์ค ์ผ๋ถ(๋ชจ๋ธ ํฌ๊ธฐ Base ๊ธฐ์ค)
| Model | Avg | YNAT | KLUE-STS | KLUE-NLI | KLUE-NER | KLUE-RE | KLUE-MRC |
|---|---|---|---|---|---|---|---|
| MacroF1 | PearsonR / F1 | Accuracy | Ent. MacroF1 / Chr. MacroF1 | MicroF1 / AUC | EM / RougeW | ||
| Kiwi COCO-LM | 82.34 | 86.15 | 92.23 / 86.90 | 87.87 | 84.44 / 93.02 | 65.36 / 69.67 | 71.38 / 77.00 |
| KLUE RoBERTa | 80.44 | 85.99 | 92.68 / 85.89 | 85.63 | 83.47 / 90.77 | 63.11 / 63.54 | 68.98 / 73.60 |
| KoELECTRA | 77.79 | 86.05 | 93.13 / 86.23 | 87.23 | 85.59 / 92.61 | 59.09 / 53.44 | 55.18 / 61.68 |
| A.X-Encoder | 82.91 | 85.77 | 92.58 / 86.33 | 87.37 | 87.63 / 93.29 | 65.74 / 68.40 | 74.97 / 79.70 |
| KF-DeBERTa | 82.89 | 86.53 | 92.63 / 87.45 | 87.73 | 85.26 / 92.62 | 67.16 / 70.38 | 72.92 / 77.73 |
| ModernBERT | 62.36 | 77.05 | 76.63 / 69.62 | 67.40 | 74.96 / 86.15 | 39.40 / 29.13 | 39.51 / 44.02 |
| mmBERT | 79.33 | 84.24 | 90.51 / 81.58 | 83.30 | 85.49 / 92.42 | 61.95 / 69.06 | 65.26 / 70.65 |
GLUE ํ์คํฌ ์ค ์ผ๋ถ
| Model | Avg | SST2 | CoLA | MRPC | STS-B | QQP | MNLI | QNLI | RTE | WNLI |
|---|---|---|---|---|---|---|---|---|---|---|
| Accuracy | MCC | Accuracy / F1 | PearsonR / SpearmanRho | Accuracy / F1 | Accuracy | Accuracy | Accuracy | Accuracy | ||
| Kiwi COCO-LM | 83.02 | 93.01 | 61.16 | 90.93 / 93.47 | 91.00 / 90.79 | 91.12 / 88.10 | 87.64 | 93.26 | 83.03 | 56.34 |
| KLUE RoBERTa | 70.75 | 87.27 | 4.45 | 83.82 / 88.26 | 85.24 / 84.92 | 89.44 / 85.50 | 79.78 | 86.78 | 63.54 | 56.34 |
| KoELECTRA | 69.49 | 81.65 | 11.84 | 86.03 / 89.69 | 84.48 / 84.24 | 86.35 / 80.87 | 72.73 | 84.94 | 62.09 | 56.34 |
| A.X-Encoder | 74.99 | 90.48 | 24.23 | 85.05 / 89.32 | 87.55 / 87.41 | 90.28 / 86.90 | 83.53 | 91.05 | 66.07 | 56.34 |
| KF-DeBERTa | 71.34 | 86.47 | 9.25 | 85.05 / 89.57 | 86.81 / 86.54 | 88.34 / 84.10 | 78.46 | 88.19 | 63.18 | 56.34 |
| ModernBERT | 80.30 | 95.30 | 61.92 | 86.52 / 90.30 | 90.00 / 89.95 | 90.83 / 87.74 | 88.73 | 93.34 | 66.43 | 49.30 |
| mmBERT | 81.01 | 93.69 | 60.79 | 87.75 / 91.38 | 90.81 / 90.79 | 91.35 / 88.42 | 87.46 | 93.06 | 80.14 | 43.66 |
Tokenizer
์ ํ์ ๋์จ ๋ชจ๋ธ๋ค์ tokenizer๊ฐ ํ๊ตญ์ด์ ์์ด๋ฅผ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋์ง ๋น๊ตํ์ต๋๋ค. ํ๊ตญ์ด ์ํ ๋ฌธ์(6,162 ๋ฐ์ดํธ, 534 ์ด์ )์ ์์ด ์ํ ๋ฌธ์(4,503 ๋ฐ์ดํธ, 693 ๋จ์ด)๋ฅผ ํ ํฐํํ ๊ฒฐ๊ณผ์ด๋ฉฐ, ์์ธํ ๋ถ์ ๋ฐฉ๋ฒ๊ณผ ์ ์ฒด ๊ฒฐ๊ณผ๋ korean-tokenizer-analysis์์ ํ์ธํ ์ ์์ต๋๋ค.
| Model | ๋ฐฉ์ | ์ ์ฒด vocab ์ | ํ๊ธ ํฌํจ vocab ์ | ํ๊ตญ์ด ์ด์ ๋น ํ ํฐ ์ | ํ๊ตญ์ด ํ ํฐ๋น ๋ฐ์ดํธ ์ | ์์ด ๋จ์ด๋น ํ ํฐ ์ | ๋๋ฌธ ์์ 16๊ฐ ์ค UNK ์ |
|---|---|---|---|---|---|---|---|
| Kiwi COCO-LM | Byte-level BPE | 64,000 | 26,858 (41.97%) | 2.37 | 4.87 | 1.31 | 0 |
| KLUE RoBERTa | WordPiece | 32,000 | 28,445 (88.89%) | 2.41 | 4.79 | 2.54 | 14 |
| KoELECTRA | WordPiece | 35,000 | 29,021 (82.92%) | 2.44 | 4.73 | 2.48 | 10 |
| A.X-Encoder | WordPiece | 50,000 | 24,084 (48.17%) | 2.54 | 4.54 | 1.89 | 0 |
| KF-DeBERTa | WordPiece | 130,000 | 104,522 (80.40%) | 2.19 | 5.26 | 1.62 | 10 |
| ModernBERT | Byte-level BPE | 50,368 | 25 (0.05%) | 7.12 | 1.62 | 1.30 | 0 |
| mmBERT | BPE (byte fallback) | 256,000 | 2,295 (0.90%) | 3.30 | 3.50 | 1.24 | 0 |
- ํ ํฐ ์์๋ [CLS], [SEP] ๋ฑ ํน์ ํ ํฐ์ ํฌํจํ์ง ์์์ต๋๋ค. ์ด์ (๋จ์ด)์ ๊ณต๋ฐฑ ๋ฌธ์๋ก ๋๋ ๋จ์์ ๋๋ค.
- ๋๋ฌธ ์์ 16๊ฐ ์ค UNK ์:
๊ฑ,๊ฒผ,๊ธ,๊น,๋,๋ ,๋ข,๋ขจ,๋ถด,๋ปค,์,์ฌ,์นข,ํ ผ,ํ,ํฅ์ฒ๋ผ ์ ์ฐ์ด์ง ์๋ ํ๊ธ ์์ 16๊ฐ๋ฅผ ๊ฐ๊ฐ ํ ํฐํํ์ ๋[UNK]๋ก ์ฒ๋ฆฌ๋์ด ์๋ ๊ธ์๋ฅผ ์์ด๋ฒ๋ฆฐ ์์ ์์ ๋๋ค.
Kiwi COCO-LM์ tokenizer๋ ํ๊ตญ์ด ์ด์ ๋น 2.37ํ ํฐ์ผ๋ก, ํ๊ตญ์ด ์ ์ฉ WordPiece tokenizer์ธ KLUE RoBERTa(2.41), KoELECTRA(2.44)์ ๋น์ทํ๊ฑฐ๋ ์กฐ๊ธ ๋ ํจ์จ์ ์
๋๋ค. ๋์์ ์์ด๋ ๋จ์ด๋น 1.31ํ ํฐ์ผ๋ก, ์๋ณธ์ธ ModernBERT(1.30)์ ๊ฑฐ์ ๊ฐ์ ํจ์จ์ ์ ์งํฉ๋๋ค. ํ๊ตญ์ด ํจ์จ์ด ๊ฐ์ฅ ์ข์ KF-DeBERTa(2.19)๋ vocab ํฌ๊ธฐ๊ฐ Kiwi COCO-LM์ 2๋ฐฐ๊ฐ ๋๊ณ ์์ด ํจ์จ์ ๋จ์ด์ง๋๋ค(1.62). ๋ํ Kiwi COCO-LM์ tokenizer๋ Byte-level BPE๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ WordPiece ๊ธฐ๋ฐ tokenizer์ ๋ฌ๋ฆฌ ์ด๋ค ๊ธ์๋ [UNK]๋ก ์ฒ๋ฆฌ๋์ง ์์ต๋๋ค.
ํํธ ModernBERT๋ ํ๊ธ vocab์ด 25๊ฐ๋ฟ์ด๋ผ ํ๊ตญ์ด๋ฅผ ๋๋ถ๋ถ UTF-8 ๋ฐ์ดํธ ๋จ์๋ก ์ชผ๊ฐ๋ฉฐ, ์ด์ ๋น 7.12ํ ํฐ์ผ๋ก Kiwi COCO-LM๋ณด๋ค ์ฝ 3๋ฐฐ ๋ง์ ํ ํฐ์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ 8192 ํ ํฐ ๊ธธ์ด ์์ ๋ด์ ์ ์๋ ํ๊ตญ์ด ํ ์คํธ ๋ถ๋์ด ๊ทธ๋งํผ ์ ๋ค๋ ๋ป์ ๋๋ค.
Limitations
- ํ๊ตญ์ด์ ์์ด ์์ฃผ๋ก ํ์ต๋์์ผ๋ฉฐ, ModernBERT-base์ ์ดํ ์ค ์ฌ์ฉ๋น๋๊ฐ ๋ฎ์ ์ธ๊ตญ์ด ํ ํฐ์ ์ ๊ฑฐํ์๊ธฐ ๋๋ฌธ์ ๊ทธ ์ธ ์ธ์ด์ ๋ํ ์ฑ๋ฅ์ ๋ณด์ฅ๋์ง ์์ต๋๋ค.
- ํ์ต ๋ฐ์ดํฐ์ ์น ์ปค๋ฎค๋ํฐ ๋๊ธ ๋ฑ ์ ์ ๋์ง ์์ ํ ์คํธ๊ฐ ํฌํจ๋์ด ์์ด, ๋ชจ๋ธ์ด ํ์ต ๋ฐ์ดํฐ์ ์กด์ฌํ๋ ํธํฅ์ด๋ ๋ถ์ ์ ํ ํํ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
- COCO-LM ๋ฐฉ์์ผ๋ก ํ์ต๋ ์ธ์ฝ๋ ๋ชจ๋ธ์ด๋ฏ๋ก ํ
์คํธ ์์ฑ์๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ,
[MASK]ํ ํฐ ๊ธฐ๋ฐ์ ๋น์นธ ์ฑ์ฐ๊ธฐ ์ฉ๋๋ก๋ ์ ํฉํ์ง ์์ต๋๋ค. ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์ ๋ฏธ์ธ์กฐ์ ํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. - ์ต๋ 8192 ํ ํฐ๊น์ง ์ ๋ ฅ ๊ฐ๋ฅํ์ง๋ง, ๋ฒค์น๋งํฌ ํ๊ฐ๋ ์ฃผ๋ก ์งง์ ๋ฌธ์ฅ/๋ฌธ๋จ ๋จ์ ํ์คํฌ์์ ์ด๋ฃจ์ด์ก์ต๋๋ค.
Training
- ์ํคํ ์ฒ: ModernBERT๋ฅผ ๊ทธ๋๋ก ์ฑ์ฉ
- ํ ํฌ๋์ด์ : ModernBERT-base์ ํ ํฌ๋์ด์ ์์ ์ฌ์ฉ๋น๋๊ฐ ์ ์ ์ธ๊ตญ์ด ํ ํฐ๋ค์ ๋์ด๋ด๊ณ ํ๊ตญ์ด ํ ํฐ์ ์ถ๊ฐํ์ฌ 64k ํฌ๊ธฐ์ Vocab์ ๊ตฌ์ฑ. ํ๊ตญ์ด ํ ํฐ์ ๊ฒฝ์ฐ kiwipiepy์์ ์ ๊ณตํ๋ ํํ์ ๊ฒฝ๊ณ๋ฅผ ๊ณ ๋ คํ Byte-level BPE tokenizer๋ฅผ ์ด์ฉํด ํ์ต
- ๊ฐ์ค์น ์ฌ์ฌ์ฉ: ModernBERT-base์ ๊ฐ์ค์น๋ฅผ ์ฌ์ฌ์ฉํ๊ณ ํ๊ตญ์ด & ์์ด ๋ง๋ญ์น๋ฅผ ์ถ๊ฐ๋ก ํ์ตํ๋ ๋ฐฉ์ ์ฌ์ฉ
- ํ๋์จ์ด: NVIDIA RTX 4070 Ti SUPER 1๋์์ ์ฝ 1239์๊ฐ(51์ผ) ํ์ต
- ํ์ต ์ต์ ํ: Muon Optimizer์ Stochastic Rounding์ ์ ์ฉํ์ฌ Weight, Activation, Gradient, Optimizer State๋ฅผ ๋ชจ๋ BF16 ํ์ ์ผ๋ก ํ์ต ์งํ. Liger Kernel๊ณผ Flash Attention 2๋ฅผ ์ ์ฉํ์ฌ ํ์ต ์๋ ์ต์ ํ.
- SCL ํ์ต ๋ฐฉ์ ๋ณ๊ฒฝ: COCO-LM์ Sequence Contrastive Learning(SCL)์ ์๋ณธ ์ํ์ค์ ์ผ๋ถ ๊ตฌ๊ฐ์ ์๋ผ๋ธ(crop) ์ํ์ค์ ์์ฑ๊ธฐ๊ฐ ํ ํฐ์ ์นํํ ์ํ์ค๋ฅผ positive ์์ผ๋ก, ๋ฐฐ์น ๋ด ๋ค๋ฅธ ์ํ์ค๋ฅผ negative๋ก ์ผ์ ๋ ์ํ์ค์ [CLS] ํํ์ด ๊ฐ๊น์์ง๋๋ก ํ์ตํ๋๋ฐ Kiwi COCO-LM์์๋ ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ์:
- whole-word crop: ์๋ธ์๋ ํ ํฐ ๋จ์๊ฐ ์๋๋ผ ๋จ์ด(์ด์ ) ๊ฒฝ๊ณ ๋จ์๋ก cropํ์ฌ ๋จ์ด๊ฐ ์ค๊ฐ์ ์๋ฆฌ์ง ์๋๋ก ํ์.
- ๊ธด ์ํ์ค์ ๊ตฌ๊ฐ crop: 1,024 ํ ํฐ๋ณด๋ค ๊ธด ์ํ์ค๋ ์ต๋ 1,024 ํ ํฐ ๊ธธ์ด์ ๊ตฌ๊ฐ์ ๋ฌด์์๋ก ๊ณ ๋ฅธ ๋ค ๊ทธ ์์์ cropํฉ๋๋ค. ๊ธด ์ํ์ค๋ฅผ ํต์งธ๋ก cropํ๋ฉด ๋ชจ๋ธ์ด ๋ด์ฉ ๋์ ์ํ์ค ๊ธธ์ด ์ ๋ณด๋ง์ผ๋ก positive ์์ ์ฐพ์๋ด๋ ์ง๋ฆ๊ธธ(shortcut)์ ํ์ตํ ์ ์๊ธฐ ๋๋ฌธ.
- crop ์ํ์ค์ stop-gradient ์ ์ฉ: crop ์ํ์ค๋ ๋น๊ต ๋์์ผ๋ก๋ง ์ฌ์ฉํ์ฌ forward๋ง ๊ณ์ฐํ๊ณ gradient๋ ํ๋ฆฌ์ง ์์. ๋ฐ๋ผ์ ๋ฐฐ์น ์ ์ฒด(1,024๊ฐ)์ crop ํํ์ activation์ ์ ์ฅํ์ง ์๊ณ ๋ฏธ๋ฆฌ ๊ณ์ฐํด ๋ ์ ์๊ณ , ๊ฐ micro step์ ์นํ ์ํ์ค๋ฅผ 1,024๊ฐ crop ํํ ์ ์ฒด์ ๋์กฐํ ์ ์์. ๋๋ถ์ GradCache ๊ฐ์ ๊ธฐ๋ฒ ์์ด๋ 16GB VRAM GPU 1๋์์ ๋ฐฐ์น ํฌ๊ธฐ 1,024 ์ด์์ ๋์กฐ ํ์ต์ด ๊ฐ๋ฅํ์.
- ๊ธธ์ด ํผํฉ ๋ฐฐ์น ๊ตฌ์ฑ: Gradient Accumulation์ 16์คํ ๋์ ์ ์ฉํ๋ ๊ฐ ์คํ ๋ณ๋ก Seq Length๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ์ฌ ๋ชจ๋ธ์ด ๋ค์ํ ๊ธธ์ด์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ณด๋๋ก ์ค๊ณํ์์. Optimizer 1ํ ์ ๋ฐ์ดํธ๋น ์ด 1024๊ฐ์ Sequence๋ฅผ ๋ณด๊ฒ ๋๋ฉฐ ์ค์ forward/backward ์ฐ์ฐ์ด ์งํ๋๋ ๊ฐ๊ฐ์ Micro ์คํ ๊ตฌ์ฑ์ ์๋์ชฝ์ ๊ฐ์ด ์ค์ ํ์์.
| Seq Length | Batch Size | Tokens per Batch |
|---|---|---|
| 8192 | 4 | 32K |
| 8192 | 4 | 32K |
| 8192 | 4 | 32K |
| 8192 | 4 | 32K |
| 4096 | 8 | 32K |
| 4096 | 8 | 32K |
| 2048 | 16 | 32K |
| 2048 | 16 | 32K |
| 1024 | 32 | 32K |
| 1024 | 32 | 32K |
| 512 | 64 | 32K |
| 512 | 64 | 32K |
| 256 | 128 | 32K |
| 256 | 128 | 32K |
| 128 | 256 | 32K |
| 128 | 256 | 32K |
| ์ด 16 ์คํ | ์ด 1024 ๋ฐฐ์น | ์ด 512K ํ ํฐ |
Training Data
| Language | Dataset | Tokens (1M) |
|---|---|---|
| Korean | ํ๊ตญ์ด ์ํค๋ฐฑ๊ณผ | 601.4 |
| Korean | KcBERT ๋๊ธ ๋ฐ์ดํฐ | 2747.8 |
| Korean | ํ๊ตญ์ด ์น ์ปค๋ฎค๋ํฐ ๋๊ธ | 133.7 |
| Korean | Koreascience.kr ์ด๋ก ๋ง๋ญ์น | 214.9 |
| Korean | ๋๋ฌด์ํค | 1149.8 |
| Korean | AIHub ๋๊ท๋ชจ ๊ตฌ๋งค๋์ ๋ง๋ญ์น | 1118.4 |
| Korean | AIHub ์ ๋ฌธ๋ถ์ผ ๋ง๋ญ์น | 1608.4 |
| Korean | AIHub ๋ด์ค ๋ง๋ญ์น | 439.8 |
| Korean | AIHub ๋ํ ๋ง๋ญ์น | 71.4 |
| Korean | NIK ๊ตฌ์ด ๋ง๋ญ์น | 244.7 |
| Korean | NIK ๋ฌธ์ด ๋ง๋ญ์น | 1452.2 |
| Korean | NIK ์ ๋ฌธ ๋ง๋ญ์น | 2280.2 |
| Korean | NIK ์จ๋ผ์ธ ๊ฒ์์๋ฃ ๋ง๋ญ์น | 80.4 |
| - | Total | 12143.3 |
| Language | Dataset | Tokens (1M) |
|---|---|---|
| English | English Wikipedia | 8191.2 |
| Multilingual | FLAN Zero-shot (Train Set, Random Sampled) | 6833.1 |
| - | Total | 15024.3 |
ํ์ต ๋ฐ์ดํฐ๋ ์ฝ 27.2B ํ ํฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๊ทธ ์ค ํ๊ตญ์ด ๋ฐ์ดํฐ๋ 12143.3M ํ ํฐ์, ์์ด(๋ฐ ๋ค๊ตญ์ด) ๋ฐ์ดํฐ๋ 15024.3M ํ ํฐ์ ์ฐจ์งํฉ๋๋ค. ํ์ต ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ด 5 epoch ๋ฐ๋ณตํ์ฌ ์ฝ 136B ํ ํฐ์ ํ์ตํ์ต๋๋ค. ๋จ ๋์ผํ ๋ง๋ญ์น๋ฅผ ๋ค์ ํ์ตํ๋๋ผ๋ ์ ๋ ฅ ์์ฒด๋ ๋ฌ๋ผ์ง๋๋ก ๋งค epoch๋ง๋ค random seed๋ฅผ ๋ค๋ฅด๊ฒ ์ฃผ์ด ๋ง์คํน์ด ์ ์ฉ๋๋ ํ ํฐ์ ๋ค๋ฅด๊ฒ ๋ง๋ค์์ต๋๋ค.
License
Apache 2.0 license
Citation
If you use Kiwi COCO-LM in your work, please cite:
@misc{kiwi-coco-lm-2026,
author = {Minchul Lee},
title = {Kiwi COCO-LM: A Korean-English Long-Context Encoder based on ModernBERT},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/kiwi-farm/kiwi-coco-lm-base}}
}
- Downloads last month
- 93
Model tree for kiwi-farm/kiwi-coco-lm-base
Base model
answerdotai/ModernBERT-base