🚀 FRIDA GGUF模型卡片
FRIDA是一个基于T5去噪架构的全量微调通用文本嵌入模型。该模型受去噪架构启发,基于T5构建。它以FRED - T5模型的编码器部分为基础,延续了文本嵌入模型的研究(如ruMTEB、[ru - en - RoSBERTa](https://huggingface.co/ai - forever/ru - en - RoSBERTa))。该模型在俄英双语数据集上进行了预训练,并针对目标任务进行了微调,以提升性能。
如需了解更多模型细节,请参考我们的技术报告[TODO]。
🚀 快速开始
FRIDA模型可直接使用,并搭配特定前缀。建议使用CLS池化。前缀和池化的选择取决于具体任务。
✨ 主要特性
- 多任务前缀支持:模型支持多种前缀,可根据不同任务灵活选择,以优化性能。
- 可微调性:可以使用相关的高质量俄英数据集对模型进行微调,以更好地满足特定需求。
📦 安装指南
Ollama
ollama pull evilfreelancer/FRIDA:f16
💻 使用示例
基础用法
模型可以直接使用前缀进行编码。以下是使用Transformers和SentenceTransformers库进行文本编码的示例。
import json
import requests
import numpy as np
OLLAMA_HOST = "http://localhost:11434"
MODEL_NAME = "evilfreelancer/FRIDA:f16"
def get_embedding(text):
payload = {
"model": MODEL_NAME,
"input": text
}
response = requests.post(
f"{OLLAMA_HOST}/api/embed",
data=json.dumps(payload, ensure_ascii=False),
headers={"Content-Type": "application/x-www-form-urlencoded"}
)
response.raise_for_status()
return np.array(response.json()["embeddings"][0])
def normalize(vectors):
vectors = np.atleast_2d(vectors)
norms = np.linalg.norm(vectors, axis=1, keepdims=True)
norms[norms == 0] = 1.0
return vectors / norms
def cosine_diag_similarity(a, b):
return np.sum(a * b, axis=1)
inputs = [
"paraphrase: В Ярославской области разрешили работу бань, но без посетителей",
"categorize_entailment: Женщину доставили в больницу за ее жизнь сейчас борются врачи.",
"search_query: Сколько программистов нужно, чтобы вкрутить лампочку?",
"paraphrase: Ярославским баням разрешили работать без посетителей",
"categorize_entailment: Женщину спасают врачи.",
"search_document: Чтобы вкрутить лампочку нужно три программиста.",
]
size = int(len(inputs)/2)
embeddings = normalize(np.array([get_embedding(text) for text in inputs]))
sim_scores = cosine_diag_similarity(embeddings[:size], embeddings[size:])
print(sim_scores.tolist())
高级用法
为了更好地满足您的需求,可以使用相关的高质量俄英数据集对模型进行微调。
前缀选择规则
我们使用以下基本规则来选择前缀:
"search_query: "
和 "search_document: "
前缀用于答案或相关段落检索。
"paraphrase: "
前缀用于对称释义相关任务(如STS、释义挖掘、去重)。
"categorize: "
前缀用于文档标题和正文的非对称匹配(如新闻、科学论文、社交媒体帖子)。
"categorize_sentiment: "
前缀用于依赖情感特征的任务(如仇恨、毒性、情感分析)。
"categorize_topic: "
前缀用于需要按主题对文本进行分组的任务。
"categorize_entailment: "
前缀用于文本蕴含任务(NLI)。
🔧 技术细节
FRIDA模型基于T5去噪架构,以FRED - T5模型的编码器部分为基础。它在俄英双语数据集上进行了预训练,并针对目标任务进行了微调。
📄 许可证
本模型采用MIT许可证。
👥 作者
📚 引用
@misc{TODO
}
⚠️ 局限性
该模型主要设计用于处理俄语文本,英语处理质量未知。最大输入文本长度限制为512个标记。
属性 |
详情 |
模型类型 |
基于T5去噪架构的全量微调通用文本嵌入模型 |
训练数据 |
俄英双语数据集 |
⚠️ 重要提示
模型主要设计用于处理俄语文本,英语处理质量未知。最大输入文本长度限制为512个标记。
💡 使用建议
为了更好地满足您的需求,可以使用相关的高质量俄英数据集对模型进行微调。同时,根据不同任务选择合适的前缀和池化方法。