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).