/ Модель

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

Контекст
512 токенов
Параметры
498 млн
Архитектура
bert · dense
Базовая модель
LaBSE
Библиотека
sentence-transformers
Опубликована
29 дек 2024

FaLaBSE-v1

ЭмбеддингиТекст → embedding

FaLaBSE-v1 — дообученная на базе LaBSE модель для получения эмбеддингов предложений и абзацев, семантического поиска и сравнения текстов.

104скачиваний за 30 дней0лайковвеса обновлены29 дек 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FaLaBSE-v1 — модель Sentence Transformer, дообученная автором codersan на базе sentence-transformers/LaBSE. Она преобразует предложения и абзацы в плотные векторы размерностью 768 для сравнения семантического сходства, семантического поиска, поиска перефразировок, кластеризации и классификации текста. Модель построена на архитектуре BERT и обучалась на 16 825 парах anchor-positive с функцией потерь MultipleNegativesRankingLoss; сходство векторов рассчитывается по косинусной мере. Максимальная длина последовательности в README указана как 256 токенов, а в метаданных — как 512 токенов.

Модель предназначена для текстовых задач, где нужно находить близкие по смыслу фрагменты и представлять их в общем векторном пространстве. Примеры обучающих данных в README — персидские тексты, но сведения не подтверждают, что модель ограничена персидским языком. Базовая LaBSE поддерживает 109 языков; карточка не уточняет, как дообучение повлияло на языковое покрытие. Репозиторий содержит веса в формате safetensors и использует библиотеку sentence-transformers. Лицензия в предоставленных данных не указана.

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

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

Ограничения

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

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

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

Открыть на Hugging Face

SentenceTransformer based on sentence-transformers/LaBSE

This is a sentence-transformers model finetuned from sentence-transformers/LaBSE. 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 Type: Sentence Transformer
  • Base model: sentence-transformers/LaBSE
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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): Dense({'in_features': 768, 'out_features': 768, 'bias': True, 'activation_function': 'torch.nn.modules.activation.Tanh'})
  (3): 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

# Download from the 🤗 Hub
model = SentenceTransformer("codersan/FaLaBSE-v1")
# 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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 16,825 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchorpositive
    typestringstring
    detailsmin: 16 tokensmean: 55.45 tokensmax: 180 tokensmin: 8 tokensmean: 20.45 tokensmax: 49 tokens
  • Samples:
    anchorpositive
    اولین انتقال و نفوذ طبیعی فرهنگ و تمدن اسلامی به اروپا از طریق کانون های جغرافیایی مصر، اندلس و سیسیل انجام گرفت و آنچه توانست به روند این انتقال سرعت بخشد جنگ های صلیبی بود.نخستین انتقال و نفوذ طبیعی فرهنگ و تمدن اسلامی به اروپا از طریق کانون های جغرافیایی مصر، اندلس و سیسیل بود و جنگ های صلیبی توانست این روند را سریع کند.
    ویژگی های هنر عصر اموی: ۱- تلفیقی بودن ۲- بازنمایی نوعی تفنن و تفریح ۳- نقاشی های تزئینی و تندیس های بی کیفیتنقاشی های تزئینی و تندیس های بی‌کیفیت، یکی از ویژگی های هنر عصر اموی است.
    قبه الصخره یکی از تجلی گاه های زیبایی و ظرافت هنر اسلامی محسوب می شود و به فرمان عبدالملک بن مروان برای برگزاری روز عرفه ساخته شد.قبه الصخره به فرمان عبدالملک بن مروان و برای برگزاری روز عرفه بنا گردید.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • 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: 5e-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: 3.0
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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: False
  • 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Loss
0.23765000.061
0.475310000.055
0.712915000.0572
0.950620000.0457
1.188225000.0249
1.425930000.0173
1.663535000.0142
1.901140000.0128
2.138845000.0123
2.376450000.0079
2.614155000.0094
2.851760000.0089

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.5.1+cu121
  • 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",
}

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…

Класс архитектуры
BertModel
Ревизия весов
33514bd

0 моделей