File size: 9,171 Bytes
9800090
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
---
language:
- multilingual
tags:
- transformers
- pytorch
- sentence-transformers
- feature-extraction
- retrieval
- semantic-similarity
- classification
- clustering
- bitext-mining
- reranking
library_name: transformers
pipeline_tag: feature-extraction
license: mit
---

# global-embedder

**Multilingual Dense Text Embedding Family – Decoder‑Only, Instruction‑Aware, State‑of‑the‑Art**

---

## Model Overview

`global-embedder` is a family of multilingual text embedding models built on a decoder‑only Transformer architecture. Unlike traditional encoder‑based embedders, this model uses **last‑token pooling** and L2 normalization to produce dense, fixed‑size vector representations from long input sequences (up to 32,768 tokens). It is designed to serve as a universal backbone for retrieval, semantic similarity, clustering, classification, bitext mining, and reranking across over 80 languages.

The key differentiator lies in its **instruction‑aware training**: query‑side natural language instructions allow the model to adapt to diverse downstream tasks without fine‑tuning. By leveraging contrastive learning on a large‑scale mixture of multilingual datasets and knowledge distillation for the smaller variants, `global-embedder` achieves top performance on the Multilingual MTEB v2 benchmark as of its release date.

| Variant | Parameters | Embedding Dim | Max Tokens | MTEB v2 Score |
|---------|------------|---------------|------------|---------------|
| `global-embedder-270m` | 270M | 640 | 32,768 | 66.5 |
| `global-embedder-0.6b`  | 0.6B | 1,024 | 32,768 | 69.0 |
| `global-embedder-27b`   | 27B  | 5,376 | 32,768 | **74.3** |

---

## Intended Uses & Limitations

### Primary Use Cases
- **Information Retrieval** – Dense passage retrieval for web search, FAQ matching, and enterprise knowledge bases.
- **Semantic Similarity** – Computing pairwise sentence/document similarity for deduplication or clustering.
- **Classification & Clustering** – Producing input features for downstream classifiers or unsupervised grouping.
- **Bitext Mining** – Aligning sentences between different languages for translation or parallel corpus creation.
- **Reranking** – Improving first‑stage retrieval results by re‑scoring candidates.

### Out‑of‑Scope Scenarios
- Generative tasks (text summarisation, dialogue, translation) – this model is not designed for autoregressive generation.
- Real‑time latency‑sensitive applications without hardware acceleration – the 27B variant requires substantial compute.
- Tasks requiring explicit reasoning or fact‑grounded knowledge – embeddings capture semantic similarity, not factual correctness.

### Known Biases and Limitations
- The training data, while multilingual, may contain regional and cultural biases that can surface in the embeddings.
- Performance varies across languages; high‑resource languages (English, Chinese, Spanish) generally achieve better scores than low‑resource ones.
- The model does not inherently distinguish between factual and hypothetical statements – it treats all input text semantically.

---

## How to Use

### Option 1: Sentence Transformers (Recommended)

```python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("global-embedder-27b", model_kwargs={"dtype": "auto"})

# Use a pre‑configured instruction for web search queries
queries = [
    "how much protein should a female eat",
    "summit define"
]
documents = [
    "As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day...",
    "Definition of summit for English Language Learners: the highest point of a mountain..."
]

query_emb = model.encode(queries, prompt_name="web_search_query")
doc_emb = model.encode(documents)

scores = (query_emb @ doc_emb.T) * 100
print(scores.tolist())
```

For a custom instruction, pass the `prompt` parameter:

```python
query_emb = model.encode(
    queries,
    prompt="Instruct: Retrieve semantically similar passages\nQuery: "
)
```

### Option 2: Transformers (Raw Pooling)

```python
import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel

def last_token_pool(last_hidden_states, attention_mask):
    left_padding = (attention_mask[:, -1].sum() == attention_mask.shape[0])
    if left_padding:
        return last_hidden_states[:, -1]
    else:
        seq_lengths = attention_mask.sum(dim=1) - 1
        batch_size = last_hidden_states.shape[0]
        return last_hidden_states[torch.arange(batch_size, device=last_hidden_states.device), seq_lengths]

def instruct_query(task, query):
    return f'Instruct: {task}\nQuery: {query}'

task = "Given a web search query, retrieve relevant passages"
queries = [instruct_query(task, q) for q in ["how much protein should a female eat", "summit define"]]
documents = ["...", "..."]

tokenizer = AutoTokenizer.from_pretrained("global-embedder-27b")
model = AutoModel.from_pretrained("global-embedder-27b", dtype="auto").cuda()
model.eval()

batch = tokenizer(queries + documents, max_length=32768, padding=True, truncation=True, return_tensors="pt")
batch = {k: v.cuda() for k, v in batch.items()}

with torch.no_grad():
    outputs = model(**batch)
    embeddings = last_token_pool(outputs.last_hidden_state, batch["attention_mask"])
    embeddings = F.normalize(embeddings, p=2, dim=1)

scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
```

### Inference Widget (Feature Extraction)

You can test the model directly on the Hub using the inference widget (if hosted). Select the `feature-extraction` pipeline and input your text. Note that the widget returns raw hidden states – for a pooled embedding, please use the code above.

---

## Training Data

The model was trained on a **large‑scale proprietary mixture of multilingual datasets** encompassing:

- Web‑crawled corpora (general domain)
- Parallel bitext for cross‑lingual alignment
- Question‑answer pairs and search logs
- Public benchmark datasets (e.g., MS‑MARCO, Natural Questions, XQuAD, and others – anonymised)

All data underwent deduplication, language identification, and filtering for quality (e.g., removal of toxic or low‑perplexity content). The final training set covers more than 80 languages, with a balanced sampling strategy to mitigate the dominance of high‑resource languages.

---

## Training Procedure

- **Architecture**: Decoder‑only Transformer with causal attention, adapted for embedding via last‑token pooling.
- **Objective**: Contrastive learning with in‑batch negatives and hard‑negative mining. Instruction‑based query formatting was applied during training.
- **Optimizer**: AdamW with weight decay (`[WEIGHT_DECAY]`) and linear warmup.
- **Hyperparameters** (varies by size – representative for 27B):
  - Batch size: `[BATCH_SIZE]` (global with gradient accumulation)
  - Learning rate: `[LEARNING_RATE]`
  - Epochs: `[EPOCHS]`
  - Precision: mixed‑precision (BF16)
- **Hardware**: Distributed training across `[NUMBER_OF_GPUS]` NVIDIA A100 (80GB) GPUs.
- **Knowledge Distillation** (for 270M and 0.6B variants): Teacher embeddings from the larger 27B model were used to augment the contrastive loss.

---

## Evaluation Results

Performance measured on the **Multilingual MTEB v2** benchmark, which covers retrieval, clustering, classification, similarity, and reranking tasks across 50+ languages. The reported score is the **average across all tasks** (macro‑average).

| Variant | Average MTEB v2 Score |
|---------|------------------------|
| `global-embedder-270m` | 66.5 |
| `global-embedder-0.6b`  | 69.0 |
| `global-embedder-27b`   | **74.3** |

Detailed per‑task breakdowns are available in the evaluation suite (`[EVALUATION_SUITE_LINK]`). Reproduced scores may vary by ±0.2 due to software versions.

---

## Environmental Impact

Training the 27B variant required approximately `[TRAINING_HOURS]` hours on `[NUMBER_OF_GPUS]` A100 GPUs. Estimated CO₂ emissions (using the Machine Learning Impact calculator) are `[CO2_EMISSIONS]` kg CO₂ equivalent. We are committed to reducing future footprints via model distillation and efficient scaling.

---

## Bias, Risks, and Limitations

- **Geographic and Cultural Bias**: The training data over‑represents Western and East Asian internet content, which may skew embeddings for underrepresented regions.
- **Stereotypical Associations**: As with all large language models, the embeddings may encode societal stereotypes present in the training corpora.
- **Misuse Potential**: The model could be used to amplify surveillance or profiling if applied to sensitive personal data without proper safeguards.
- **Adversarial Robustness**: The model has not been extensively tested against adversarial perturbations; embeddings might be vulnerable to deliberate input manipulation.

**Mitigations**: We recommend deploying the model with a bias‑audit layer for high‑stakes applications, and always combining with human‑in‑the‑loop oversight. Users should not rely solely on model outputs for critical decisions.