/ Модель

Характеристики

Контекст
8 192 токена
Параметры
159 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
ModernBERT-base
Библиотека
transformers
Опубликована
24 сен 2026

kiwi-coco-lm-base

Заполнение пропусковТекст → текст9 профессий

Корейско-английский ModernBERT-энкодер для извлечения признаков и дообучения под задачи понимания текста и поиска.

187скачиваний за 30 дней5лайковвеса обновлены26 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Kiwi COCO-LM base — модель-энкодер на архитектуре ModernBERT, разработанная автором репозитория на основе answerdotai/ModernBERT-base. Она продолжает предобучение исходных весов на корейских и английских корпусах с методом COCO-LM: обучение распознаванию заменённых токенов сочетается с восстановлением исходных токенов и контрастивным обучением последовательностей. Модель содержит около 159,4 млн параметров, использует словарь Byte-level BPE размером 64 000 токенов и принимает последовательности длиной до 8192 токенов.

Энкодер предназначен для извлечения признаков и получения представлений текста, а также для дообучения под классификацию, распознавание именованных сущностей, ответы на вопросы и поиск. В бенчмарках авторы сообщают о результатах, сопоставимых с моделями близкого размера на корейских KLUE и английских GLUE задачах. Хотя в метаданных указан тег feature-extraction, автор предупреждает, что модель не подходит для обычного заполнения пропусков через [MASK] и не предназначена для генерации текста; для таких сценариев требуется другая модель или дообучение под задачу. Для загрузки рекомендуется Transformers версии 5 или новее. Лицензия — Apache-2.0.

Сценарии применения

  • извлечение векторных представлений корейских и английских текстов
  • дообучение классификатора текстов
  • распознавание именованных сущностей в корейском тексте
  • ответы на вопросы по тексту после дообучения
  • поиск и сопоставление текстов после дообучения

Ограничения

Модель не предназначена для генерации текста и, по предупреждению автора, плохо подходит для заполнения пропусков стандартным [MASK] без дообучения. Качество за пределами корейского и английского не гарантируется; оценка в основном проводилась на коротких текстах, несмотря на контекст до 8192 токенов.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Kiwi COCO-LM

Table of Contents

  1. Model Summary
  2. Usage
  3. Evaluation
  4. Limitations
  5. Training
  6. License
  7. Citation

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 저장소를 참고하시기 바랍니다.

종류레이어 개수파라미터설명
Generator680MDiscriminator가 잘 학습할 수 있도록 그럴싸한 노이즈를 생성
Discriminator22161MGenerator가 생성한 노이즈들을 파악하고 그 안에서 원래 의미를 복원하도록 학습.

※ 파라미터 개수는 임베딩(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 기준)

ModelAvgYNATKLUE-STSKLUE-NLIKLUE-NERKLUE-REKLUE-MRC
MacroF1PearsonR / F1AccuracyEnt. MacroF1 / Chr. MacroF1MicroF1 / AUCEM / RougeW
Kiwi COCO-LM82.3486.1592.23 / 86.9087.8784.44 / 93.0265.36 / 69.6771.38 / 77.00
KLUE RoBERTa80.4485.9992.68 / 85.8985.6383.47 / 90.7763.11 / 63.5468.98 / 73.60
KoELECTRA77.7986.0593.13 / 86.2387.2385.59 / 92.6159.09 / 53.4455.18 / 61.68
A.X-Encoder82.9185.7792.58 / 86.3387.3787.63 / 93.2965.74 / 68.4074.97 / 79.70
KF-DeBERTa82.8986.5392.63 / 87.4587.7385.26 / 92.6267.16 / 70.3872.92 / 77.73
ModernBERT62.3677.0576.63 / 69.6267.4074.96 / 86.1539.40 / 29.1339.51 / 44.02
mmBERT79.3384.2490.51 / 81.5883.3085.49 / 92.4261.95 / 69.0665.26 / 70.65

GLUE 태스크 중 일부

ModelAvgSST2CoLAMRPCSTS-BQQPMNLIQNLIRTEWNLI
AccuracyMCCAccuracy / F1PearsonR / SpearmanRhoAccuracy / F1AccuracyAccuracyAccuracyAccuracy
Kiwi COCO-LM83.0293.0161.1690.93 / 93.4791.00 / 90.7991.12 / 88.1087.6493.2683.0356.34
KLUE RoBERTa70.7587.274.4583.82 / 88.2685.24 / 84.9289.44 / 85.5079.7886.7863.5456.34
KoELECTRA69.4981.6511.8486.03 / 89.6984.48 / 84.2486.35 / 80.8772.7384.9462.0956.34
A.X-Encoder74.9990.4824.2385.05 / 89.3287.55 / 87.4190.28 / 86.9083.5391.0566.0756.34
KF-DeBERTa71.3486.479.2585.05 / 89.5786.81 / 86.5488.34 / 84.1078.4688.1963.1856.34
ModernBERT80.3095.3061.9286.52 / 90.3090.00 / 89.9590.83 / 87.7488.7393.3466.4349.30
mmBERT81.0193.6960.7987.75 / 91.3890.81 / 90.7991.35 / 88.4287.4693.0680.1443.66

Tokenizer

위 표에 나온 모델들의 tokenizer가 한국어와 영어를 얼마나 효율적으로 처리하는지 비교했습니다. 한국어 샘플 문서(6,162 바이트, 534 어절)와 영어 샘플 문서(4,503 바이트, 693 단어)를 토큰화한 결과이며, 자세한 분석 방법과 전체 결과는 korean-tokenizer-analysis에서 확인할 수 있습니다.

Model방식전체 vocab 수한글 포함 vocab 수한국어 어절당 토큰 수한국어 토큰당 바이트 수영어 단어당 토큰 수드문 음절 16개 중 UNK 수
Kiwi COCO-LMByte-level BPE64,00026,858 (41.97%)2.374.871.310
KLUE RoBERTaWordPiece32,00028,445 (88.89%)2.414.792.5414
KoELECTRAWordPiece35,00029,021 (82.92%)2.444.732.4810
A.X-EncoderWordPiece50,00024,084 (48.17%)2.544.541.890
KF-DeBERTaWordPiece130,000104,522 (80.40%)2.195.261.6210
ModernBERTByte-level BPE50,36825 (0.05%)7.121.621.300
mmBERTBPE (byte fallback)256,0002,295 (0.90%)3.303.501.240
  • 토큰 수에는 [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 LengthBatch SizeTokens per Batch
8192432K
8192432K
8192432K
8192432K
4096832K
4096832K
20481632K
20481632K
10243232K
10243232K
5126432K
5126432K
25612832K
25612832K
12825632K
12825632K
총 16 스텝총 1024 배치총 512K 토큰

Training Data

LanguageDatasetTokens (1M)
Korean한국어 위키백과601.4
KoreanKcBERT 댓글 데이터2747.8
Korean한국어 웹 커뮤니티 댓글133.7
KoreanKoreascience.kr 초록 말뭉치214.9
Korean나무위키1149.8
KoreanAIHub 대규모 구매도서 말뭉치1118.4
KoreanAIHub 전문분야 말뭉치1608.4
KoreanAIHub 뉴스 말뭉치439.8
KoreanAIHub 대화 말뭉치71.4
KoreanNIK 구어 말뭉치244.7
KoreanNIK 문어 말뭉치1452.2
KoreanNIK 신문 말뭉치2280.2
KoreanNIK 온라인 게시자료 말뭉치80.4
-Total12143.3
LanguageDatasetTokens (1M)
EnglishEnglish Wikipedia8191.2
MultilingualFLAN Zero-shot (Train Set, Random Sampled)6833.1
-Total15024.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}}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
ModernBertForMaskedLM
Ревизия весов
1159dd6

0 моделей