Downloads · 30 days
9
3% of all-time downloads
Intel/intel-optimized-model-for-embeddings-int8-v1
intel-optimized-model-for-embeddings-int8-v1 is a machine learning model from Intel. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
This is a text embedding model model: It maps sentences & paragraphs to a 512 dimensional dense vector space and can be used for tasks like clustering or semantic search. For sample code that uses this model in a torc…
Downloads · 30 days
9
3% of all-time downloads
All-time downloads
318
Public
Repo size
57.8 MB
Likes
0
Public
Click a slice to open those files.
.bin57.8 MB · 98%
From the Hugging Face model README
This is a text embedding model model: It maps sentences & paragraphs to a 512 dimensional dense vector space and can be used for tasks like clustering or semantic search. For sample code that uses this model in a torch serve container see Intel-Optimized-Container-for-Embeddings. The model was quantized using static quantization from the Intel Neural Compressor library.
Install the required packages:
pip install -U torch==2.3.1+cpu --extra-index-url https://download.pytorch.org/whl/cpu
pip install -U transformers==4.42.4 intel-extension-for-pytorch==2.3.100
Use the following example below to load the model with the transformers library, tokenize the text, run the model, and apply pooling to the output.
import os
import torch
from transformers import AutoTokenizer, AutoModel
import intel_extension_for_pytorch as ipex
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded,
1) / torch.clamp(input_mask_expanded.sum(1),
min=1e-9)
# load model
tokenizer = AutoTokenizer.from_pretrained('Intel/intel-optimized-model-for-embeddings-int8-v1')
file_name = "pytorch_model.bin"
model_file_path = os.path.join(model_dir, file_name)
model = torch.jit.load(model_file_path)
model = ipex.optimize(model, level="O1",auto_kernel_selection=True,
conv_bn_folding=False, dtype=torch.int8)
model = torch.jit.freeze(model.eval())
text = ["This is a test."]
with torch.no_grad(), torch.autocast(device_type='cpu', cache_enabled=False, dtype=torch.int8):
tokenized_text = tokenizer(text, padding=True, truncation=True, return_tensors='pt')
model_output = model(**tokenized_text)
sentence_embeddings = mean_pooling((model_output["last_hidden_state"], ),
tokenized_text['attention_mask'])
embeddings = sentence_embeddings[0].tolist()
# Embeddings output
print(embeddings)
This model was fine-tuned using the sentence-transformers library based on the BERT-Medium_L-8_H-512_A-8 model using UAE-Large-V1 as a teacher.
| Dataset | Description | License |
|---|---|---|
| beir/dbpedia-entity | DBpedia-Entity is a standard test collection for entity search over the DBpedia knowledge base. | CC BY-SA 3.0 license |
| beir/nq | To help spur development in open-domain question answering, the Natural Questions (NQ) corpus has been created, along with a challenge website based on this data. | CC BY-SA 3.0 license |
| beir/scidocs | SciDocs is a new evaluation benchmark consisting of seven document-level tasks ranging from citation prediction, to document classification and recommendation. | CC-BY-SA-4.0 license |
| beir/trec-covid | TREC-COVID followed the TREC model for building IR test collections through community evaluations of search systems. | CC-BY-SA-4.0 license |
| beir/touche2020 | Given a question on a controversial topic, retrieve relevant arguments from a focused crawl of online debate portals. | CC BY 4.0 license |
| WikiAnswers | The WikiAnswers corpus contains clusters of questions tagged by WikiAnswers users as paraphrases. | MIT |
| Cohere/wikipedia-22-12-en-embeddings Dataset | The Cohere/Wikipedia dataset is a processed version of the wikipedia-22-12 dataset. It is English only, and the articles are broken up into paragraphs. | Apache 2.0 |
| MLNI | GLUE, the General Language Understanding Evaluation benchmark (https://gluebenchmark.com/) is a collection of resources for training, evaluating, and analyzing natural language understanding systems. | MIT |