标签:
- ColBERT
- PyLate
- 句子相似度
- 特征提取
- 训练生成
- 数据集大小:909188
- 损失函数:对比损失
基础模型: EuroBERT/EuroBERT-210m
数据集:
- baconnier/rag-comprehensive-triplets
管道标签: 句子相似度
库名称: PyLate
指标:
- 准确率
模型索引:
- 名称: 基于EuroBERT/EuroBERT-210m的PyLate模型
结果:
- 任务:
类型: col-berttriplet
名称: Col BERTTriplet
数据集:
名称: 未知
类型: 未知
指标:
- 类型: 准确率
值: 0.9848384857177734
名称: 准确率
许可证: apache-2.0
语言:
- 西班牙语
- 英语

微调模型
fjmgAI/col1-210M-EuroBERT
基础模型
EuroBERT/EuroBERT-210m
微调方法
使用 PyLate 进行微调,在 rag-comprehensive-triplets 数据集上进行了对比训练。该模型将句子和段落映射为128维密集向量序列,可用于使用MaxSim操作符进行语义文本相似度计算。
数据集
baconnier/rag-comprehensive-triplets
描述
该数据集已针对西班牙语进行了过滤,包含 303,000个示例,专为 rag-comprehensive-triplets 设计。
微调详情
- 模型使用 对比训练 进行训练。
- 使用
pylate.evaluation.colbert_triplet.ColBERTTripletEvaluator
进行评估
使用方法
首先安装PyLate库:
pip install -U pylate
计算相似度
import torch
from pylate import models
model = models.ColBERT("fjmgAI/col1-210M-EuroBERT", trust_remote_code=True)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
query = "¿Cuál es la capital de España?"
positive_doc = "La capital de España es Madrid."
negative_doc = "Florida es un estado en los Estados Unidos."
sentences = [query, positive_doc, negative_doc]
inputs = model.tokenize(sentences)
inputs = {key: value.to(device) for key, value in inputs.items()}
with torch.no_grad():
embeddings_dict = model(inputs)
embeddings = embeddings_dict['token_embeddings']
def colbert_similarity(query_emb, doc_emb):
"""
计算查询和文档嵌入之间的ColBERT风格相似度。
使用单个词之间的最大相似度(MaxSim)。
参数:
query_emb: [query_tokens, embedding_dim]
doc_emb: [doc_tokens, embedding_dim]
返回:
归一化的相似度分数
"""
similarity_matrix = torch.matmul(query_emb, doc_emb.T)
max_similarities = similarity_matrix.max(dim=1)[0]
return max_similarities.sum() / query_emb.shape[0]
query_emb = embeddings[0]
positive_emb = embeddings[1]
negative_emb = embeddings[2]
positive_score = colbert_similarity(query_emb, positive_emb)
negative_score = colbert_similarity(query_emb, negative_emb)
print(f"与相关文档的相似度: {positive_score.item():.4f}")
print(f"与不相关文档的相似度: {negative_score.item():.4f}")
框架版本
- Python: 3.10.12
- Sentence Transformers: 3.4.1
- PyLate: 1.1.7
- Transformers: 4.48.2
- PyTorch: 2.5.1+cu121
- Accelerate: 1.2.1
- Datasets: 3.3.1
- Tokenizers: 0.21.0
用途
该微调模型专为 西班牙语应用 设计,需要 高效的语义搜索,使用MaxSim操作在词级别比较嵌入,非常适合 问答和文档检索。
- 开发者: fjmgAI
- 许可证: apache-2.0
