/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Архитектура
bert · dense
Базовая модель
bge-base-en-v1.5
Библиотека
sentence-transformers
Опубликована
18 сен 2024

bge-base-eedi-2024

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

Англоязычная модель эмбеддингов для семантического поиска и сравнения текстов, дообученная на примерах математических задач и ошибок учащихся.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gurveer05/bge-base-eedi-2024 — англоязычная модель Sentence Transformers, дообученная разработчиком на базе BAAI/bge-base-en-v1.5 на наборе из 2 940 примеров. Она кодирует предложения и абзацы в плотные векторы размерности 768 и сравнивает их по косинусному сходству; архитектура включает BERT, пулинг по CLS-токену и нормализацию. Модель предназначена для семантического поиска и сравнения текстов, поиска перефразировок, кластеризации и классификации.

В обучающих примерах используются вопросы и ответы по математике и варианты типичных ошибочных рассуждений учащихся. Это делает модель подходящей для поиска похожих учебных задач и сопоставления ответа с типом ошибки. Максимальная длина последовательности — 512 токенов. В метаданных указаны 136,7 млн параметров и лицензия не приведена.

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

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

Ограничения

Максимальная длина входной последовательности составляет 512 токенов. Обучающие данные описаны как CSV с 2 940 примерами, поэтому пригодность для других предметных областей может быть ограничена.

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on BAAI/bge-base-en-v1.5

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5 on the csv 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 Type: Sentence Transformer
  • Base model: BAAI/bge-base-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • csv

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) 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): 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("Gurveer05/bge-base-eedi-2024")
# Run inference
sentences = [
    'Question: Solve quadratic equations using the quadratic formula where the coefficient of x² is 1. Vera wants to solve this equation using the quadratic formula.\n(\nh^2+4=5 h\n)\n\nWhat should replace the triangle? The image shows the structure of the quadratic formula. It says plus or minus the square root, and the triangle is the first thing after the square root sign, with a minus sign after it.\n\nOptions:\nA. 8\nB. -10\nC. 16\nD. 25\n\nAnswer: -10',
    'Mixes up squaring and multiplying by 2 or doubling',
    'Does not realise a quadratic must be in the form ax^2+bx+c=0 to find the values for the quadratic formula',
]
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

csv

  • Dataset: csv
  • Size: 2,940 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 33 tokensmean: 90.0 tokensmax: 512 tokensmin: 4 tokensmean: 14.71 tokensmax: 38 tokensmin: 7 tokensmean: 16.48 tokensmax: 39 tokens
  • Samples:
    anchorpositivenegative
    Question: Add algebraic fractions where the denominators are single terms and are not multiples of each other. Express the following as a single fraction, writing your answer as simply as possible: (t / s)+(2 s / t).Options:A. (t^2+4 s^2 / s t)B. (t+2 s / s+t)C. (2 s t / s+t)D. (t^2+2 s^2 / s t)Answer: (2 s t / s+t)When adding/subtracting fractions, adds/subtracts the denominators and multiplies the numeratorsThinks can combine the numerator and denominator after simplifying an algebraic fraction
    Question: Calculate the volume of a cone where the dimensions are all given in the same units. STEP 2 Jessica is trying to work out the volume of this cone. A cone with the slant height labelled 9cm, the perpendicular height labelled h and half the cone's base (forming a right angled triangle with the slant and perpendicular heights) is labelled 6cm. First she needs the perpendicular height.Which of the following equations is true?Options:A. h^2=9^2+6^2B. h^2=9^2-6^2C. h^2=12^2+9^2D. h^2=12^2-9^2Answer: h^2=12^2-9^2When using Pythagoras to find the height of an isosceles triangle, uses the whole base instead of halfHas multiplied base by slant height and perpendicular height to find area of a triangle
    Question: Convert from hours to minutes. 3 hours is the same as ___________ minutes.Options:A. 180B. 90C. 30D. 300Answer: 90Thinks there are 30 minutes in a hourAnswers as if there are 100 minutes in an hour when changing from hours to minutes
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 24
  • per_device_eval_batch_size: 24
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 20
  • lr_scheduler_type: cosine_with_restarts
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: 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: 24
  • per_device_eval_batch_size: 24
  • 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.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 20
  • max_steps: -1
  • lr_scheduler_type: cosine_with_restarts
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • 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: True
  • 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: True
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Loss
0.2581163.3202
0.531-
0.5161322.9432
0.7742482.6014
1.062-
1.0323642.1029
1.1613801.5757
1.371093-
1.4194962.0139
1.67741121.8208
1.8710124-
1.93551281.6599
2.06451440.7017
2.2419155-
2.32261601.4833
2.58061761.3274
2.7419186-
2.83871921.1951
3.09682080.5799
3.1129217-
3.22582240.9517
3.48392401.0177
3.6129248-
3.74192560.8864
4.02720.7591
4.1129279-
4.12902880.4319
4.38713040.7878
4.4839310-
4.64523200.7483
4.90323360.6432
4.9839341-
5.03233520.2496
5.29033680.6689
5.3548372-
5.54843840.628
5.80654000.4981
5.8548403-
6.06454160.3208
6.19354320.4169
6.2258434-
6.45164480.5049
6.70974640.4402
6.7258465-
6.96774800.3819
7.09684960.1854
7.35485120.4292
7.5968527-
7.61295280.4171
7.87105440.318
8.0968558-
8.12905600.1318
8.25815760.3829
8.4677589-
8.51615920.4097
8.77426080.2676
8.9677620-
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.0
  • PyTorch: 2.4.0
  • Accelerate: 0.33.0
  • Datasets: 2.21.0
  • Tokenizers: 0.19.1

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
Ревизия весов
7a93c66

0 моделей