stella-base-zh-v2

infgrad
Similitud de oraciones

stella es un modelo de codificación de texto de propósito general, que incluye principalmente los siguientes modelos: stella-large-zh-v2, stella-base-zh-v2, stella-large-zh, y stella-base-zh. Este modelo está entrenado en una variedad de datos abiertos y utiliza métodos como el aprendizaje por contraste y la distilación de conocimiento para mejorar el rendimiento. Las características principales incluyen tamaños de modelo variados, longitudes de secuencia y capacidades de codificación en chino. Este modelo no requiere instrucción previa para la recuperación y ha sido evaluado en múltiples conjuntos de datos de texto largo y tareas clasificatorias.

Como usar

from sentence_transformers import SentenceTransformer

sentences = ["数据1", "数据2"]
model = SentenceTransformer('infgrad/stella-base-zh-v2')
print(model.max_seq_length)
embeddings_1 = model.encode(sentences, normalize_embeddings=True)
embeddings_2 = model.encode(sentences, normalize_embeddings=True)
similarity = embeddings_1 @ embeddings_2.T
print(similarity)

from transformers import AutoModel, AutoTokenizer
from sklearn.preprocessing import normalize

model = AutoModel.from_pretrained('infgrad/stella-base-zh-v2')
tokenizer = AutoTokenizer.from_pretrained('infgrad/stella-base-zh-v2')
sentences = ["数据1", "数据ABCDEFGH"]
batch_data = tokenizer(
  batch_text_or_text_pairs=sentences,
  padding="longest",
  return_tensors="pt",
  max_length=1024,
  truncation=True,
)
attention_mask = batch_data["attention_mask"]
model_output = model(**batch_data)
last_hidden = model_output.last_hidden_state.masked_fill(~attention_mask[..., None].bool(), 0.0)
vectors = last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]
vectors = normalize(vectors, norm="l2", axis=1, )
print(vectors.shape) # 2,768

Funcionalidades

Modelo de codificación de texto de propósito general
Tamaños de modelo variados (0.2GB a 0.65GB)
Soporte para textos en chino
Evaluación en conjuntos de datos de texto largo
Métodos de entrenamiento avanzados como la distilación de conocimiento
Uso fácil sin texto de prefijo necesario
Capacidades de emparejamiento de oraciones

Casos de uso

Emparejamiento de oraciones
Recuperación y clasificación de textos
Aplicaciones multilingües en chino
Codificación de textos largos en evaluaciones de comprensión lectora