🚀 peft
peft 是用于mT5编码器的 LoRA 适配权重库,其扩展出的多语言句子编码器 m-ST5 在跨语言语义文本相似度和句子检索任务中表现出色。
🚀 快速开始
安装
如果你还未安装 peft,请执行以下命令:
pip install -q git+https://github.com/huggingface/transformers.git@main git+https://github.com/huggingface/peft.git
使用示例
基础用法
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")
高级用法
from transformers import AutoTokenizer
import torch
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
✨ 主要特性
多语言句子 T5 (m-ST5)
此模型是 Sentence T5 的多语言扩展,使用 mT5 编码器创建,在这篇论文中被提出。m-ST5 是一个用于句子嵌入的编码器,其性能已在跨语言语义文本相似度 (STS) 和句子检索任务中得到验证。
训练数据
该模型在 XNLI 数据集上进行训练。
框架版本
📚 详细文档
基准测试
- Tatoeba:英语句子与其他语言句子对的句子检索任务。
- BUCC:双语语料挖掘任务,由英语和 4 种语言(德语、法语、俄语和中文)之一组成。
- XSTS:跨语言语义文本相似度任务。
具体详情请查阅相关论文。
属性 |
详情 |
模型类型 |
多语言句子 T5 (m-ST5) |
训练数据 |
XNLI 数据集 |
|
Tatoeba - 14 |
Tatoeba - 36 |
BUCC |
XSTS (ar - ar) |
XSTS (ar - en) |
XSTS (es - es) |
XSTS (es - en) |
XSTS (tr - en) |
m - ST5 |
96.3 |
94.7 |
97.6 |
76.2 |
78.6 |
84.4 |
76.2 |
75.1 |
LaBSE |
95.3 |
95.0 |
93.5 |
69.1 |
74.5 |
80.8 |
65.5 |
72.0 |
📄 许可证
本项目采用 cc - by - nc - 4.0 许可证。