freelancers-matcher / README.md
eugene-blokhin's picture
initial commit
4c09b0b
metadata
base_model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:3712
  - loss:CosineSimilarityLoss
widget:
  - source_sentence: >-
      Ищу 3D-художника для создания модели персонажа для игры. Портфолио
      обязательно.
    sentences:
      - >-
        Я финансист-консультант с опытом более 5 лет. Готов помочь вам в
        составлении личного бюджета, инвестиционном планировании и
        налогообложении. Работаю индивидуально с каждым клиентом.
      - >-
        вашего бизнеса, включая рекламу и промо-видео. Гарантирую качественный и
        креативный подход к вашим проектам.
      - >-
        Я программист с фокусом на разработке мобильных приложений.
        Специализируюсь на создании приложений для iOS и Android. Готов
        разработать приложение под ваш бизнес, с уникальным дизайном и
        функционалом.
  - source_sentence: >-
      Нужна помощь в разработке мобильного приложения под iOS и Android. Идея:
      фитнес-трекер с функцией подсчета калорий. Желательно наличие портфолио.
    sentences:
      - >-
        Я иллюстратор с уникальным стилем, предлагаю создавать авторские
        иллюстрации для книг, журналов или веб-сайтов. Работаю в разных техниках
        – от акварели до цифровой живописи.
      - >-
        Я специалист по контекстной рекламе с 6-летним опытом. Настрою и
        оптимизирую рекламные кампании в Google Ads и Яндекс.Директ, чтобы
        привлечь больше клиентов и повысить ваш ROI.
      - >-
        Я учитель английского языка с опытом онлайн-занятий более 5 лет. Провожу
        курсы для студентов любого уровня, включая бизнес-английский и
        подготовку к экзаменам.
  - source_sentence: >-
      Нужен специалист по рекламе в социальных сетях для запуска рекламной
      кампании.
    sentences:
      - >-
        Я тренер по личностному росту с 7-летним опытом. Могу провести
        индивидуальные сессии или групповые тренинги для достижения личных и
        карьерных целей.
      - >-
        Я консультант по экологическому строительству с опытом более 5 лет.
        Помогу вам сделать ваш дом экологически чистым и энергоэффективным,
        используя лучшие практики и материалы.
      - >-
        Я разработчик на Python с опытом более 5 лет. Создам для вас
        индивидуальные скрипты и приложения, которые упростят вашу работу и
        займут наименьшее количество времени.
  - source_sentence: >-
      Нужен специалист по SEO для оптимизации уже существующего сайта. Цель —
      увеличить трафик и видимость в поисковых системах.
    sentences:
      - >-
        Я профессиональный строитель с более чем 15-летним опытом.
        Специализируюсь на ремонте и отделке квартир. Готов быстро и качественно
        выполнить работы по вашему проекту - от стен и потолков до укладки
        плитки.
      - >-
        Я маркетолог с опытом в digital-продвижении более 5 лет. Предлагаю
        комплексную стратегию продвижения вашего бизнеса в социальных сетях,
        включая создание контента и рекламу. Работаю с Facebook, Instagram и
        TikTok.
      - >-
        Я видеоредактор с опытом работы более 5 лет. Предлагаю услуги по монтажу
        видеороликов для YouTube, рекламы или личных проектов. Готов добавить
        креативные переходы, текстовые эффекты и музыкальное оформление.
  - source_sentence: >-
      Ищу специалиста для разработки фирменного стиля для компании. Включает
      логотип, цветовую палитру и шрифты.
    sentences:
      - >-
        Я фотограф с опытом работы более 10 лет. Специализируюсь на свадебной и
        семейной фотографии. Предлагаю профессиональную фотосъемку вашего
        события с последующей обработкой снимков.
      - >-
        Я вокальный тренер с большим опытом, предлагаю онлайн-уроки по вокалу
        для начинающих и продвинутых. Помогу развить ваш голос и уверенность на
        сцене.
      - >-
        Я профессиональный фриланс-журналист с опытом работы в сфере новостей
        более 10 лет. Напишу интересные и оригинальные статьи на актуальные темы
        для вашего блога или онлайн-издания.

SentenceTransformer based on sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2

This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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})
)

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Ищу специалиста для разработки фирменного стиля для компании. Включает логотип, цветовую палитру и шрифты.',
    'Я профессиональный фриланс-журналист с опытом работы в сфере новостей более 10 лет. Напишу интересные и оригинальные статьи на актуальные темы для вашего блога или онлайн-издания.',
    'Я фотограф с опытом работы более 10 лет. Специализируюсь на свадебной и семейной фотографии. Предлагаю профессиональную фотосъемку вашего события с последующей обработкой снимков.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 3,712 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string float
    details
    • min: 10 tokens
    • mean: 26.12 tokens
    • max: 49 tokens
    • min: 26 tokens
    • mean: 45.4 tokens
    • max: 62 tokens
    • min: 0.0
    • mean: 0.32
    • max: 0.9
  • Samples:
    sentence_0 sentence_1 label
    Необходим матьюшка для создания сайта-визитки для психолога. Стиль — сдержанный и профессиональный. Я программист с фокусом на разработке мобильных приложений. Специализируюсь на создании приложений для iOS и Android. Готов разработать приложение под ваш бизнес, с уникальным дизайном и функционалом. 0.35
    Требуется помощник по организации мероприятий. Я маркетолог с опытом в email-маркетинге. Создам эффективную стратегию и подготовлю рассылки для вашей компании, которые увеличат вовлеченность и продажи. 0.3
    Сделать аудиозапись курса по английскому языку, длительность около 10 часов. Необходим опыт работы в этой области. Я администратор баз данных с опытом работы более 6 лет. Обеспечу настройку и оптимизацию вашей базы данных, чтобы повысить ее производительность и безопасность. 0.3
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • num_train_epochs: 4
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • 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
  • num_train_epochs: 4
  • 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: 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
0.5388 500 0.0337
1.0776 1000 0.0325
1.6164 1500 0.0255
2.1552 2000 0.0238
2.6940 2500 0.0205
3.2328 3000 0.0179
3.7716 3500 0.017

Framework Versions

  • Python: 3.9.21
  • Sentence Transformers: 3.3.1
  • Transformers: 4.45.2
  • PyTorch: 2.5.1
  • Accelerate: 1.2.0
  • Datasets: 2.19.1
  • Tokenizers: 0.20.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",
}