/ Модель

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

Контекст
8 192 токена
Параметры
186 млн
Архитектура
modernbert · dense
Базовая модель
KoModernBERT-base-mlm_v02
Библиотека
sentence-transformers
Опубликована
8 янв 2025

KoModernBERT_SBERT_compare_mlmlv5

ЭмбеддингиТекст → embedding7 профессий

Корейская Sentence Transformers-модель, превращающая предложения и абзацы в векторы для семантического поиска и сравнения текстов.

70скачиваний за 30 дней0лайковвеса обновлены8 янв 2025

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

x2bee/KoModernBERT_SBERT_compare_mlmlv5 — модель Sentence Transformers, дообученная разработчиком x2bee на базе x2bee/KoModernBERT-base-mlm_v02 на корейском NLI-датасете. Она преобразует предложения и абзацы в плотные векторы размерностью 768 и предназначена для оценки семантического сходства, поиска по смыслу, поиска перефразировок, кластеризации и классификации текста. Сходство между векторами оценивается косинусной мерой. Архитектура основана на ModernBERT, число параметров — 185,7 млн; метаданные указывают контекст до 8192 токенов, тогда как README задаёт максимальную длину последовательности 512 токенов.

Модель рассчитана прежде всего на корейский язык. В README приведены результаты оценки сходства на sts_dev: коэффициент корреляции Спирмена для косинусного сходства — 0,6328. Модель принимает текст и выдаёт векторы; качество для языков помимо корейского не подтверждено приведёнными данными. Лицензия в предоставленных сведениях не указана.

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

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

Ограничения

В README указана максимальная длина последовательности 512 токенов, тогда как метаданные указывают контекст 8192 токена. Качество для языков помимо корейского не подтверждено приведёнными сведениями; лицензия в доступных данных не указана.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on x2bee/KoModernBERT-base-mlm_v02

This is a sentence-transformers model finetuned from x2bee/KoModernBERT-base-mlm_v02 on the korean_nli_dataset dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: ModernBertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': True, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Dense({'in_features': 768, 'out_features': 768, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("x2bee/KoModernBERT_SBERT_compare_mlmlv5")
# Run inference
sentences = [
    '한 여자와 소년이 경찰 오토바이에 앉아 있다.',
    '여자와 소년이 밖에 있다.',
    '한 남자가 물 위에 밧줄을 매고 있다.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

MetricValue
pearson_cosine0.6374
spearman_cosine0.6328
pearson_euclidean0.6327
spearman_euclidean0.6122
pearson_manhattan0.6346
spearman_manhattan0.6154
pearson_dot0.5941
spearman_dot0.5742
pearson_max0.6374
spearman_max0.6328

Training Details

Training Dataset

korean_nli_dataset

  • Dataset: korean_nli_dataset at 51cc968
  • Size: 550,152 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 8 tokensmean: 21.76 tokensmax: 76 tokensmin: 4 tokensmean: 14.36 tokensmax: 44 tokensmin: 0.0mean: 0.49max: 1.0
  • Samples:
    sentence1sentence2score
    몸에 맞지 않는 노란색 셔츠와 파란색 플래드 스커트를 입은 나이든 여성이 두 개의 통 옆에 앉아 있다.여자가 역기를 들어올리고 있다.0.0
    갈색 코트를 입은 선글라스를 쓴 한 남성이 담배를 피우며 손님들이 길거리 스탠드에서 물건을 구입하자 코를 긁는다.갈색 코트를 입은 선글라스를 쓴 청년이 담배를 피우며 손님들이 스테이트 스탠드에서 구매하고 있을 때 코를 긁는다.0.5
    소녀들은 물을 뿌리며 놀면서 킥킥 웃는다.수도 본관이 고장나서 큰길이 범람했다.0.0
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

korean_nli_dataset

  • Dataset: korean_nli_dataset at 51cc968
  • Size: 550,152 evaluation samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 4 tokensmean: 21.88 tokensmax: 76 tokensmin: 5 tokensmean: 14.14 tokensmax: 38 tokensmin: 0.0mean: 0.52max: 1.0
  • Samples:
    sentence1sentence2score
    한 역사학자와 그의 친구는 연구를 위해 더 많은 화석을 찾기 위해 광산을 파고 있다.역사가는 공부를 위해 친구와 함께 땅을 파고 있다.0.5
    소년은 회전목마에 도움을 받는다.소년이 당나귀를 타고 있다.0.0
    세탁실에서 사색적인 포즈를 취하고 있는 남자.한 남자가 파티오 밖에 있다.0.0
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • gradient_accumulation_steps: 2
  • learning_rate: 1e-05
  • num_train_epochs: 2
  • warmup_ratio: 0.3
  • push_to_hub: True
  • hub_model_id: x2bee/KoModernBERT_SBERT_compare_mlmlv5
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 2
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 1e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 2
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.3
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: True
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: True
  • resume_from_checkpoint: None
  • hub_model_id: x2bee/KoModernBERT_SBERT_compare_mlmlv5
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining LossValidation Losssts_dev_spearman_max
00--0.3994
0.09801000.3216--
0.19602000.2019--
0.29403000.1451--
0.39204000.1327--
0.49005000.1231--
0.58796000.1138--
0.68597000.1091--
0.78398000.106--
0.88199000.1047--
0.979910000.1029--
1.01021-0.10030.6352
1.077411000.0999--
1.175412000.0994--
1.273413000.0989--
1.371414000.0974--
1.469415000.0975--
1.567416000.0945--
1.665417000.0933--
1.763418000.0922--
1.861319000.0928--
1.959320000.0928--
1.99852040-0.09550.6328

Framework Versions

  • Python: 3.11.10
  • Sentence Transformers: 3.3.1
  • Transformers: 4.48.0.dev0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.2.1
  • Datasets: 3.2.0
  • Tokenizers: 0.21.0

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
ModernBertModel
Ревизия весов
badfcff

0 моделей