File size: 1,913 Bytes
6082445
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26e5367
 
6082445
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
language:
- ms
---

# 2B 32768 context length Llama2 on Malaysian text embedding task using contrastive loss

Trained on truncated 8k context length, but infer able to scale up to 32k context length.

README at https://github.com/mesolitica/llm-embedding#finetune

WandB, https://wandb.ai/mesolitica/llama2-embedding-2b-contrastive?workspace=user-husein-mesolitica

WandB report, https://wandb.ai/mesolitica/llama2-embedding-600m-contrastive/reports/Contrastive-embedding-loss--Vmlldzo2MTM4ODE0

## how-to

```python
from transformers import AutoModel, AutoTokenizer
from sklearn.metrics.pairwise import cosine_similarity

model = AutoModel.from_pretrained('llama2-embedding-2b-8k-contrastive', trust_remote_code = True)
tokenizer = AutoTokenizer.from_pretrained('llama2-embedding-2b-8k-contrastive')

input_ids = tokenizer(
    [
        'tak suka ayam', 
        'Isu perkauman: Kerajaan didakwa terdesak kaitkan pemimpin PN',
        'nasi ayam tu sedap', 
        'suka ikan goreng?',
        'Kerajaan tidak akan berkompromi dengan isu perkauman dan agama yang dimanipulasi pihak tertentu untuk mengganggu-gugat kestabilan negara serta ketenteraman rakyat.',
        'rasis bodo mamat tu',
        'kerajaan sekarang xde otak',
        'aku nak sukan olimpik ni',
        'malaysia dapat x pingat kt sukan asia?',
        'pingat gangsa menerusi terjun dan olahraga pada hari ke-10',
        'Kerajaan negeri kini dibenarkan melaksanakan penerokaan awal unsur nadir bumi (REE) berdasarkan prosedur operasi standard (SOP) sedia ada untuk perlombongan nadir bumi dan mineral.',
        'KONTINJEN Malaysia mendekati sasaran 27 pingat di Sukan Asia kali ini esok, selepas menuai dua lagi pingat gangsa menerusi terjun dan olahraga pada hari ke-10 pertandingan, pada Selasa.'
    ], 
    return_tensors = 'pt',
    padding = True
)
v = model.encode(input_ids).detach().numpy()
v.shape
```

```
(12, 1536)
```