ldwang commited on
Commit
08e3d2c
1 Parent(s): 6221169
Files changed (5) hide show
  1. README.md +201 -92
  2. config.json +3 -11
  3. pytorch_model.bin +2 -2
  4. tokenizer.json +0 -0
  5. vocab.txt +0 -0
README.md CHANGED
@@ -7,7 +7,7 @@ tags:
7
  - transformers
8
  license: mit
9
  language:
10
- - zh
11
  ---
12
 
13
 
@@ -27,15 +27,21 @@ language:
27
 
28
  More details please refer to our Github: [FlagEmbedding](https://github.com/FlagOpen/FlagEmbedding).
29
 
 
 
30
  [English](README.md) | [中文](https://github.com/FlagOpen/FlagEmbedding/blob/master/README_zh.md)
31
 
32
  FlagEmbedding can map any text to a low-dimensional dense vector which can be used for tasks like retrieval, classification, clustering, or semantic search.
33
- And it also can be used in vector database for LLMs.
34
 
35
  ************* 🌟**Updates**🌟 *************
36
- - 08/09/2023: BGE Models are integrated into **Langchain**, you can use it like [**this**](#using-langchain); C-MTEB **leaderboard** is [avaliable](https://huggingface.co/spaces/mteb/leaderboard).
 
 
 
 
37
  - 08/05/2023: Release base-scale and small-scale models, **best performance among the models of the same size 🤗**
38
- - 08/02/2023: Release `bge-large-*`(short for BAAI General Embedding) Models, **rank 1st on MTEB and C-MTEB benchmark!**
39
  - 08/01/2023: We release the [Chinese Massive Text Embedding Benchmark](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB) (**C-MTEB**), consisting of 31 test dataset.
40
 
41
 
@@ -43,21 +49,80 @@ And it also can be used in vector database for LLMs.
43
 
44
  `bge` is short for `BAAI general embedding`.
45
 
46
- | Model | Language | Description | query instruction for retrieval\* |
47
- |:-------------------------------|:--------:| :--------:| :--------:|
48
- | [BAAI/bge-large-en](https://huggingface.co/BAAI/bge-large-en) | English | rank **1st** in [MTEB](https://huggingface.co/spaces/mteb/leaderboard) leaderboard | `Represent this sentence for searching relevant passages: ` |
49
- | [BAAI/bge-base-en](https://huggingface.co/BAAI/bge-base-en) | English | rank **2nd** in [MTEB](https://huggingface.co/spaces/mteb/leaderboard) leaderboard | `Represent this sentence for searching relevant passages: ` |
50
- | [BAAI/bge-small-en](https://huggingface.co/BAAI/bge-small-en) | English | a small-scale model but with competitive performance | `Represent this sentence for searching relevant passages: ` |
51
- | [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) | Chinese | rank **1st** in [C-MTEB](https://github.com/FlagOpen/FlagEmbedding/tree/master/C_MTEB) benchmark | `为这个句子生成表示以用于检索相关文章:` |
52
- | [BAAI/bge-large-zh-noinstruct](https://huggingface.co/BAAI/bge-large-zh-noinstruct) | Chinese | This model is trained without instruction, and rank **2nd** in [C-MTEB](https://github.com/FlagOpen/FlagEmbedding/tree/master/C_MTEB) benchmark | |
53
- | [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) | Chinese | a base-scale model but has similar ability with `bge-large-zh` | `为这个句子生成表示以用于检索相关文章:` |
54
- | [BAAI/bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) | Chinese | a small-scale model but with competitive performance | `为这个句子生成表示以用于检索相关文章:` |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
- \*: If you need to search the **long** relevant passages to a **short** query (s2p retrieval task), you need to add the instruction to the query; in other cases, no instruction is needed, just use the original query directly. In all cases, **no instruction** need to be added to passages.
57
 
58
  ## Usage
59
 
60
- Here are some examples to use `bge` models with
 
 
61
  [FlagEmbedding](#using-flagembedding), [Sentence-Transformers](#using-sentence-transformers), [Langchain](#using-langchain), or [Huggingface Transformers](#using-huggingface-transformers).
62
 
63
  #### Using FlagEmbedding
@@ -68,14 +133,15 @@ If it doesn't work for you, you can see [FlagEmbedding](https://github.com/FlagO
68
 
69
  ```python
70
  from FlagEmbedding import FlagModel
71
- sentences = ["样例数据-1", "样例数据-2"]
 
72
  model = FlagModel('BAAI/bge-large-zh', query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:")
73
- embeddings_1 = model.encode(sentences)
74
- embeddings_2 = model.encode(sentences)
75
  similarity = embeddings_1 @ embeddings_2.T
76
  print(similarity)
77
 
78
- # for s2p(short query to long passage) retrieval task, please use encode_queries() which will automatically add the instruction to each query
79
  # corpus in retrieval task can still use encode() or encode_corpus(), since they don't need instruction
80
  queries = ['query_1', 'query_2']
81
  passages = ["样例文档-1", "样例文档-2"]
@@ -83,24 +149,26 @@ q_embeddings = model.encode_queries(queries)
83
  p_embeddings = model.encode(passages)
84
  scores = q_embeddings @ p_embeddings.T
85
  ```
86
- The value of argument `query_instruction_for_retrieval` see [Model List](https://github.com/FlagOpen/FlagEmbedding/tree/master#model-list).
87
 
88
- FlagModel will use all available GPUs when encoding, please set `os.environ["CUDA_VISIBLE_DEVICES"]` to choose GPU.
 
89
 
90
 
91
  #### Using Sentence-Transformers
92
 
93
- Using this model also is easy when you have [sentence-transformers](https://www.SBERT.net) installed:
94
 
95
  ```
96
  pip install -U sentence-transformers
97
  ```
98
  ```python
99
  from sentence_transformers import SentenceTransformer
100
- sentences = ["样例数据-1", "样例数据-2"]
 
101
  model = SentenceTransformer('BAAI/bge-large-zh')
102
- embeddings_1 = model.encode(sentences, normalize_embeddings=True)
103
- embeddings_2 = model.encode(sentences, normalize_embeddings=True)
104
  similarity = embeddings_1 @ embeddings_2.T
105
  print(similarity)
106
  ```
@@ -127,17 +195,19 @@ from langchain.embeddings import HuggingFaceBgeEmbeddings
127
  model_name = "BAAI/bge-small-en"
128
  model_kwargs = {'device': 'cuda'}
129
  encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity
130
- model_norm = HuggingFaceBgeEmbeddings(
131
  model_name=model_name,
132
  model_kwargs=model_kwargs,
133
- encode_kwargs=encode_kwargs
 
134
  )
 
135
  ```
136
 
137
 
138
  #### Using HuggingFace Transformers
139
 
140
- With transformers package, you can use the model like this: First, you pass your input through the transformer model, then you select the last hidden state of first token (i.e., [CLS]) as the sentence embedding.
141
 
142
  ```python
143
  from transformers import AutoTokenizer, AutoModel
@@ -148,6 +218,7 @@ sentences = ["样例数据-1", "样例数据-2"]
148
  # Load model from HuggingFace Hub
149
  tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-large-zh')
150
  model = AutoModel.from_pretrained('BAAI/bge-large-zh')
 
151
 
152
  # Tokenize sentences
153
  encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
@@ -164,21 +235,65 @@ sentence_embeddings = torch.nn.functional.normalize(sentence_embeddings, p=2, di
164
  print("Sentence embeddings:", sentence_embeddings)
165
  ```
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
 
168
  ## Evaluation
 
169
  `baai-general-embedding` models achieve **state-of-the-art performance on both MTEB and C-MTEB leaderboard!**
170
- More details and evaluation tools see our [scripts](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/README.md).
171
 
172
  - **MTEB**:
173
 
174
  | Model Name | Dimension | Sequence Length | Average (56) | Retrieval (15) |Clustering (11) | Pair Classification (3) | Reranking (4) | STS (10) | Summarization (1) | Classification (12) |
175
  |:----:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
176
- | [**bge-large-en**](https://huggingface.co/BAAI/bge-large-en) | 1024 | 512 | **63.98** | **53.9** | **46.98** | 85.8 | **59.48** | 81.56 | 32.06 | **76.21** |
177
- | [**bge-base-en**](https://huggingface.co/BAAI/bge-base-en) | 768 | 512 | 63.36 | 53.0 | 46.32 | 85.86 | 58.7 | 81.84 | 29.27 | 75.27 |
 
 
 
178
  | [gte-large](https://huggingface.co/thenlper/gte-large) | 1024 | 512 | 63.13 | 52.22 | 46.84 | 85.00 | 59.13 | 83.35 | 31.66 | 73.33 |
179
  | [gte-base](https://huggingface.co/thenlper/gte-base) | 768 | 512 | 62.39 | 51.14 | 46.2 | 84.57 | 58.61 | 82.3 | 31.17 | 73.01 |
180
  | [e5-large-v2](https://huggingface.co/intfloat/e5-large-v2) | 1024| 512 | 62.25 | 50.56 | 44.49 | 86.03 | 56.61 | 82.05 | 30.19 | 75.24 |
181
- | [**bge-small-en**](https://huggingface.co/BAAI/bge-small-en) | 384 | 512 | 62.11 | 51.82 | 44.31 | 83.78 | 57.97 | 80.72 | 30.53 | 74.37 |
182
  | [instructor-xl](https://huggingface.co/hkunlp/instructor-xl) | 768 | 512 | 61.79 | 49.26 | 44.74 | 86.62 | 57.29 | 83.06 | 32.32 | 61.79 |
183
  | [e5-base-v2](https://huggingface.co/intfloat/e5-base-v2) | 768 | 512 | 61.5 | 50.29 | 43.80 | 85.73 | 55.91 | 81.05 | 30.28 | 73.84 |
184
  | [gte-small](https://huggingface.co/thenlper/gte-small) | 384 | 512 | 61.36 | 49.46 | 44.89 | 83.54 | 57.7 | 82.07 | 30.42 | 72.31 |
@@ -187,86 +302,80 @@ More details and evaluation tools see our [scripts](https://github.com/FlagOpen/
187
  | [sentence-t5-xxl](https://huggingface.co/sentence-transformers/sentence-t5-xxl) | 768 | 512 | 59.51 | 42.24 | 43.72 | 85.06 | 56.42 | 82.63 | 30.08 | 73.42 |
188
  | [all-mpnet-base-v2](https://huggingface.co/sentence-transformers/all-mpnet-base-v2) | 768 | 514 | 57.78 | 43.81 | 43.69 | 83.04 | 59.36 | 80.28 | 27.49 | 65.07 |
189
  | [sgpt-bloom-7b1-msmarco](https://huggingface.co/bigscience/sgpt-bloom-7b1-msmarco) | 4096 | 2048 | 57.59 | 48.22 | 38.93 | 81.9 | 55.65 | 77.74 | 33.6 | 66.19 |
190
- | [all-MiniLM-L12-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2) | 384 | 512 | 56.53 | 42.69 | 41.81 | 82.41 | 58.44 | 79.8 | 27.9 | 63.21 |
191
- | [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) | 384 | 512 | 56.26 | 41.95 | 42.35 | 82.37 | 58.04 | 78.9 | 30.81 | 63.05 |
192
- | [contriever-base-msmarco](https://huggingface.co/nthakur/contriever-base-msmarco) | 768 | 512 | 56.00 | 41.88 | 41.1 | 82.54 | 53.14 | 76.51 | 30.36 | 66.68 |
193
- | [sentence-t5-base](https://huggingface.co/sentence-transformers/sentence-t5-base) | 768 | 512 | 55.27 | 33.63 | 40.21 | 85.18 | 53.09 | 81.14 | 31.39 | 69.81 |
194
 
195
 
196
 
197
  - **C-MTEB**:
198
- We create a benchmark C-MTEB for chinese text embedding which consists of 31 datasets from 6 tasks.
199
  Please refer to [C_MTEB](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/README.md) for a detailed introduction.
200
 
201
  | Model | Embedding dimension | Avg | Retrieval | STS | PairClassification | Classification | Reranking | Clustering |
202
  |:-------------------------------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
203
- | [**bge-large-zh**](https://huggingface.co/BAAI/bge-large-zh) | 1024 | **64.20** | **71.53** | **53.23** | **78.94** | 72.26 | **65.11** | 48.39 |
204
- | [**bge-large-zh-noinstruct**](https://huggingface.co/BAAI/bge-large-zh-noinstruct) | 1024 | 63.53 | 70.55 | 50.98 | 76.77 | **72.49** | 64.91 | **50.01** |
205
- | [**BAAI/bge-base-zh**](https://huggingface.co/BAAI/bge-base-zh) | 768 | 62.96 | 69.53 | 52.05 | 77.5 | 70.98 | 64.91 | 47.63 |
206
- | [**BAAI/bge-small-zh**](https://huggingface.co/BAAI/bge-small-zh) | 512 | 58.27 | 63.07 | 46.87 | 70.35 | 67.78 | 61.48 | 45.09 |
207
- | [m3e-base](https://huggingface.co/moka-ai/m3e-base) | 768 | 57.10 |56.91 | 48.15 | 63.99 | 70.28 | 59.34 | 47.68 |
208
- | [m3e-large](https://huggingface.co/moka-ai/m3e-large) | 1024 | 57.05 |54.75 | 48.64 | 64.3 | 71.22 | 59.66 | 48.88 |
209
- | [text-embedding-ada-002(OpenAI)](https://platform.openai.com/docs/guides/embeddings/what-are-embeddings) | 1536 | 53.02 | 52.0 | 40.61 | 69.56 | 67.38 | 54.28 | 45.68 |
210
- | [luotuo](https://huggingface.co/silk-road/luotuo-bert-medium) | 1024 | 49.37 | 44.4 | 39.41 | 66.62 | 65.29 | 49.25 | 44.39 |
211
- | [text2vec](https://huggingface.co/shibing624/text2vec-base-chinese) | 768 | 47.63 | 38.79 | 41.71 | 67.41 | 65.18 | 49.45 | 37.66 |
212
- | [text2vec-large](https://huggingface.co/GanymedeNil/text2vec-large-chinese) | 1024 | 47.36 | 41.94 | 41.98 | 70.86 | 63.42 | 49.16 | 30.02 |
213
-
214
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
 
216
  ## Train
217
- This section will introduce the way we used to train the general embedding.
218
- The training scripts are in [FlagEmbedding](https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/baai_general_embedding/README.md),
219
- and we provide some examples to do [pre-train](https://github.com/FlagOpen/FlagEmbedding/blob/master/examples/pretrain/README.md) and [fine-tune](https://github.com/FlagOpen/FlagEmbedding/blob/master/examples/finetune/README.md).
220
-
221
-
222
- **1. RetroMAE Pre-train**
223
- We pre-train the model following the method [retromae](https://github.com/staoxiao/RetroMAE),
224
- which shows promising improvement in retrieval task ([paper](https://aclanthology.org/2022.emnlp-main.35.pdf)).
225
- The pre-training was conducted on 24 A100(40G) GPUs with a batch size of 720.
226
- In retromae, the mask ratio of encoder and decoder are 0.3, 0.5 respectively.
227
- We used the AdamW optimizer and the learning rate is 2e-5.
228
 
229
- **Pre-training data**:
230
- - English:
231
- - [Pile](https://pile.eleuther.ai/)
232
- - [wikipedia](https://huggingface.co/datasets/wikipedia)
233
- - [msmarco](https://huggingface.co/datasets/Tevatron/msmarco-passage-corpus)
234
- - Chinese:
235
- - [wudao](https://github.com/BAAI-WuDao/Data)
236
 
 
 
 
 
 
237
 
238
- **2. Finetune**
239
- We fine-tune the model using a contrastive objective.
240
- The format of input data is a triple`(query, positive, negative)`.
241
- Besides the negative in the triple, we also adopt in-batch negatives strategy.
242
- We employ the cross-device negatives sharing method to share negatives among different GPUs,
243
- which can dramatically **increase the number of negatives**.
244
 
245
- We trained our model on 48 A100(40G) GPUs with a large batch size of 32,768 (so there are **65,535** negatives for each query in a batch).
246
- We used the AdamW optimizer and the learning rate is 1e-5.
247
- The temperature for contrastive loss is 0.01.
248
 
249
- Besides, we add instruction to the query for s2p(short query to long passage) retrieval task in the training (add nothing to passages).
250
- For English, the instruction is `Represent this sentence for searching relevant passages: `;
251
- For Chinese, the instruction is `为这个句子生成表示以用于检索相关文章:`.
252
- In the evaluation, the instruction should be added for queries in retrieval task, not be added for other tasks.
253
- Noted that the instruction is not needed for passages.
254
 
255
- The finetune script is accessible in this repository: [FlagEmbedding](https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/baai_general_embedding/README.md).
256
- You can easily finetune your model with it.
 
 
 
 
257
 
258
- **Training data**:
259
 
260
- - For English, we collect 230M text pairs from [wikipedia](https://huggingface.co/datasets/wikipedia), [cc-net](https://github.com/facebookresearch/cc_net), and so on.
 
 
261
 
262
- - For chinese, we collect 120M text pairs from [wudao](https://github.com/BAAI-WuDao/Data), [simclue](https://github.com/CLUEbenchmark/SimCLUE) and so on.
263
 
264
- **The data collection is to be released in the future.**
265
-
266
- We will continually update the embedding models and training codes,
267
- hoping to promote the development of the embedding model community.
268
 
269
 
270
 
271
- ## License
272
- FlagEmbedding is licensed under [MIT License](https://github.com/FlagOpen/FlagEmbedding/blob/master/LICENSE). The released models can be used for commercial purposes free of charge.
 
7
  - transformers
8
  license: mit
9
  language:
10
+ - en
11
  ---
12
 
13
 
 
27
 
28
  More details please refer to our Github: [FlagEmbedding](https://github.com/FlagOpen/FlagEmbedding).
29
 
30
+
31
+
32
  [English](README.md) | [中文](https://github.com/FlagOpen/FlagEmbedding/blob/master/README_zh.md)
33
 
34
  FlagEmbedding can map any text to a low-dimensional dense vector which can be used for tasks like retrieval, classification, clustering, or semantic search.
35
+ And it also can be used in vector databases for LLMs.
36
 
37
  ************* 🌟**Updates**🌟 *************
38
+ - 09/12/2023: New Release:
39
+ - **New reranker model**: release a cross-encoder model bge-reranker-base, which is more powerful than embedding model. We recommend to use/fine-tune it to re-rank top-k documents returned by embedding models.
40
+ - **update embedding model**: release bge-*-v1.5 embedding model to alleviate the issue of the similarity distribution, and enhance its retrieval ability without instruction.
41
+ - 09/07/2023: Update [fine-tune code](https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/baai_general_embedding/README.md): Add script to mine hard negatives and support adding instruction during fine-tuning.
42
+ - 08/09/2023: BGE Models are integrated into **Langchain**, you can use it like [this](#using-langchain); C-MTEB **leaderboard** is [available](https://huggingface.co/spaces/mteb/leaderboard).
43
  - 08/05/2023: Release base-scale and small-scale models, **best performance among the models of the same size 🤗**
44
+ - 08/02/2023: Release `bge-large-*`(short for BAAI General Embedding) Models, **rank 1st on MTEB and C-MTEB benchmark!** :tada: :tada:
45
  - 08/01/2023: We release the [Chinese Massive Text Embedding Benchmark](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB) (**C-MTEB**), consisting of 31 test dataset.
46
 
47
 
 
49
 
50
  `bge` is short for `BAAI general embedding`.
51
 
52
+ | Model | Language | | Description | query instruction for retrieval\* |
53
+ |:-------------------------------|:--------:| :--------:| :--------:|:--------:|
54
+ | [BAAI/bge-reranker-large](https://huggingface.co/BAAI/bge-reranker-large) | Chinese and English | [Inference](#usage-for-reranker) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/reranker) | a cross-encoder model which is more accurate but less efficient \** | |
55
+ | [BAAI/bge-reranker-base](https://huggingface.co/BAAI/bge-reranker-base) | Chinese and English | [Inference](#usage-for-reranker) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/reranker) | a cross-encoder model which is more accurate but less efficient \** | |
56
+ | [BAAI/bge-large-en-v1.5](https://huggingface.co/BAAI/bge-large-en-v1.5) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `Represent this sentence for searching relevant passages: ` |
57
+ | [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `Represent this sentence for searching relevant passages: ` |
58
+ | [BAAI/bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `Represent this sentence for searching relevant passages: ` |
59
+ | [BAAI/bge-large-zh-v1.5](https://huggingface.co/BAAI/bge-large-zh-v1.5) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `为这个句子生成表示以用于检索相关文章:` |
60
+ | [BAAI/bge-base-zh-v1.5](https://huggingface.co/BAAI/bge-base-zh-v1.5) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `为这个句子生成表示以用于检索相关文章:` |
61
+ | [BAAI/bge-small-zh-v1.5](https://huggingface.co/BAAI/bge-small-zh-v1.5) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | version 1.5 with more reasonable similarity distribution | `为这个句子生成表示以用于检索相关文章:` |
62
+ | [BAAI/bge-large-en](https://huggingface.co/BAAI/bge-large-en) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | :trophy: rank **1st** in [MTEB](https://huggingface.co/spaces/mteb/leaderboard) leaderboard | `Represent this sentence for searching relevant passages: ` |
63
+ | [BAAI/bge-base-en](https://huggingface.co/BAAI/bge-base-en) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | a base-scale model but with similar ability to `bge-large-en` | `Represent this sentence for searching relevant passages: ` |
64
+ | [BAAI/bge-small-en](https://huggingface.co/BAAI/bge-small-en) | English | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) |a small-scale model but with competitive performance | `Represent this sentence for searching relevant passages: ` |
65
+ | [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | :trophy: rank **1st** in [C-MTEB](https://github.com/FlagOpen/FlagEmbedding/tree/master/C_MTEB) benchmark | `为这个句子生成表示以用于检索相关文章:` |
66
+ | [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | a base-scale model but with similar ability to `bge-large-zh` | `为这个句子生成表示以用于检索相关文章:` |
67
+ | [BAAI/bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) | Chinese | [Inference](#usage-for-embedding-model) [Fine-tune](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) | a small-scale model but with competitive performance | `为这个句子生成表示以用于检索相关文章:` |
68
+
69
+
70
+ \*: If you need to search the relevant passages to a query, we suggest to add the instruction to the query; in other cases, no instruction is needed, just use the original query directly. In all cases, **no instruction** needs to be added to passages.
71
+
72
+ \**: To balance the accuracy and time cost, cross-encoder is widely used to re-rank top-k documents retrieved by other simple models.
73
+ For examples, use bge embedding model to retrieve top 100 relevant documents, and then use bge reranker to re-rank the top 100 document to get the final top-3 results.
74
+
75
+
76
+ ## Frequently asked questions
77
+
78
+ <details>
79
+ <summary>1. How to fine-tune bge embedding model?</summary>
80
+
81
+ <!-- ### How to fine-tune bge embedding model? -->
82
+ Following this [example](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune) to prepare data and fine-tune your model.
83
+ Some suggestions:
84
+ - Mine hard negatives following this [example](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune#data-format), which can improve the retrieval performance.
85
+ - If you pre-train bge on your data, the pre-trained model cannot be directly used to calculate similarity, and it must be fine-tuned with contrastive learning before computing similarity.
86
+ - If the accuracy of the fine-tuned model is still not high, it is recommended to use/fine-tune the cross-encoder model (bge-reranker) to re-rank top-k results. Hard negatives also are needed to fine-tune reranker.
87
+
88
+
89
+ </details>
90
+
91
+ <details>
92
+ <summary>2. The similarity score between two dissimilar sentences is higher than 0.5</summary>
93
+
94
+ <!-- ### The similarity score between two dissimilar sentences is higher than 0.5 -->
95
+ **Suggest to use bge v1.5, which alleviates the issue of the similarity distribution.**
96
+
97
+ Since we finetune the models by contrastive learning with a temperature of 0.01,
98
+ the similarity distribution of the current BGE model is about in the interval \[0.6, 1\].
99
+ So a similarity score greater than 0.5 does not indicate that the two sentences are similar.
100
+
101
+ For downstream tasks, such as passage retrieval or semantic similarity,
102
+ **what matters is the relative order of the scores, not the absolute value.**
103
+ If you need to filter similar sentences based on a similarity threshold,
104
+ please select an appropriate similarity threshold based on the similarity distribution on your data (such as 0.8, 0.85, or even 0.9).
105
+
106
+ </details>
107
+
108
+ <details>
109
+ <summary>3. When does the query instruction need to be used</summary>
110
+
111
+ <!-- ### When does the query instruction need to be used -->
112
+
113
+ For a retrieval task that uses short queries to find long related documents,
114
+ it is recommended to add instructions for these short queries.
115
+ **The best method to decide whether to add instructions for queries is choosing the setting that achieves better performance on your task.**
116
+ In all cases, the documents/passages do not need to add the instruction.
117
+
118
+ </details>
119
 
 
120
 
121
  ## Usage
122
 
123
+ ### Usage for Embedding Model
124
+
125
+ Here are some examples for using `bge` models with
126
  [FlagEmbedding](#using-flagembedding), [Sentence-Transformers](#using-sentence-transformers), [Langchain](#using-langchain), or [Huggingface Transformers](#using-huggingface-transformers).
127
 
128
  #### Using FlagEmbedding
 
133
 
134
  ```python
135
  from FlagEmbedding import FlagModel
136
+ sentences_1 = ["样例数据-1", "样例数据-2"]
137
+ sentences_2 = ["样例数据-3", "样例数据-4"]
138
  model = FlagModel('BAAI/bge-large-zh', query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:")
139
+ embeddings_1 = model.encode(sentences_1)
140
+ embeddings_2 = model.encode(sentences_2)
141
  similarity = embeddings_1 @ embeddings_2.T
142
  print(similarity)
143
 
144
+ # for s2p(short query to long passage) retrieval task, suggest to use encode_queries() which will automatically add the instruction to each query
145
  # corpus in retrieval task can still use encode() or encode_corpus(), since they don't need instruction
146
  queries = ['query_1', 'query_2']
147
  passages = ["样例文档-1", "样例文档-2"]
 
149
  p_embeddings = model.encode(passages)
150
  scores = q_embeddings @ p_embeddings.T
151
  ```
152
+ For the value of the argument `query_instruction_for_retrieval`, see [Model List](https://github.com/FlagOpen/FlagEmbedding/tree/master#model-list).
153
 
154
+ By default, FlagModel will use all available GPUs when encoding. Please set `os.environ["CUDA_VISIBLE_DEVICES"]` to select specific GPUs.
155
+ You also can set `os.environ["CUDA_VISIBLE_DEVICES"]=""` to make all GPUs unavailable.
156
 
157
 
158
  #### Using Sentence-Transformers
159
 
160
+ You can also use the `bge` models with [sentence-transformers](https://www.SBERT.net):
161
 
162
  ```
163
  pip install -U sentence-transformers
164
  ```
165
  ```python
166
  from sentence_transformers import SentenceTransformer
167
+ sentences_1 = ["样例数据-1", "样例数据-2"]
168
+ sentences_2 = ["样例数据-3", "样例数据-4"]
169
  model = SentenceTransformer('BAAI/bge-large-zh')
170
+ embeddings_1 = model.encode(sentences_1, normalize_embeddings=True)
171
+ embeddings_2 = model.encode(sentences_2, normalize_embeddings=True)
172
  similarity = embeddings_1 @ embeddings_2.T
173
  print(similarity)
174
  ```
 
195
  model_name = "BAAI/bge-small-en"
196
  model_kwargs = {'device': 'cuda'}
197
  encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity
198
+ model = HuggingFaceBgeEmbeddings(
199
  model_name=model_name,
200
  model_kwargs=model_kwargs,
201
+ encode_kwargs=encode_kwargs,
202
+ query_instruction="为这个句子生成表示以用于检索相关文章:"
203
  )
204
+ model.query_instruction = "为这个句子生成表示以用于检索相关文章:"
205
  ```
206
 
207
 
208
  #### Using HuggingFace Transformers
209
 
210
+ With the transformers package, you can use the model like this: First, you pass your input through the transformer model, then you select the last hidden state of the first token (i.e., [CLS]) as the sentence embedding.
211
 
212
  ```python
213
  from transformers import AutoTokenizer, AutoModel
 
218
  # Load model from HuggingFace Hub
219
  tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-large-zh')
220
  model = AutoModel.from_pretrained('BAAI/bge-large-zh')
221
+ model.eval()
222
 
223
  # Tokenize sentences
224
  encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
 
235
  print("Sentence embeddings:", sentence_embeddings)
236
  ```
237
 
238
+ ### Usage for Reranker
239
+
240
+ You can get a relevance score by inputting query and passage to the reranker.
241
+ The reranker is optimized based cross-entropy loss, so the relevance score is not bounded to a specific range.
242
+
243
+
244
+ #### Using FlagEmbedding
245
+ ```
246
+ pip install -U FlagEmbedding
247
+ ```
248
+
249
+ Get relevance score:
250
+ ```python
251
+ from FlagEmbedding import FlagReranker
252
+ reranker = FlagReranker('BAAI/bge-reranker-base', use_fp16=True) #use fp16 can speed up computing
253
+
254
+ score = reranker.compute_score(['query', 'passage'])
255
+ print(score)
256
+
257
+ scores = reranker.compute_score([['what is panda?', 'hi'], ['what is panda?', 'The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China.']])
258
+ print(scores)
259
+ ```
260
+
261
+
262
+ #### Using Huggingface transformers
263
+
264
+ ```python
265
+ import torch
266
+ from transformers import AutoModelForSequenceClassification, AutoTokenizer, BatchEncoding, PreTrainedTokenizerFast
267
+
268
+ tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-reranker-base')
269
+ model = AutoModelForSequenceClassification.from_pretrained('BAAI/bge-reranker-base')
270
+ model.eval()
271
+
272
+ pairs = [['what is panda?', 'hi'], ['what is panda?', 'The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China.']]
273
+ with torch.no_grad():
274
+ inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
275
+ scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
276
+ print(scores)
277
+ ```
278
 
279
  ## Evaluation
280
+
281
  `baai-general-embedding` models achieve **state-of-the-art performance on both MTEB and C-MTEB leaderboard!**
282
+ For more details and evaluation tools see our [scripts](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/README.md).
283
 
284
  - **MTEB**:
285
 
286
  | Model Name | Dimension | Sequence Length | Average (56) | Retrieval (15) |Clustering (11) | Pair Classification (3) | Reranking (4) | STS (10) | Summarization (1) | Classification (12) |
287
  |:----:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
288
+ | [BAAI/bge-large-en-v1.5](https://huggingface.co/BAAI/bge-large-en-v1.5) | 1024 | 512 | **64.23** | **54.29** | 46.08 | 87.12 | 60.03 | 83.11 | 31.61 | 75.97 |
289
+ | [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | 768 | 512 | 63.55 | 53.25 | 45.77 | 86.55 | 58.86 | 82.4 | 31.07 | 75.53 |
290
+ | [BAAI/bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5) | 384 | 512 | 62.17 |51.68 | 43.82 | 84.92 | 58.36 | 81.59 | 30.12 | 74.14 |
291
+ | [bge-large-en](https://huggingface.co/BAAI/bge-large-en) | 1024 | 512 | 63.98 | 53.9 | 46.98 | 85.8 | 59.48 | 81.56 | 32.06 | 76.21 |
292
+ | [bge-base-en](https://huggingface.co/BAAI/bge-base-en) | 768 | 512 | 63.36 | 53.0 | 46.32 | 85.86 | 58.7 | 81.84 | 29.27 | 75.27 |
293
  | [gte-large](https://huggingface.co/thenlper/gte-large) | 1024 | 512 | 63.13 | 52.22 | 46.84 | 85.00 | 59.13 | 83.35 | 31.66 | 73.33 |
294
  | [gte-base](https://huggingface.co/thenlper/gte-base) | 768 | 512 | 62.39 | 51.14 | 46.2 | 84.57 | 58.61 | 82.3 | 31.17 | 73.01 |
295
  | [e5-large-v2](https://huggingface.co/intfloat/e5-large-v2) | 1024| 512 | 62.25 | 50.56 | 44.49 | 86.03 | 56.61 | 82.05 | 30.19 | 75.24 |
296
+ | [bge-small-en](https://huggingface.co/BAAI/bge-small-en) | 384 | 512 | 62.11 | 51.82 | 44.31 | 83.78 | 57.97 | 80.72 | 30.53 | 74.37 |
297
  | [instructor-xl](https://huggingface.co/hkunlp/instructor-xl) | 768 | 512 | 61.79 | 49.26 | 44.74 | 86.62 | 57.29 | 83.06 | 32.32 | 61.79 |
298
  | [e5-base-v2](https://huggingface.co/intfloat/e5-base-v2) | 768 | 512 | 61.5 | 50.29 | 43.80 | 85.73 | 55.91 | 81.05 | 30.28 | 73.84 |
299
  | [gte-small](https://huggingface.co/thenlper/gte-small) | 384 | 512 | 61.36 | 49.46 | 44.89 | 83.54 | 57.7 | 82.07 | 30.42 | 72.31 |
 
302
  | [sentence-t5-xxl](https://huggingface.co/sentence-transformers/sentence-t5-xxl) | 768 | 512 | 59.51 | 42.24 | 43.72 | 85.06 | 56.42 | 82.63 | 30.08 | 73.42 |
303
  | [all-mpnet-base-v2](https://huggingface.co/sentence-transformers/all-mpnet-base-v2) | 768 | 514 | 57.78 | 43.81 | 43.69 | 83.04 | 59.36 | 80.28 | 27.49 | 65.07 |
304
  | [sgpt-bloom-7b1-msmarco](https://huggingface.co/bigscience/sgpt-bloom-7b1-msmarco) | 4096 | 2048 | 57.59 | 48.22 | 38.93 | 81.9 | 55.65 | 77.74 | 33.6 | 66.19 |
 
 
 
 
305
 
306
 
307
 
308
  - **C-MTEB**:
309
+ We create the benchmark C-MTEB for Chinese text embedding which consists of 31 datasets from 6 tasks.
310
  Please refer to [C_MTEB](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/README.md) for a detailed introduction.
311
 
312
  | Model | Embedding dimension | Avg | Retrieval | STS | PairClassification | Classification | Reranking | Clustering |
313
  |:-------------------------------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
314
+ | [**BAAI/bge-large-zh-v1.5**](https://huggingface.co/BAAI/bge-large-zh-v1.5) | 1024 | **64.53** | 70.46 | 56.25 | 81.6 | 69.13 | 65.84 | 48.99 |
315
+ | [BAAI/bge-base-zh-v1.5](https://huggingface.co/BAAI/bge-base-zh-v1.5) | 768 | 63.13 | 69.49 | 53.72 | 79.75 | 68.07 | 65.39 | 47.53 |
316
+ | [BAAI/bge-small-zh-v1.5](https://huggingface.co/BAAI/bge-small-zh-v1.5) | 512 | 57.82 | 61.77 | 49.11 | 70.41 | 63.96 | 60.92 | 44.18 |
317
+ | [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) | 1024 | 64.20 | 71.53 | 54.98 | 78.94 | 68.32 | 65.11 | 48.39 |
318
+ | [bge-large-zh-noinstruct](https://huggingface.co/BAAI/bge-large-zh-noinstruct) | 1024 | 63.53 | 70.55 | 53 | 76.77 | 68.58 | 64.91 | 50.01 |
319
+ | [BAAI/bge-base-zh](https://huggingface.co/BAAI/bge-base-zh) | 768 | 62.96 | 69.53 | 54.12 | 77.5 | 67.07 | 64.91 | 47.63 |
320
+ | [multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) | 1024 | 58.79 | 63.66 | 48.44 | 69.89 | 67.34 | 56.00 | 48.23 |
321
+ | [BAAI/bge-small-zh](https://huggingface.co/BAAI/bge-small-zh) | 512 | 58.27 | 63.07 | 49.45 | 70.35 | 63.64 | 61.48 | 45.09 |
322
+ | [m3e-base](https://huggingface.co/moka-ai/m3e-base) | 768 | 57.10 | 56.91 | 50.47 | 63.99 | 67.52 | 59.34 | 47.68 |
323
+ | [m3e-large](https://huggingface.co/moka-ai/m3e-large) | 1024 | 57.05 | 54.75 | 50.42 | 64.3 | 68.2 | 59.66 | 48.88 |
324
+ | [multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base) | 768 | 55.48 | 61.63 | 46.49 | 67.07 | 65.35 | 54.35 | 40.68 |
325
+ | [multilingual-e5-small](https://huggingface.co/intfloat/multilingual-e5-small) | 384 | 55.38 | 59.95 | 45.27 | 66.45 | 65.85 | 53.86 | 45.26 |
326
+ | [text-embedding-ada-002(OpenAI)](https://platform.openai.com/docs/guides/embeddings/what-are-embeddings) | 1536 | 53.02 | 52.0 | 43.35 | 69.56 | 64.31 | 54.28 | 45.68 |
327
+ | [luotuo](https://huggingface.co/silk-road/luotuo-bert-medium) | 1024 | 49.37 | 44.4 | 42.78 | 66.62 | 61 | 49.25 | 44.39 |
328
+ | [text2vec-base](https://huggingface.co/shibing624/text2vec-base-chinese) | 768 | 47.63 | 38.79 | 43.41 | 67.41 | 62.19 | 49.45 | 37.66 |
329
+ | [text2vec-large](https://huggingface.co/GanymedeNil/text2vec-large-chinese) | 1024 | 47.36 | 41.94 | 44.97 | 70.86 | 60.66 | 49.16 | 30.02 |
330
+
331
+
332
+ - **Reranking**:
333
+ See [C_MTEB](https://github.com/FlagOpen/FlagEmbedding/blob/master/C_MTEB/) for evaluation script.
334
+
335
+ | Model | T2Reranking | T2RerankingZh2En\* | T2RerankingEn2Zh\* | MmarcoReranking | CMedQAv1 | CMedQAv2 | Avg |
336
+ |:-------------------------------|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:|
337
+ | text2vec-base-multilingual | 64.66 | 62.94 | 62.51 | 14.37 | 48.46 | 48.6 | 50.26 |
338
+ | multilingual-e5-small | 65.62 | 60.94 | 56.41 | 29.91 | 67.26 | 66.54 | 57.78 |
339
+ | multilingual-e5-large | 64.55 | 61.61 | 54.28 | 28.6 | 67.42 | 67.92 | 57.4 |
340
+ | multilingual-e5-base | 64.21 | 62.13 | 54.68 | 29.5 | 66.23 | 66.98 | 57.29 |
341
+ | m3e-base | 66.03 | 62.74 | 56.07 | 17.51 | 77.05 | 76.76 | 59.36 |
342
+ | m3e-large | 66.13 | 62.72 | 56.1 | 16.46 | 77.76 | 78.27 | 59.57 |
343
+ | bge-base-zh-v1.5 | 66.49 | 63.25 | 57.02 | 29.74 | 80.47 | 84.88 | 63.64 |
344
+ | bge-large-zh-v1.5 | 65.74 | 63.39 | 57.03 | 28.74 | 83.45 | 85.44 | 63.97 |
345
+ | [BAAI/bge-reranker-base](https://huggingface.co/BAAI/bge-reranker-base) | 67.28 | 63.95 | 60.45 | 35.46 | 81.26 | 84.1 | 65.42 |
346
+ | [BAAI/bge-reranker-large](https://huggingface.co/BAAI/bge-reranker-large) | 67.6 | 64.03 | 61.44 | 37.16 | 82.15 | 84.18 | 66.09 |
347
+
348
+ \* : T2RerankingZh2En and T2RerankingEn2Zh are cross-language retrieval task
349
 
350
  ## Train
 
 
 
 
 
 
 
 
 
 
 
351
 
352
+ ### BAAI Embedding
 
 
 
 
 
 
353
 
354
+ We pre-train the models using retromae and train them on large-scale pairs data using contrastive learning.
355
+ **You can fine-tune the embedding model on your data following our [examples](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune).**
356
+ We also provide a [pre-train example](https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/pretrain).
357
+ Note that the goal of pre-training is to reconstruct the text, and the pre-trained model cannot be used for similarity calculation directly, it needs to be fine-tuned.
358
+ More training details for bge see [baai_general_embedding](https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/baai_general_embedding/README.md).
359
 
 
 
 
 
 
 
360
 
 
 
 
361
 
362
+ ### BGE Reranker
 
 
 
 
363
 
364
+ Cross-encoder will perform full-attention over the input pair,
365
+ which is more accurate than embedding model (i.e., bi-encoder) but more time-consuming than embedding model.
366
+ Therefore, it can be used to re-rank the top-k documents returned by embedding model.
367
+ We train the cross-encoder on a multilingual pair data,
368
+ The data format is the same as embedding model, so you can fine-tune it easily following our example.
369
+ More details pelease refer to [./FlagEmbedding/reranker/README.md](./FlagEmbedding/reranker/README.md)
370
 
 
371
 
372
+ ## Contact
373
+ If you have any question or suggestion related to this project, feel free to open an issue or pull request.
374
+ You also can email Shitao Xiao([email protected]) and Zheng Liu([email protected]).
375
 
 
376
 
377
+ ## License
378
+ FlagEmbedding is licensed under the [MIT License](https://github.com/FlagOpen/FlagEmbedding/blob/master/LICENSE). The released models can be used for commercial purposes free of charge.
 
 
379
 
380
 
381
 
 
 
config.json CHANGED
@@ -1,13 +1,11 @@
1
  {
2
- "_name_or_path": "/root/.cache/torch/sentence_transformers/BAAI_bge-base-zh/",
3
  "architectures": [
4
  "BertModel"
5
  ],
6
  "attention_probs_dropout_prob": 0.1,
7
- "bos_token_id": 0,
8
  "classifier_dropout": null,
9
- "directionality": "bidi",
10
- "eos_token_id": 2,
11
  "hidden_act": "gelu",
12
  "hidden_dropout_prob": 0.1,
13
  "hidden_size": 768,
@@ -24,17 +22,11 @@
24
  "model_type": "bert",
25
  "num_attention_heads": 12,
26
  "num_hidden_layers": 12,
27
- "output_past": true,
28
  "pad_token_id": 0,
29
- "pooler_fc_size": 768,
30
- "pooler_num_attention_heads": 12,
31
- "pooler_num_fc_layers": 3,
32
- "pooler_size_per_head": 128,
33
- "pooler_type": "first_token_transform",
34
  "position_embedding_type": "absolute",
35
  "torch_dtype": "float32",
36
  "transformers_version": "4.30.0",
37
  "type_vocab_size": 2,
38
  "use_cache": true,
39
- "vocab_size": 21128
40
  }
 
1
  {
2
+ "_name_or_path": "/root/.cache/torch/sentence_transformers/BAAI_bge-base-en/",
3
  "architectures": [
4
  "BertModel"
5
  ],
6
  "attention_probs_dropout_prob": 0.1,
 
7
  "classifier_dropout": null,
8
+ "gradient_checkpointing": false,
 
9
  "hidden_act": "gelu",
10
  "hidden_dropout_prob": 0.1,
11
  "hidden_size": 768,
 
22
  "model_type": "bert",
23
  "num_attention_heads": 12,
24
  "num_hidden_layers": 12,
 
25
  "pad_token_id": 0,
 
 
 
 
 
26
  "position_embedding_type": "absolute",
27
  "torch_dtype": "float32",
28
  "transformers_version": "4.30.0",
29
  "type_vocab_size": 2,
30
  "use_cache": true,
31
+ "vocab_size": 30522
32
  }
pytorch_model.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:731cf5d88ed555a21ff2f2d9fa4db43b10489173ddd9178db3eecfd7a2bae044
3
- size 409138989
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b9d4a4b2d7ab06e3861861d5ee370974b31d17c0bb6af6f13d3dc79f33bbdcd
3
+ size 437997357
tokenizer.json CHANGED
The diff for this file is too large to render. See raw diff
 
vocab.txt CHANGED
The diff for this file is too large to render. See raw diff