初始化项目,由ModelHub XC社区提供模型
Model: minishlab/potion-base-32M Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
100
README.md
Normal file
100
README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
---
|
||||
datasets:
|
||||
- minishlab/tokenlearn-c4-en-bge-base-v1.5
|
||||
library_name: model2vec
|
||||
license: mit
|
||||
model_name: potion-base-32M
|
||||
tags:
|
||||
- embeddings
|
||||
- static-embeddings
|
||||
- mteb
|
||||
- sentence-transformers
|
||||
---
|
||||
|
||||
|
||||
# potion-base-32M Model Card
|
||||
|
||||
<div align="center">
|
||||
<img width="35%" alt="Model2Vec logo" src="https://raw.githubusercontent.com/MinishLab/model2vec/main/assets/images/logo_v2.png">
|
||||
</div>
|
||||
|
||||
|
||||
This [Model2Vec](https://github.com/MinishLab/model2vec) model is pre-trained using [Tokenlearn](https://github.com/MinishLab/tokenlearn). It is a distilled version of the [baai/bge-base-en-v1.5](https://huggingface.co/baai/bge-base-en-v1.5) Sentence Transformer. It uses static embeddings, allowing text embeddings to be computed orders of magnitude faster on both GPU and CPU. It is designed for applications where computational resources are limited or where real-time performance is critical. It uses a larger vocabulary size than the [potion-base-8M](https://huggingface.co/minishlab/potion-base-8M) model which can be beneficial for tasks that require a larger vocabulary.
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Install model2vec using pip:
|
||||
```
|
||||
pip install model2vec
|
||||
```
|
||||
|
||||
## Usage
|
||||
Load this model using the `from_pretrained` method:
|
||||
```python
|
||||
from model2vec import StaticModel
|
||||
|
||||
# Load a pretrained Model2Vec model
|
||||
model = StaticModel.from_pretrained("minishlab/potion-base-32M")
|
||||
|
||||
# Compute text embeddings
|
||||
embeddings = model.encode(["Example sentence"])
|
||||
```
|
||||
|
||||
|
||||
## How it works
|
||||
|
||||
Model2vec creates a small, static model that outperforms other static embedding models by a large margin on all tasks on [MTEB](https://huggingface.co/spaces/mteb/leaderboard). This model is pre-trained using [Tokenlearn](https://github.com/MinishLab/tokenlearn). It's created using the following steps:
|
||||
- Distillation: first, a model is distilled from a sentence transformer model using Model2Vec.
|
||||
- Training data creation: the sentence transformer model is used to create training data by creating mean output embeddings on a large corpus.
|
||||
- Training: the distilled model is trained on the training data using Tokenlearn.
|
||||
- Post-training re-regularization: after training, the model is re-regularized by weighting the tokens based on their frequency, applying PCA, and finally applying [SIF weighting](https://openreview.net/pdf?id=SyK00v5xx).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Results
|
||||
|
||||
| Model | Avg (All) | Avg (MTEB) | Class | Clust | PairClass | Rank | Ret | STS | Sum | Pearl | WordSim |
|
||||
|:---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
|
||||
| [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) | 55.80 | 55.93 | 69.25 | 44.90 | 82.37 | 47.14 | 42.92 | 78.95 | 25.96 | 60.83 | 49.91 |
|
||||
| **[potion-base-32M](https://huggingface.co/minishlab/potion-base-32M)** | **52.83** | **52.13** | **71.70** | **41.25** | **78.17** | **42.45** | **32.67** | **73.93** | **24.74** | **55.37** | **55.15** |
|
||||
| [potion-base-8M](https://huggingface.co/minishlab/potion-base-8M) | 51.32 | 51.08 | 70.34 | 39.74 | 76.62 | 41.79 | 31.11 | 72.91 | 25.06 | 53.54 | 50.75 |
|
||||
| [potion-base-4M](https://huggingface.co/minishlab/potion-base-4M) | 50.01 | 49.77 | 68.00 | 39.47 | 75.37 | 41.41 | 28.43 | 71.87 | 23.82 | 52.55 | 49.21 |
|
||||
| [M2V_base_output](https://huggingface.co/minishlab/M2V_base_output) | 48.77 | 47.96 | 66.84 | 33.96 | 74.90 | 39.31 | 25.36 | 68.76 | 26.61 | 54.02 | 49.18 |
|
||||
| [potion-base-2M](https://huggingface.co/minishlab/potion-base-2M) | 47.55 | 47.49 | 64.13 | 37.53 | 73.72 | 40.46 | 22.99 | 69.77 | 23.80 | 50.82 | 44.72 |
|
||||
| [GloVe_300d](https://huggingface.co/sentence-transformers/average_word_embeddings_glove.6B.300d) | 45.49 | 45.82 | 62.73 | 37.10 | 72.48 | 38.28 | 21.80 | 61.52 | 26.81 | 45.65 | 43.05 |
|
||||
| [BPEmb_50k_300d](https://github.com/bheinzerling/bpemb) | 42.33 | 41.74 | 61.72 | 35.17 | 57.86 | 37.26 | 15.36 | 55.30 | 29.49 | 47.56 | 41.28 |
|
||||
|
||||
The results show that **potion-base-32M** is the most performant static embedding model, reaching 94.66% of the performance of [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) with an average score of 52.83 while being orders of magnitude faster.
|
||||
|
||||
For full results, see the [MTEB leaderboard](https://huggingface.co/spaces/mteb/leaderboard).
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [All Model2Vec models on the hub](https://huggingface.co/models?library=model2vec)
|
||||
- [Model2Vec Repo](https://github.com/MinishLab/model2vec)
|
||||
- [Tokenlearn repo](https://github.com/MinishLab/tokenlearn)
|
||||
- [Model2Vec Results](https://github.com/MinishLab/model2vec/blob/main/results/README.md)
|
||||
- [Model2Vec Tutorials](https://github.com/MinishLab/model2vec/tree/main/tutorials)
|
||||
|
||||
## Library Authors
|
||||
|
||||
Model2Vec was developed by the [Minish Lab](https://github.com/MinishLab) team consisting of [Stephan Tulkens](https://github.com/stephantul) and [Thomas van Dongen](https://github.com/Pringled).
|
||||
|
||||
## Citation
|
||||
|
||||
Please cite the [Model2Vec repository](https://github.com/MinishLab/model2vec) if you use this model in your work.
|
||||
```bibtex
|
||||
@software{minishlab2024model2vec,
|
||||
author = {Stephan Tulkens and {van Dongen}, Thomas},
|
||||
title = {Model2Vec: Fast State-of-the-Art Static Embeddings},
|
||||
year = {2024},
|
||||
publisher = {Zenodo},
|
||||
doi = {10.5281/zenodo.17270888},
|
||||
url = {https://github.com/MinishLab/model2vec},
|
||||
license = {MIT}
|
||||
}
|
||||
```
|
||||
1
config.json
Normal file
1
config.json
Normal file
@@ -0,0 +1 @@
|
||||
{"model_type": "model2vec", "architectures": ["StaticModel"],"tokenizer_name": "baai/bge-base-en-v1.5", "apply_pca": 512, "apply_zipf": true, "hidden_dim": 512, "seq_length": 1000000, "normalize": true}
|
||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:99f6c33204c9231a7391871b7a3c91409b532c8f587a9ea44fc282303d8dec28
|
||||
size 129210456
|
||||
14
modules.json
Normal file
14
modules.json
Normal file
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"idx": 0,
|
||||
"name": "0",
|
||||
"path": ".",
|
||||
"type": "sentence_transformers.models.StaticEmbedding"
|
||||
},
|
||||
{
|
||||
"idx": 1,
|
||||
"name": "1",
|
||||
"path": "1_Normalize",
|
||||
"type": "sentence_transformers.models.Normalize"
|
||||
}
|
||||
]
|
||||
3
onnx/model.onnx
Normal file
3
onnx/model.onnx
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ce16deb30a0dc5c1a84c31f95b5103165ebdb914ae3631c793676345ad833ba
|
||||
size 129214550
|
||||
7
special_tokens_map.json
Normal file
7
special_tokens_map.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"cls_token": "[CLS]",
|
||||
"sep_token": "[SEP]",
|
||||
"pad_token": "[PAD]",
|
||||
"unk_token": "[UNK]",
|
||||
"mask_token": "[MASK]"
|
||||
}
|
||||
63241
tokenizer.json
Normal file
63241
tokenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
55
tokenizer_config.json
Normal file
55
tokenizer_config.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"added_tokens_decoder": {
|
||||
"0": {
|
||||
"content": "[PAD]",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"1": {
|
||||
"content": "[UNK]",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"2": {
|
||||
"content": "[CLS]",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"3": {
|
||||
"content": "[SEP]",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"4": {
|
||||
"content": "[MASK]",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
}
|
||||
},
|
||||
"clean_up_tokenization_spaces": true,
|
||||
"cls_token": "[CLS]",
|
||||
"do_lower_case": true,
|
||||
"mask_token": "[MASK]",
|
||||
"model_max_length": 1000000,
|
||||
"pad_token": "[PAD]",
|
||||
"sep_token": "[SEP]",
|
||||
"strip_accents": null,
|
||||
"tokenize_chinese_chars": true,
|
||||
"tokenizer_class": "BertTokenizer",
|
||||
"unk_token": "[UNK]"
|
||||
}
|
||||
Reference in New Issue
Block a user