Multilingual Sentence T5 (m-ST5)

pkshatech
Similitud de oraciones

Este modelo es una extensión multilingüe del Sentence T5 y fue creado utilizando el codificador mT5. Se propone en este documento. m-ST5 es un codificador para incrustaciones de frases, y su rendimiento ha sido verificado en tareas de similitud semántica textual entre idiomas (STS) y recuperación de frases.

Como usar

Si no has instalado peft, por favor hazlo.

pip install -q git+https://github.com/huggingface/transformers.git@main git+https://github.com/huggingface/peft.git

Carga el modelo.

from transformers import MT5EncoderModel
from peft import PeftModel

model = MT5EncoderModel.from_pretrained("google/mt5-xxl")
model.enable_input_require_grads()
model.gradient_checkpointing_enable()
model: PeftModel = PeftModel.from_pretrained(model, "pkshatech/m-ST5")

Para obtener incrustaciones de frases, usa el agrupamiento promedio.

tokenizer = AutoTokenizer.from_pretrained("google/mt5-xxl", use_fast=False)
model.eval()

texts = ["I am a dog.","You are a cat."]
inputs = tokenizer(
texts,
padding=True,
truncation=True,
return_tensors="pt",
)
outputs = model(**inputs)
last_hidden_state = outputs.last_hidden_state
last_hidden_state[inputs.attention_mask == 0, :] = 0
sent_len = inputs.attention_mask.sum(dim=1, keepdim=True)
sent_emb = last_hidden_state.sum(dim=1) / sent_len

Funcionalidades

Extensión multilingüe de Sentence T5.
Creado utilizando el codificador mT5.
Rendimiento verificado en tareas de similitud semántica textual entre idiomas (STS).
Rendimiento verificado en tareas de recuperación de frases.

Casos de uso

Tareas de recuperación de frases con pares de oraciones en inglés y oraciones en otros idiomas (Tatoeba).
Tareas de minería de bitextos. Consiste en inglés y uno de los 4 idiomas (alemán, francés, ruso y chino) (BUCC).
Tareas de similitud textual semántica entre idiomas (XSTS).