Fingu-M-v2 / README.md
FINGU-AI's picture
Upload folder using huggingface_hub
2a44ea1 verified
---
base_model: dunzhang/stella_en_1.5B_v5
datasets: []
language: []
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:693000
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: Paracrystalline materials are defined as having short and medium
range ordering in their lattice (similar to the liquid crystal phases) but lacking
crystal-like long-range ordering at least in one direction.
sentences:
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Paracrystalline'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Øystein Dahle'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Makis Belevonis'
- source_sentence: 'Hạ Trạch is a commune ( xã ) and village in Bố Trạch District
, Quảng Bình Province , in Vietnam . Category : Populated places in Quang Binh
Province Category : Communes of Quang Binh Province'
sentences:
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: The Taill of how this forsaid Tod maid his Confessioun to Freir Wolf Waitskaith'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Hạ Trạch'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Tadaxa'
- source_sentence: The Golden Mosque (سنهرى مسجد, Sunehri Masjid) is a mosque in Old
Delhi. It is located outside the southwestern corner of Delhi Gate of the Red
Fort, opposite the Netaji Subhash Park.
sentences:
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Algorithm'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Golden Mosque (Red Fort)'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Parnaso Español'
- source_sentence: Unibank, S.A. is one of Haiti's two largest private commercial
banks. The bank was founded in 1993 by a group of Haitian investors and is the
main company of "Groupe Financier National (GFN)". It opened its first office
in July 1993 in downtown Port-au-Prince and has 50 branches throughout the country
as of the end of 2016.
sentences:
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Sky TG24'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Ghomijeh'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Unibank (Haiti)'
- source_sentence: The Tchaikovsky Symphony Orchestra is a Russian classical music
orchestra established in 1930. It was founded as the Moscow Radio Symphony Orchestra,
and served as the official symphony for the Soviet All-Union Radio network. Following
the dissolution of the, Soviet Union in 1991, the orchestra was renamed in 1993
by the Russian Ministry of Culture in recognition of the central role the music
of Tchaikovsky plays in its repertoire. The current music director is Vladimir
Fedoseyev, who has been in that position since 1974.
sentences:
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Harald J.W. Mueller-Kirsten'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Sierra del Lacandón'
- 'Instruct: Given a web search query, retrieve relevant passages that answer the
query.
Query: Tchaikovsky Symphony Orchestra'
model-index:
- name: SentenceTransformer based on dunzhang/stella_en_1.5B_v5
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: Unknown
type: unknown
metrics:
- type: cosine_accuracy@1
value: 0.9457912457912457
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9686868686868687
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9750841750841751
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9818181818181818
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9457912457912457
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.3228956228956229
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.195016835016835
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.09818181818181818
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.9457912457912457
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.9686868686868687
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.9750841750841751
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9818181818181818
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9641837379281919
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9584885895997006
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9590455638710143
name: Cosine Map@100
- type: cosine_accuracy@1
value: 0.9447811447811448
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9696969696969697
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9754208754208754
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9824915824915825
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9447811447811448
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.32323232323232326
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.19508417508417508
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.09824915824915824
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.9447811447811448
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.9696969696969697
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.9754208754208754
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9824915824915825
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9641053714591453
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9581715301159749
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9586773165340671
name: Cosine Map@100
- type: cosine_accuracy@1
value: 0.9447811447811448
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9673400673400674
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9720538720538721
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9804713804713805
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9447811447811448
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.32244668911335583
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.19441077441077437
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.09804713804713805
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.9447811447811448
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.9673400673400674
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.9720538720538721
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9804713804713805
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9628692157043424
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9572219549997326
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9577987764578036
name: Cosine Map@100
---
# SentenceTransformer based on dunzhang/stella_en_1.5B_v5
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [dunzhang/stella_en_1.5B_v5](https://huggingface.co/dunzhang/stella_en_1.5B_v5). 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
- **Base model:** [dunzhang/stella_en_1.5B_v5](https://huggingface.co/dunzhang/stella_en_1.5B_v5) <!-- at revision 129dc50d3ca5f0f5ee0ce8944f65a8553c0f26e0 -->
- **Maximum Sequence Length:** 8096 tokens
- **Output Dimensionality:** 1024 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 8096, 'do_lower_case': False}) with Transformer model: Qwen2Model
(1): Pooling({'word_embedding_dimension': 1536, '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): Dense({'in_features': 1536, 'out_features': 1024, 'bias': True, 'activation_function': 'torch.nn.modules.linear.Identity'})
)
```
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
sentences = [
'The Tchaikovsky Symphony Orchestra is a Russian classical music orchestra established in 1930. It was founded as the Moscow Radio Symphony Orchestra, and served as the official symphony for the Soviet All-Union Radio network. Following the dissolution of the, Soviet Union in 1991, the orchestra was renamed in 1993 by the Russian Ministry of Culture in recognition of the central role the music of Tchaikovsky plays in its repertoire. The current music director is Vladimir Fedoseyev, who has been in that position since 1974.',
'Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: Tchaikovsky Symphony Orchestra',
'Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: Sierra del Lacandón',
]
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]
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
## Evaluation
### Metrics
#### Information Retrieval
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:----------|
| cosine_accuracy@1 | 0.9458 |
| cosine_accuracy@3 | 0.9687 |
| cosine_accuracy@5 | 0.9751 |
| cosine_accuracy@10 | 0.9818 |
| cosine_precision@1 | 0.9458 |
| cosine_precision@3 | 0.3229 |
| cosine_precision@5 | 0.195 |
| cosine_precision@10 | 0.0982 |
| cosine_recall@1 | 0.9458 |
| cosine_recall@3 | 0.9687 |
| cosine_recall@5 | 0.9751 |
| cosine_recall@10 | 0.9818 |
| cosine_ndcg@10 | 0.9642 |
| cosine_mrr@10 | 0.9585 |
| **cosine_map@100** | **0.959** |
#### Information Retrieval
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.9448 |
| cosine_accuracy@3 | 0.9697 |
| cosine_accuracy@5 | 0.9754 |
| cosine_accuracy@10 | 0.9825 |
| cosine_precision@1 | 0.9448 |
| cosine_precision@3 | 0.3232 |
| cosine_precision@5 | 0.1951 |
| cosine_precision@10 | 0.0982 |
| cosine_recall@1 | 0.9448 |
| cosine_recall@3 | 0.9697 |
| cosine_recall@5 | 0.9754 |
| cosine_recall@10 | 0.9825 |
| cosine_ndcg@10 | 0.9641 |
| cosine_mrr@10 | 0.9582 |
| **cosine_map@100** | **0.9587** |
#### Information Retrieval
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.9448 |
| cosine_accuracy@3 | 0.9673 |
| cosine_accuracy@5 | 0.9721 |
| cosine_accuracy@10 | 0.9805 |
| cosine_precision@1 | 0.9448 |
| cosine_precision@3 | 0.3224 |
| cosine_precision@5 | 0.1944 |
| cosine_precision@10 | 0.098 |
| cosine_recall@1 | 0.9448 |
| cosine_recall@3 | 0.9673 |
| cosine_recall@5 | 0.9721 |
| cosine_recall@10 | 0.9805 |
| cosine_ndcg@10 | 0.9629 |
| cosine_mrr@10 | 0.9572 |
| **cosine_map@100** | **0.9578** |
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: steps
- `per_device_eval_batch_size`: 4
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `max_steps`: 1500
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `warmup_steps`: 5
- `bf16`: True
- `tf32`: True
- `optim`: adamw_torch_fused
- `gradient_checkpointing`: True
- `gradient_checkpointing_kwargs`: {'use_reentrant': False}
- `batch_sampler`: no_duplicates
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: steps
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 8
- `per_device_eval_batch_size`: 4
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 4
- `eval_accumulation_steps`: None
- `learning_rate`: 2e-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`: 1500
- `lr_scheduler_type`: cosine
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.1
- `warmup_steps`: 5
- `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`: True
- `fp16`: False
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: True
- `local_rank`: 0
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: True
- `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_fused
- `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`: True
- `gradient_checkpointing_kwargs`: {'use_reentrant': False}
- `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
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional
</details>
### Training Logs
| Epoch | Step | Training Loss | loss | cosine_map@100 |
|:------:|:----:|:-------------:|:------:|:--------------:|
| 0.0185 | 100 | 0.4835 | 0.0751 | 0.9138 |
| 0.0369 | 200 | 0.0646 | 0.0590 | 0.9384 |
| 0.0554 | 300 | 0.0594 | 0.0519 | 0.9462 |
| 0.0739 | 400 | 0.0471 | 0.0483 | 0.9514 |
| 0.0924 | 500 | 0.0524 | 0.0455 | 0.9531 |
| 0.1108 | 600 | 0.0435 | 0.0397 | 0.9546 |
| 0.1293 | 700 | 0.0336 | 0.0394 | 0.9549 |
| 0.1478 | 800 | 0.0344 | 0.0374 | 0.9565 |
| 0.1662 | 900 | 0.0393 | 0.0361 | 0.9568 |
| 0.1847 | 1000 | 0.0451 | 0.0361 | 0.9578 |
### Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.1
- Transformers: 4.41.2
- PyTorch: 2.2.0+cu121
- Accelerate: 0.33.0
- Datasets: 2.20.0
- Tokenizers: 0.19.1
## Citation
### BibTeX
#### Sentence Transformers
```bibtex
@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
```bibtex
@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
```bibtex
@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}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->