/ Модель

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

Контекст
8 194 токена
Параметры
659 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Базовая модель
snowflake-arctic-embed-l-v2.0
Библиотека
sentence-transformers
Опубликована
7 мар 2025

snowflake-arctic-embed-l-v2.0-ko

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

Корейско-английская модель эмбеддингов для семантического поиска и сравнения текстов, дообученная на основе Snowflake Arctic Embed L v2.0.

125 тыс.скачиваний за 30 дней50лайковвеса обновлены16 окт 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,3819

    Общий результат 0,4169Общий результат 0,4125Общий результат 0,4095
    MTEB

    Публичная таблицаревизия совпадает

  • MIRACLReranking

    main_score

    Результат

    0,5848

    Общий результат 0,7163Общий результат 0,5389
    MTEB

    Публичная таблицаревизия совпадает

  • PawsXPairClassification

    main_score

    Результат

    0,5348

    Общий результат 0,6208
    MTEB

    Публичная таблицаревизия совпадает

  • BelebeleRetrieval

    main_score

    Результат

    0,9226

    MTEB

    Публичная таблицаревизия совпадает

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

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

Это дообученная модель Sentence Transformers, созданная автором dragonkue на основе Snowflake/snowflake-arctic-embed-l-v2.0 и дополнительно обученная на корейских данных для поиска по документам. Она преобразует предложения и абзацы в нормализованные плотные векторы размерностью 1024; для сравнения текстов используется косинусное сходство. Архитектура основана на XLM-RoBERTa с CLS-пулингом, а заявленная максимальная длина последовательности составляет 8192 токена.

Модель предназначена для семантического поиска и оценки сходства текстов на корейском и английском языках. Её можно использовать для поиска по документам, в том числе по запросам в разных формулировках и по содержимому таблиц Markdown; README приводит оценки на корейских наборах для поиска в медицинской, финансовой, юридической, государственной и других областях. Модель опубликована под лицензией Apache-2.0.

При этом обучение проводилось с длиной текста до 1300 токенов, поэтому качество поиска по существенно более длинным документам может снижаться; для длинных текстов README рекомендует рассмотреть альтернативы. Заявленная максимальная длина последовательности не гарантирует сохранения качества на всей этой длине.

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

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

Ограничения

Хотя максимальная длина последовательности заявлена как 8192 токена, модель обучалась с длиной до 1300 токенов; качество на более длинных документах может снижаться. В частности, README отмечает более слабый результат на MultiLongDocRetrieval по сравнению с рядом альтернатив.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on Snowflake/snowflake-arctic-embed-l-v2.0

This is a sentence-transformers model finetuned from Snowflake/snowflake-arctic-embed-l-v2.0 on the clustered datasets. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search.

The Snowflake/snowflake-arctic-embed-l-v2.0 model has been further trained with Korean data to enhance its performance in Korean retrieval tasks. It is a powerful model that achieves state-of-the-art (SOTA) performance across multiple retrieval benchmarks.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: Snowflake/snowflake-arctic-embed-l-v2.0
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Datasets:
    • AI Hub Dataset
      • 행정 문서 대상 기계 독해
      • 기계 독해
      • 뉴스 기사 기계독해
      • 도서 자료 기계독해
      • 숫자 연산 기계독해
      • 금융 법률 문서 기계독해
  • Language: Korean, English

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

Usage

First install the Sentence Transformers library and xformers library

pip install -U sentence-transformers
pip install xformers

Then you can load this model and run inference.

Using Sentence Transformers

from sentence_transformers import SentenceTransformer

# Load the model
# Please use bf16 when inferring with half precision
model_name = 'dragonkue/snowflake-arctic-embed-l-v2.0-ko'
model = SentenceTransformer(model_name)

# Define the queries and documents
queries = ['대한민국의 수도는 어디인가?', '한글을 만든 사람은 누구인가?']
documents = ['대한민국의 수도는 서울이다.', '한글은 세종대왕이 창제하였다.']

# Compute embeddings: use `prompt_name="query"` to encode queries!
query_embeddings = model.encode(queries, prompt_name="query") 
document_embeddings = model.encode(documents)

# Compute cosine similarity scores
scores = model.similarity(query_embeddings, document_embeddings)

# Output the results
for query, query_scores in zip(queries, scores):
    doc_score_pairs = list(zip(documents, query_scores))
    doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)
    print("Query:", query)
    for document, score in doc_score_pairs:
        print(score, document)

Using Huggingface Transformers

You can use the transformers package to use Snowflake's arctic-embed model, as shown below. For optimal retrieval quality, use the CLS token to embed each text portion and use the query prefix below (just on the query).

import torch
from transformers import AutoModel, AutoTokenizer

# Load the model
# Please use bf16 when inferring with half precision
model_name = 'dragonkue/snowflake-arctic-embed-l-v2.0-ko'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name, add_pooling_layer=False)
model.eval()

# Define the queries and documents
query_prefix = 'query: '
queries  = ['대한민국의 수도는 어디인가?', '한글을 만든 사람은 누구인가?']
queries_with_prefix = ["{}{}".format(query_prefix, i) for i in queries]
query_tokens = tokenizer(queries_with_prefix, padding=True, truncation=True, return_tensors='pt', max_length=8192)

documents = ['대한민국의 수도는 서울이다.', '한글은 세종대왕이 창제하였다.']
document_tokens = tokenizer(documents, padding=True, truncation=True, return_tensors='pt', max_length=8192)

# Compute token embeddings
with torch.no_grad():
    query_embeddings = model(**query_tokens)[0][:, 0]
    document_embeddings = model(**document_tokens)[0][:, 0]

# Normalize embeddings
query_embeddings = torch.nn.functional.normalize(query_embeddings, p=2, dim=1)
document_embeddings = torch.nn.functional.normalize(document_embeddings, p=2, dim=1)

scores = torch.mm(query_embeddings, document_embeddings.transpose(0, 1))

for query, query_scores in zip(queries, scores):
    doc_score_pairs = list(zip(documents, query_scores))
    doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)
    # Output passages & scores
    print("Query:", query)
    for document, score in doc_score_pairs:
        print(score, document)

Evaluation

Korean Retrieval Benchmark

  • Ko-StrategyQA: A Korean ODQA multi-hop retrieval dataset, translated from StrategyQA.
  • AutoRAGRetrieval: A Korean document retrieval dataset constructed by parsing PDFs from five domains: finance, public, medical, legal, and commerce.
  • MIRACLRetrieval: A Korean document retrieval dataset based on Wikipedia.
  • PublicHealthQA: A retrieval dataset focused on medical and public health domains in Korean.
  • BelebeleRetrieval: A Korean document retrieval dataset based on FLORES-200.
  • MrTidyRetrieval: A Wikipedia-based Korean document retrieval dataset.
  • MultiLongDocRetrieval: A long-document retrieval dataset covering various domains in Korean.
  • XPQARetrieval: A cross-domain Korean document retrieval dataset.

Metrics

  • Standard metric : NDCG@10

Information Retrieval

  • Achieves state-of-the-art (SOTA) performance across various benchmarks.
  • For each benchmark, the highest score is highlighted in bold, and the second-highest score is italicized.
ModelAverageMrTidyRetrievalMIRACLRetrievalXPQARetrievalBelebeleRetrievalPublicHealthQAAutoRAGRetrievalKo-StrategyQA
dragonkue/snowflake-arctic-embed-l-v2.0-ko0.7404330.571210.668460.44360.951770.833740.909270.80498
dragonkue/BGE-m3-ko0.7299930.609920.683310.381310.950270.815450.873790.7959
nlpai-lab/KURE-v10.7277390.590920.681570.381580.950190.819250.870760.7999
BAAI/bge-m30.7241690.647080.701460.360750.931640.804120.830080.79405
Snowflake/snowflake-arctic-embed-l-v2.00.7241040.590710.660770.430180.92710.816790.838630.80455
intfloat/multilingual-e5-large0.7216070.642110.664860.35710.944990.825340.813370.80348
nlpai-lab/KoE50.7113560.584110.623470.350860.942510.835070.843390.80008
BAAI/bge-multilingual-gemma20.7042740.475210.703150.374460.950010.871020.765350.79072
jinaai/jina-embeddings-v30.7013140.557590.637160.412720.912030.830590.761040.79807
SamilPwC-AXNode-GenAI/PwC-Embedding_expr0.6994830.566560.632140.363880.916690.834620.784930.79756
intfloat/multilingual-e5-large-instruct0.698370.528770.599140.397120.9360.849670.779960.79793
nomic-ai/nomic-embed-text-v2-moe0.6937730.537660.659130.368710.936360.784480.806820.76325
intfloat/multilingual-e5-base0.6894290.580820.62270.36070.928680.772030.797520.76355
intfloat/e5-mistral-7b-instruct0.6837340.524440.587090.391590.924030.887330.678490.79317
Alibaba-NLP/gte-Qwen2-7B-instruct0.6803230.465710.533750.378660.948080.858440.766820.8108
Qwen/Qwen3-Embedding-0.6B0.6762000.489870.600210.334400.916010.802900.824050.76596
Alibaba-NLP/gte-multilingual-base0.6637660.564640.626970.307020.87960.745840.771080.75121
openai/text-embedding-3-large0.6622390.447280.562480.374230.894510.856170.764660.73634
upskyy/bge-m3-korean0.65670.550110.598920.316950.87310.775590.729460.75277
Salesforce/SFR-Embedding-2_R0.655910.403470.557980.373710.917470.86050.707820.77042
ibm-granite/granite-embedding-278m-multilingual0.641935nan0.592160.230580.832310.776680.702260.71762
jhgan/ko-sroberta-multitask0.5263010.294750.366980.279610.816360.692120.583320.65097

Capabilities Beyond Benchmarks

This model is designed to handle various retrieval scenarios that are not directly measured in benchmarks:

  1. Supports phrase-based queries in addition to full-sentence queries.

    Example: "What products does Samsung sell?" or "Samsung's products"

  2. Trained to handle diverse query formats, regardless of phrasing variations.

    Example: "Tell me about Samsung.", "I'm curious about Samsung.", "What is Samsung?"

  3. Optimized for Markdown table search, allowing retrieval of answers embedded within tables when present in documents.

  4. Efficient clustering without hard negatives:

    • Samples within the same batch are clustered together.
    • Uses efficient embedding formation for clustering by truncating embeddings from the Snowflake/snowflake-arctic-embed-l-v2.0 model to 256 dimensions.
    • The clustering approach is inspired by the findings in the following papers:
      • Embedding And Clustering Your Data Can Improve Contrastive Pretraining
      • CONTEXTUAL DOCUMENT EMBEDDINGS
  5. Strong performance across different domains:

    • The Arctic-Embed 2.0: Multilingual Retrieval Without Compromise paper states:
      "While models like mE5, mGTE, and BGE-M3 excel on MIRACL, their performance on CLEF is notably weaker compared to ours and closed-source offerings, suggesting the potential of overfitting to MIRACL or its Wikipedia-based domain."
    • Based on my own experience, Snowflake/snowflake-arctic-embed-l-v2.0 has consistently outperformed BGE-M3 in different domains, further validating this observation.

Bias, Risks and Limitations

To prevent excessive GPU usage costs, the model was trained with a maximum sequence length of 1300 tokens. As a result, its performance may degrade on benchmarks like MultiLongDocRetrieval (MLDR).

The previous model, BGE-m3-ko, was trained with a token length of 1024, which imposed limitations on its MLDR benchmark performance.

In the case of snowflake-arctic-embed-l-v2.0-ko, if the document length exceeds 1300 tokens or approximately 2500 characters, it is recommended to consider the following models instead.

ModelMultiLongDocRetrieval
Alibaba-NLP/gte-multilingual-base/Alibaba-NLP/gte-multilingual-base0.48402
nlpai-lab/KURE-v1/nlpai-lab_KURE-v10.47528
dragonkue/snowflake-arctic-embed-l-v2.0-ko0.4459
BAAI/bge-m3/BAAI_bge-m30.43011
Snowflake/snowflake-arctic-embed-l-v2.00.40401
dragonkue/BGE-m3-ko/dragonkue_BGE-m3-ko0.40135
openai/text-embedding-3-large0.31108
BAAI/bge-multilingual-gemma20.31021
nlpai-lab/KoE50.30869
jinaai/jina-embeddings-v3/jinaai__jina-embeddings-v30.30512
Alibaba-NLP/gte-Qwen2-7B-instruct/Alibaba-NLP__gte-Qwen2-7B-instruct0.30313
intfloat/multilingual-e5-large-instruct/intfloat__multilingual-e5-large-instruct0.27973
nomic-ai/nomic-embed-text-v2-moe0.27135
intfloat/e5-mistral-7b-instruct/intfloat__e5-mistral-7b-instruct0.2583
intfloat/multilingual-e5-large/intfloat__multilingual-e5-large0.24596
Salesforce/SFR-Embedding-2_R/Salesforce__SFR-Embedding-2_R0.24346
intfloat/multilingual-e5-base/intfloat__multilingual-e5-base0.23766
upskyy/bge-m3-korean/upskyy__bge-m3-korean0.21968
ibm-granite/granite-embedding-278m-multilingual/ibm-granite__granite-embedding-278m-multilingual0.20781
jhgan/ko-sroberta-multitask/jhgan__ko-sroberta-multitask0.20416

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 20000
  • per_device_eval_batch_size: 4096
  • learning_rate: 2e-05
  • num_train_epochs: 2
  • lr_scheduler_type: warmup_stable_decay
  • lr_scheduler_kwargs: {'num_decay_steps': 160}
  • warmup_ratio: 0.05
  • bf16: True
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 10000
  • per_device_eval_batch_size: 4096
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-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: warmup_stable_decay
  • lr_scheduler_kwargs: {'num_decay_steps': 160}
  • warmup_ratio: 0.05
  • 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: True
  • 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: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • 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

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.4.1
  • Transformers: 4.49.0
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.4.0
  • Datasets: 3.3.2
  • 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"
}

KURE

@misc{KURE,
  publisher = {Youngjoon Jang, Junyoung Son, Taemin Lee},
  year = {2024},
  url = {https://github.com/nlpai-lab/KURE}
}

Arctic-Embed 2.0

@article{yu2024arcticembed,
  title = "Arctic-Embed 2.0: Multilingual Retrieval Without Compromise",
  author = "Puxuan Yu, Luke Merrick, Gaurav Nuti, Daniel Campos",
  journal = "arXiv preprint arXiv:2412.04506",
  year = "2024",
  url = "https://arxiv.org/abs/2412.04506"
}

Embedding And Clustering Your Data Can Improve Contrastive Pretraining

@article{merrick2024embedding,
  title = "Embedding And Clustering Your Data Can Improve Contrastive Pretraining",
  author = "Luke Merrick",
  journal = "arXiv preprint arXiv:2407.18887",
  year = "2024",
  url = "https://arxiv.org/abs/2407.18887"
}

Contextual Document Embeddings

@article{morris2024contextual,
  title = "Contextual Document Embeddings",
  author = "John X. Morris, Alexander M. Rush",
  journal = "arXiv preprint arXiv:2410.02525",
  year = "2024",
  url = "https://arxiv.org/abs/2410.02525"
}

License

Arctic is licensed under the Apache-2. The released models can be used for commercial purposes free of charge.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
55ec6e9

0 моделей