🚀 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 許可證。