/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Базовая модель
multilingual-e5-base
Библиотека
sentence-transformers
Опубликована
6 июл 2024

halong_embedding

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

Дообученная многоязычная модель эмбеддингов с фокусом на вьетнамский язык для семантического поиска, сопоставления текстов и RAG.

1 146скачиваний за 30 дней39лайковвеса обновлены3 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • AmazonCounterfactualVNClassification

    main_score

    Результат

    0,5603

    MTEB

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

  • MSMARCO-VN

    main_score

    Результат

    0,2975

    MTEB

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

  • CQADupstackProgrammers-VN

    main_score

    Результат

    0,3285

    MTEB

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

  • BIOSSES-VN

    main_score

    Результат

    0,802

    MTEB

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

  • SciDocsRR-VN

    main_score

    Результат

    0,8054

    MTEB

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

  • SCIDOCS-VN

    main_score

    Результат

    0,1335

    MTEB

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

  • TwentyNewsgroupsClustering-VN

    main_score

    Результат

    0,3592

    MTEB

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

  • CQADupstackUnix-VN

    main_score

    Результат

    0,3265

    MTEB

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

  • StackExchangeClustering-VN

    main_score

    Результат

    0,5526

    MTEB

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

  • CQADupstackWordpress-VN

    main_score

    Результат

    0,2478

    MTEB

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

  • CQADupstackMathematica-VN

    main_score

    Результат

    0,2185

    MTEB

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

  • GreenNodeTableMarkdownRetrieval

    main_score

    Результат

    0,3597

    MTEB

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

  • RedditClustering-VN

    main_score

    Результат

    0,3831

    MTEB

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

  • MassiveIntentVNClassification

    main_score

    Результат

    0,654

    MTEB

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

  • SciFact-VN

    main_score

    Результат

    0,6087

    MTEB

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

  • CQADupstackPhysics-VN

    main_score

    Результат

    0,3689

    MTEB

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

  • CQADupstackStats-VN

    main_score

    Результат

    0,2857

    MTEB

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

  • MTOPIntentVNClassification

    main_score

    Результат

    0,5399

    MTEB

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

  • StackOverflowDupQuestions-VN

    main_score

    Результат

    0,4953

    MTEB

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

  • AskUbuntuDupQuestions-VN

    main_score

    Результат

    0,5925

    MTEB

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

  • NFCorpus-VN

    main_score

    Результат

    0,2703

    MTEB

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

  • StackExchangeClusteringP2P-VN

    main_score

    Результат

    0,3195

    MTEB

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

  • TRECCOVID-VN

    main_score

    Результат

    0,5473

    MTEB

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

  • ToxicConversationsVNClassification

    main_score

    Результат

    0,6432

    MTEB

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

  • FiQA2018-VN

    main_score

    Результат

    0,2623

    MTEB

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

  • SprintDuplicateQuestions-VN

    main_score

    Результат

    0,9523

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

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

  • FEVER-VN

    main_score

    Результат

    0,5287

    MTEB

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

  • Banking77VNClassification

    main_score

    Результат

    0,7502

    MTEB

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

  • VieStudentFeedbackClassification

    main_score

    Результат

    0,6965

    MTEB

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

  • EmotionVNClassification

    main_score

    Результат

    0,4181

    MTEB

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

  • AmazonReviewsVNClassification

    main_score

    Результат

    0,3636

    MTEB

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

  • Touche2020-VN

    main_score

    Результат

    0,1588

    MTEB

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

  • RedditClusteringP2P-VN

    main_score

    Результат

    0,5567

    MTEB

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

  • SICK-R-VN

    main_score

    Результат

    0,74

    MTEB

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

  • ImdbVNClassification

    main_score

    Результат

    0,652

    MTEB

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

  • CQADupstackAndroid-VN

    main_score

    Результат

    0,4212

    MTEB

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

  • ClimateFEVER-VN

    main_score

    Результат

    0,1448

    MTEB

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

  • ArguAna-VN

    main_score

    Результат

    0,3858

    MTEB

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

  • TwitterURLCorpus-VN

    main_score

    Результат

    0,8438

    MTEB

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

  • Quora-VN

    main_score

    Результат

    0,588

    MTEB

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

  • AmazonPolarityVNClassification

    main_score

    Результат

    0,6999

    MTEB

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

  • DBPedia-VN

    main_score

    Результат

    0,2381

    MTEB

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

  • HotpotQA-VN

    main_score

    Результат

    0,5336

    MTEB

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

  • STSBenchmark-VN

    main_score

    Результат

    0,7796

    MTEB

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

  • VieQuADRetrieval

    main_score

    Результат

    0,5201

    MTEB

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

  • CQADupstackWebmasters-VN

    main_score

    Результат

    0,326

    MTEB

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

  • TwitterSemEval2015-VN

    main_score

    Результат

    0,6402

    MTEB

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

  • MTOPDomainVNClassification

    main_score

    Результат

    0,8429

    MTEB

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

  • MassiveScenarioVNClassification

    main_score

    Результат

    0,7088

    MTEB

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

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

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

Halong Embedding — модель эмбеддингов текста, разработанная contextboxai и дообученная на базе intfloat/multilingual-e5-base. Она предназначена прежде всего для вьетнамского языка и сценариев семантического поиска и RAG; также подходит для сопоставления предложений, поиска перефразирований, кластеризации и классификации текста.

Модель построена на XLM-RoBERTa в архитектуре Sentence Transformers: усредняет токенные представления, нормализует результат и выдаёт плотный вектор размерностью 768. Максимальная длина входа — 512 токенов; косинусное сходство используется для сравнения векторов. Обучение примерно на 100 тысячах пар вопрос–документ включало Matryoshka loss, позволяющий сокращать размер эмбеддинга с небольшими потерями качества.

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

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

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

Ограничения

Модель ориентирована прежде всего на вьетнамский язык, поэтому качество на других языках может отличаться. Сокращение размерности эмбеддинга может снижать качество, несмотря на обучение с Matryoshka loss.

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

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

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

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

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

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

Открыть на Hugging Face

Halong Embedding

Halong Embedding is a Vietnamese text embedding focused on RAG and production efficiency:

  • 📚 Trained on a in house dataset consist of approximately 100,000 examples of question and related documents
  • 🪆 Trained with a Matryoshka loss, allowing you to truncate embeddings with minimal performance loss: smaller embeddings are faster to compare.

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base. 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.

You can find eval, fine-tune scripts here as well as my seminar

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: intfloat/multilingual-e5-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Language: vi-focused, multilingual
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, '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

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
import torch

# Download from the 🤗 Hub
model = SentenceTransformer("hiieu/halong_embedding")

# Define query and documents
query = "Bóng đá có lợi ích gì cho sức khỏe?"
docs = [
    "Bóng đá giúp cải thiện sức khỏe tim mạch và tăng cường sức bền.",
    "Bóng đá là môn thể thao phổ biến nhất thế giới.",
    "Chơi bóng đá giúp giảm căng thẳng và cải thiện tâm lý.",
    "Bóng đá có thể giúp bạn kết nối với nhiều người hơn.",
    "Bóng đá không chỉ là môn thể thao mà còn là cách để giải trí."
]

# Encode query and documents
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()

# Sort documents by cosine similarity
sorted_indices = torch.argsort(similarities, descending=True)
sorted_docs = [docs[idx] for idx in sorted_indices]
sorted_scores = [similarities[idx].item() for idx in sorted_indices]

# Print sorted documents with their cosine scores
for doc, score in zip(sorted_docs, sorted_scores):
    print(f"Document: {doc} - Cosine Similarity: {score:.4f}")

# Document: Bóng đá giúp cải thiện sức khỏe tim mạch và tăng cường sức bền. - Cosine Similarity: 0.7318
# Document: Chơi bóng đá giúp giảm căng thẳng và cải thiện tâm lý. - Cosine Similarity: 0.6623
# Document: Bóng đá không chỉ là môn thể thao mà còn là cách để giải trí. - Cosine Similarity: 0.6102
# Document: Bóng đá có thể giúp bạn kết nối với nhiều người hơn. - Cosine Similarity: 0.4988
# Document: Bóng đá là môn thể thao phổ biến nhất thế giới. - Cosine Similarity: 0.4828

Matryoshka Embeddings Inference

from sentence_transformers import SentenceTransformer
import torch.nn.functional as F
import torch

matryoshka_dim = 64
model = SentenceTransformer(
    "hiieu/halong_embedding",
    truncate_dim=matryoshka_dim,
)

# Define query and documents
query = "Bóng đá có lợi ích gì cho sức khỏe?"
docs = [
    "Bóng đá giúp cải thiện sức khỏe tim mạch và tăng cường sức bền.",
    "Bóng đá là môn thể thao phổ biến nhất thế giới.",
    "Chơi bóng đá giúp giảm căng thẳng và cải thiện tâm lý.",
    "Bóng đá có thể giúp bạn kết nối với nhiều người hơn.",
    "Bóng đá không chỉ là môn thể thao mà còn là cách để giải trí."
]

# Encode query and documents
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()

# Sort documents by cosine similarity
sorted_indices = torch.argsort(similarities, descending=True)
sorted_docs = [docs[idx] for idx in sorted_indices]
sorted_scores = [similarities[idx].item() for idx in sorted_indices]

# Print sorted documents with their cosine scores
for doc, score in zip(sorted_docs, sorted_scores):
    print(f"Document: {doc} - Cosine Similarity: {score:.4f}")

# Document: Bóng đá giúp cải thiện sức khỏe tim mạch và tăng cường sức bền. - Cosine Similarity: 0.8045
# Document: Chơi bóng đá giúp giảm căng thẳng và cải thiện tâm lý. - Cosine Similarity: 0.7676
# Document: Bóng đá không chỉ là môn thể thao mà còn là cách để giải trí. - Cosine Similarity: 0.6758
# Document: Bóng đá có thể giúp bạn kết nối với nhiều người hơn. - Cosine Similarity: 0.5931
# Document: Bóng đá là môn thể thao phổ biến nhất thế giới. - Cosine Similarity: 0.5105

Evaluation

Metrics

Information Retrieval

ModelAccuracy@1Accuracy@3Accuracy@5Accuracy@10Precision@1Precision@3Precision@5Precision@10Recall@1Recall@3Recall@5Recall@10NDCG@10MRR@10MAP@100
vietnamese-bi-encoder0.81690.91080.94370.96400.81690.30990.19310.09870.80200.90450.93900.96010.88820.86850.8652
sup-SimCSE-VietNamese-phobert-base0.55400.73080.79810.87480.55400.24730.16210.08920.54460.72460.79030.86930.70680.65870.6592
halong_embedding (768)0.82940.92330.94370.96870.82940.31460.19310.09910.81460.91780.93900.96400.89760.87990.8763
halong_embedding (512)0.81380.92330.93900.97030.81380.31460.19220.09920.79890.91780.93430.96560.89170.87150.8678
halong_embedding (256)0.79340.89670.92800.95930.79340.30620.19000.09810.77860.89200.92330.95460.87430.85200.8489
halong_embedding (128)0.78400.89510.92640.95150.78400.30460.18940.09750.77070.88890.92100.94760.86690.84390.8412
halong_embedding (64)0.69800.84350.89200.93580.69800.28640.18150.09580.68540.83650.88420.93110.81450.78050.7775

Citation

You can cite our work as below:

@misc{HalongEmbedding,
  title={HalongEmbedding: A Vietnamese Text Embedding},
  author={Ngo Hieu},
  year={2024},
  publisher={Huggingface},
}

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",
}

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning}, 
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply}, 
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей