/ Модель

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

Контекст
512 токенов
Параметры
434 млн
Архитектура
bert · dense
Библиотека
sentence-transformers
Опубликована
18 сен 2024

gte-base-eedi-2024

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

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

89скачиваний за 30 дней0лайковвеса обновлены24 окт 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gurveer05/gte-base-eedi-2024 — модель Sentence Transformer на архитектуре BERT, дообученная для сопоставления текстов. Она преобразует предложения и абзацы в плотные векторы размерностью 1024 и сравнивает их с помощью косинусного сходства. Модель обучалась на 218 496 примерах, связанных с математическими заданиями и типичными заблуждениями учащихся; максимальная длина входа — 512 токенов.

Модель подходит для семантического поиска и сравнения ответов, поиска перефразировок, кластеризации и классификации текстов, в том числе для анализа ученических ответов и математических заблуждений. Она выдаёт эмбеддинги, а не готовые текстовые ответы. В README не указаны автор обучения, языки модели и лицензия; поэтому условия использования по карточке установить нельзя.

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

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

Ограничения

Максимальная длина входа ограничена 512 токенами; модель формирует векторы и оценки сходства, а не генерирует ответы. Карточка не сообщает лицензию и не приводит оценок качества на независимом тестировании.

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer

This is a sentence-transformers model trained. It maps sentences & paragraphs to a 1024-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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity

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': 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})
)

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/gte-base-eedi-2024")
# Run inference
sentences = [
    'believes percentages cannot be converted into fractions\n\nconvert two digit integer percentages to fractions(converting between fractions and percentages).\nquestion: convert this percentage to a fraction\n 62 \\% \ncorrect answer: \\frac{31}{50} \nincorrect answer: none of these',
    'Does not understand a percentage is out of 100',
    'Believes the gradients of perpendicular lines are reciprocals of the same sign',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 218,496 training samples
  • Columns: FullText, GroundTruthMisconception, and PredictMisconception
  • Approximate statistics based on the first 1000 samples:
    FullTextGroundTruthMisconceptionPredictMisconception
    typestringstringstring
    detailsmin: 58 tokensmean: 95.45 tokensmax: 159 tokensmin: 8 tokensmean: 17.0 tokensmax: 38 tokensmin: 6 tokensmean: 15.27 tokensmax: 40 tokens
  • Samples:
    FullTextGroundTruthMisconceptionPredictMisconception
    believes that the order of operations does not affect the answer to a calculationuse the order of operations to carry out calculations involving powers(bidmas).question: [3 \times 2+4-5]where do the brackets need to go to make the answer equal 13 ?correct answer: 3 \times(2+4)-5 incorrect answer: does not need bracketsConfuses the order of operations, believes addition comes before multiplication Believes infinite gradient is not possible in real life.
    believes that the order of operations does not affect the answer to a calculationuse the order of operations to carry out calculations involving powers(bidmas).question: [3 \times 2+4-5]where do the brackets need to go to make the answer equal 13 ?correct answer: 3 \times(2+4)-5 incorrect answer: does not need bracketsConfuses the order of operations, believes addition comes before multiplication Struggles to draw 3D shapes on isometric paper
    believes that the order of operations does not affect the answer to a calculationuse the order of operations to carry out calculations involving powers(bidmas).question: [3 \times 2+4-5]where do the brackets need to go to make the answer equal 13 ?correct answer: 3 \times(2+4)-5 incorrect answer: does not need bracketsConfuses the order of operations, believes addition comes before multiplication Believes an upward slope on a distance-time graph means travelling back towards the starting point.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • gradient_accumulation_steps: 16
  • eval_accumulation_steps: 16
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 2
  • lr_scheduler_type: cosine_with_restarts
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

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: 16
  • eval_accumulation_steps: 16
  • 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: 2
  • 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: 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: 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Loss
0.17573000.9143
0.35156000.8284
0.52729000.8444
0.703012000.7999
0.878715000.8901
1.051218000.8029
1.226921000.6198
1.402724000.5837
1.578427000.603
1.754230000.5336
1.929933000.5977

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 3.1.0
  • Transformers: 4.42.3
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.32.1
  • Datasets: 3.0.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
Ревизия весов
42639d9

0 моделей