/ Модель

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

Контекст
514 токенов
Параметры
138 млн
Архитектура
roberta · dense
Опубликована
28 фев 2023

KoDiffCSE-RoBERTa

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

Модель на основе RoBERTa извлекает эмбеддинги корейских предложений для поиска и сравнения текстов по смыслу.

187скачиваний за 30 дней4лайкавеса обновлены30 авг 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

KoDiffCSE-RoBERTa — модель BM-K для получения векторных представлений корейских предложений. Она основана на архитектуре RoBERTa и предназначена для извлечения признаков текста и сравнения семантической близости предложений. В README проект описан как реализация Difference-based Contrastive Learning для корейских эмбеддингов; приведены эксперименты на wiki-корпусе и оценка на KorSTS.

Модель содержит 137,8 млн параметров и поддерживает контекст до 514 токенов. Её можно применять для поиска семантически похожих предложений, кластеризации и других задач, где нужны эмбеддинги корейского текста. README приводит результаты для семейства KoSRoBERTa, но не позволяет однозначно связать конкретные значения таблицы с этим репозиторием. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Ориентирована на корейский текст; перенос качества на другие языки не подтверждён. В README нет однозначно привязанных к этому репозиторию итоговых метрик.

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

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

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

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

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

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

Открыть на Hugging Face

KoDiffCSE

Difference-based Contrastive Learning for Korean Sentence Embeddings

Quick tour

import torch
from transformers import AutoModel, AutoTokenizer

def cal_score(a, b):
    if len(a.shape) == 1: a = a.unsqueeze(0)
    if len(b.shape) == 1: b = b.unsqueeze(0)

    a_norm = a / a.norm(dim=1)[:, None]
    b_norm = b / b.norm(dim=1)[:, None]
    return torch.mm(a_norm, b_norm.transpose(0, 1)) * 100

model = AutoModel.from_pretrained('BM-K/KoDiffCSE-RoBERTa')
tokenizer = AutoTokenizer.from_pretrained('BM-K/KoDiffCSE-RoBERTa')

sentences = ['치타가 들판을 가로 질러 먹이를 쫓는다.',
             '치타 한 마리가 먹이 뒤에서 달리고 있다.',
             '원숭이 한 마리가 드럼을 연주한다.']

inputs = tokenizer(sentences, padding=True, truncation=True, return_tensors="pt")
embeddings, _ = model(**inputs, return_dict=False)

score01 = cal_score(embeddings[0][0], embeddings[1][0])  # 84.56
# '치타가 들판을 가로 질러 먹이를 쫓는다.' @ '치타 한 마리가 먹이 뒤에서 달리고 있다.'
score02 = cal_score(embeddings[0][0], embeddings[2][0])  # 48.06
# '치타가 들판을 가로 질러 먹이를 쫓는다.' @ '원숭이 한 마리가 드럼을 연주한다.'

Setups

Python Pytorch

Encoder Models

Baseline encoders used for korean sentence embedding - KLUE-PLMs

ModelEmbedding sizeHidden size# Layers# Heads
KLUE-BERT-base7687681212
KLUE-RoBERTa-base7687681212

Warning Large pre-trained models need a lot of GPU memory to train

Datasets

The data must exist in the "--path_to_data" folder

Training - unsupervised

python main.py \
    --model klue/roberta-base \
    --generator_name klue/roberta-small \
    --multi_gpu True \
    --train True \
    --test False \
    --max_len 64 \
    --batch_size 256 \
    --epochs 1 \
    --eval_steps 125 \
    --lr 0.00005 \
    --masking_ratio 0.15 \
    --lambda_weight 0.005 \
    --warmup_ratio 0.05 \
    --temperature 0.05 \
    --path_to_data Dataset/ \
    --train_data wiki_corpus_examples.txt \
    --valid_data valid_sts.tsv \
    --ckpt best_checkpoint.pt
bash run_diff.sh

Note Using roberta as an encoder is beneficial for training because the KoBERT model cannot build a small-sized generator.

Evaluation

python main.py \
    --model klue/roberta-base \
    --generator klue/roberta-small \
    --train False \
    --test True \
    --max_len 64 \
    --batch_size 256 \
    --path_to_data Dataset/ \
    --test_data test_sts.tsv \
    --path_to_saved_model output/best_checkpoint.pt

Performance - unsupervised

ModelAverageCosine PearsonCosine SpearmanEuclidean PearsonEuclidean SpearmanManhattan PearsonManhattan SpearmanDot PearsonDot Spearman
KoSRoBERTa-base†N/AN/A48.96N/AN/AN/AN/AN/AN/A
KoSRoBERTa-large†N/AN/A51.35N/AN/AN/AN/AN/AN/A
KoSimCSE-BERT74.0874.9273.9874.1574.2274.0774.0774.1573.14
KoSimCSE-RoBERTa75.2775.9375.0075.2875.0175.1774.8375.9575.01
KoDiffCSE-RoBERTa77.1777.7376.9677.2176.8977.1176.8177.7476.97

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

References

@inproceedings{chuang2022diffcse,
   title={{DiffCSE}: Difference-based Contrastive Learning for Sentence Embeddings},
   author={Chuang, Yung-Sung and Dangovski, Rumen and Luo, Hongyin and Zhang, Yang and Chang, Shiyu and Soljacic, Marin and Li, Shang-Wen and Yih, Wen-tau and Kim, Yoon and Glass, James},
   booktitle={Annual Conference of the North American Chapter of the Association for Computational Linguistics (NAACL)},
   year={2022}
}
@misc{park2021klue,
      title={KLUE: Korean Language Understanding Evaluation},
      author={Sungjoon Park and Jihyung Moon and Sungdong Kim and Won Ik Cho and Jiyoon Han and Jangwon Park and Chisung Song and Junseong Kim and Yongsook Song and Taehwan Oh and Joohong Lee and Juhyun Oh and Sungwon Lyu and Younghoon Jeong and Inkwon Lee and Sangwoo Seo and Dongjun Lee and Hyunwoo Kim and Myeonghwa Lee and Seongbo Jang and Seungwon Do and Sunkyoung Kim and Kyungtae Lim and Jongwon Lee and Kyumin Park and Jamin Shin and Seonghyun Kim and Lucy Park and Alice Oh and Jungwoo Ha and Kyunghyun Cho},
      year={2021},
      eprint={2105.09680},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@article{ham2020kornli,
  title={KorNLI and KorSTS: New Benchmark Datasets for Korean Natural Language Understanding},
  author={Ham, Jiyeon and Choe, Yo Joong and Park, Kyubyong and Choi, Ilji and Soh, Hyungjoon},
  journal={arXiv preprint arXiv:2004.03289},
  year={2020}
}

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

Класс архитектуры
RobertaModel
Ревизия весов
089fea3

0 моделей