🚀 西班牙语句子相似度模型的LSG变体
本项目基于LSG(Local Sparse Global)注意力机制对西班牙语句子相似度模型进行了优化,使其能够更高效地处理长文本序列,在自然语言处理任务中表现得更加通用和强大。
🚀 快速开始
安装依赖
pip install transformers torch
代码示例
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel
import torch
tokenizer = AutoTokenizer.from_pretrained('prudant/lsg_4096_sentence_similarity_spanish')
model = AutoModel.from_pretrained('prudant/lsg_4096_sentence_similarity_spanish', trust_remote_code=True)
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = [
'Esa es una persona feliz',
"Ese es un perro feliz",
"Esa es una persona muy feliz",
"Hoy es un día soleado",
"Esa es una persona alegre",
]
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
normalized_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)
cosine_similarities = F.cosine_similarity(normalized_embeddings[0].unsqueeze(0), normalized_embeddings[1:], dim=1)
print(cosine_similarities)
✨ 主要特性
- 长序列处理能力:通过LSG注意力机制,模型能够高效处理长达4096个标记的序列。
- 性能提升:在处理长文本时,既保持了原模型的准确性,又提高了效率。
- 广泛适用性:特别适用于长文档的嵌入任务。
📚 详细文档
模型概述
此模型是 hiiamsid/sentence_similarity_spanish_es 的增强版本,采用了LSG(Local Sparse Global)注意力机制。这种机制使模型能够更高效地处理长序列,从而在更广泛的自然语言处理任务中表现得更加通用和强大。
关于LSG架构
LSG(Local Sparse Global) 注意力机制是一种前沿的方法,旨在缓解传统Transformer模型中自注意力机制在处理长序列时的局限性。通过结合局部、稀疏和全局注意力,LSG注意力机制在显著降低计算复杂度的同时,还能保持甚至提升模型性能。
模型调整
此LSG变体是在原模型的基础上进行调整的,主要目标是扩展其处理长文本输入的能力。这种增强使得模型即使在处理原模型难以处理的长序列时,也能保持较高的准确性和效率。
使用场景
经过LSG增强的模型特别擅长处理涉及长文档嵌入的任务。
🔧 技术细节
代码运行结果
Sentence embeddings:
tensor([[-0.1691, -0.2517, -1.3000, ..., 0.1557, 0.3824, 0.2048],
[ 0.1872, -0.7604, -0.4863, ..., -0.4922, -0.1511, -0.8539],
[-0.2467, -0.2373, -1.1708, ..., 0.4637, 0.0616, 0.2841],
[-0.2384, 0.1681, -0.3498, ..., -0.2744, -0.1722, -1.2513],
[ 0.2273, -0.2393, -1.6124, ..., 0.6065, 0.2784, -0.3354]])
tensor([0.5132, 0.9346, 0.3471, 0.8543])
📄 许可证
本模型采用 Apache 2.0 许可证。
🙏 致谢
本模型由 Darío Muñoz Prudant 调整,感谢 Hugging Face 社区以及 LSG 注意力机制的贡献者提供的资源和支持。
📦 模型信息
属性 |
详情 |
模型类型 |
基于LSG注意力机制的句子相似度模型 |
训练数据 |
未提及 |