mpjan/msmarco-distilbert-base-tas-b-mmarco-pt-300k
mpjan
Similitud de oraciones
Este es un modelo de sentence-transformers: mapea oraciones y párrafos a un espacio vectorial denso de 768 dimensiones y se puede utilizar para tareas como la agrupación o la búsqueda semántica. Es un ajuste fino de sentence-transformers/msmarco-distilbert-base-tas-b en los primeros 300k tríos del subconjunto portugués en unicamp-dl/mmarco.
Como usar
Uso (Sentence-Transformers)
pip install -U sentence-transformers
Luego puedes usar el modelo así:
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('mpjan/msmarco-distilbert-base-tas-b-mmarco-pt-300k')
embeddings = model.encode(sentences)
print(embeddings)
Uso (HuggingFace Transformers)
Sin sentence-transformers, puedes usar el modelo así: Primero, pasas tu entrada a través del modelo transformer, luego debes aplicar la operación de agrupamiento adecuada en la parte superior de los embeddings de palabras contextualizadas.
from transformers import AutoTokenizer, AutoModel
import torch
def cls_pooling(model_output, attention_mask):
return model_output[0][:,0]
# Oraciones para las que queremos embeddings de oraciones
sentences = ['This is an example sentence', 'Each sentence is converted']
# Cargar el modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('mpjan/msmarco-distilbert-base-tas-b-mmarco-pt-300k')
model = AutoModel.from_pretrained('mpjan/msmarco-distilbert-base-tas-b-mmarco-pt-300k')
# Tokenizar oraciones
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Calcular embeddings de tokens
with torch.no_grad():
model_output = model(**encoded_input)
# Realizar agrupamiento. En este caso, agrupamiento cls.
sentence_embeddings = cls_pooling(model_output, encoded_input['attention_mask'])
print("Embeddings de oraciones:")
print(sentence_embeddings)
Funcionalidades
- Funciona con sentence-transformers
- Transformadores de HuggingFace
- Extracción de características
- Embeddings textuales
- Infrence Endpoints
Casos de uso
- Agrupación de oraciones
- Búsqueda semántica