基础模型:
- 阿里巴巴NLP/gte-Qwen2-1.5B-instruct
支持语言:
- 英文
- 中文
许可证: Apache-2.0
标签:
- 句子转换器
- 转换器
- 句子相似度
INF-Retriever-v1-1.5B
模型概述
-
INF-Retriever-v1-1.5B是INF-Retriever-v1的轻量级版本,由INF TECH开发的基于大语言模型的稠密检索模型。
该模型基于gte-Qwen2-1.5B-instruct模型,专门针对中英文数据检索任务进行了优化微调。
-
截至2025年2月19日,INF-Retriever-v1-1.5B在AIR-Bench 24.04和24.05版本的自动化异构信息检索基准测试中,位列70亿参数以下模型的中英双语子榜单第一名,展现了其在异构信息检索任务中的顶尖性能。
核心特性
- 中英文检索优化:模型针对中英文检索场景进行了专项优化,显著提升了各类检索任务的准确率和效率。
- 顶尖性能表现:在AIR-Bench基准测试中取得领先成绩,是跨领域异构信息检索的理想选择。
技术规格
- 模型规模:15亿参数
- 嵌入维度:1536维
- 最大输入长度:32768个token
- 语言支持:中英文(对其他语言也具备良好效果)
使用指南
句子转换器调用
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("infly/inf-retriever-v1-1.5b", trust_remote_code=True)
model.max_seq_length = 8192
queries = [
"女性每日蛋白质摄入量",
"峰会定义",
]
documents = [
"根据CDC指南,19至70岁女性日均蛋白质需求为46克。但如怀孕或马拉松训练等情况需增加摄入,具体可参考下方图表。",
"峰会定义:1. 山巅顶点 2. 最高级别会议 3. 政府首脑间的系列会谈",
]
query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)
scores = (query_embeddings @ document_embeddings.T) * 100
print(scores.tolist())
Transformers原生调用
import torch
import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel
def last_token_pool(last_hidden_states: Tensor,
attention_mask: Tensor) -> Tensor:
left_padding = (attention_mask[:, -1].sum() == attention_mask.shape[0])
if left_padding:
return last_hidden_states[:, -1]
else:
sequence_lengths = attention_mask.sum(dim=1) - 1
batch_size = last_hidden_states.shape[0]
return last_hidden_states[torch.arange(batch_size, device=last_hidden_states.device), sequence_lengths]
def get_detailed_instruct(task_description: str, query: str) -> str:
return f'指令:{task_description}\n查询:{query}'
task = '给定网页搜索查询,检索相关答案段落'
queries = [
get_detailed_instruct(task, '女性每日蛋白质摄入量'),
get_detailed_instruct(task, '峰会定义')
]
documents = [
"根据CDC指南,19至70岁女性日均蛋白质需求为46克...",
"峰会定义:1. 山巅顶点 2. 最高级别会议..."
]
tokenizer = AutoTokenizer.from_pretrained('infly/inf-retriever-v1-1.5b', trust_remote_code=True)
model = AutoModel.from_pretrained('infly/inf-retriever-v1-1.5b', trust_remote_code=True)
batch_dict = tokenizer(queries + documents, max_length=8192, padding=True, truncation=True, return_tensors='pt')
outputs = model(**batch_dict)
embeddings = last_token_pool(outputs.last_hidden_state, batch_dict['attention_mask'])
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
性能评估
AIR-Bench基准
截至2025年2月19日,模型在自动化异构信息检索基准测试中的表现:
AIR-Bench_24.04(中英双语)
模型名称 |
≤7B |
平均分 |
维基百科(英) |
维基百科(中) |
网页(英) |
网页(中) |
医疗(英) |
医疗(中) |
法律(英) |
arXiv(英) |
新闻(英) |
新闻(中) |
金融(英) |
金融(中) |
MSMARCO |
本模型 |
✅ |
49.77 |
62.87 |
65.98 |
50.16 |
53.8 |
54.48 |
40.22 |
32 |
45.3 |
51.47 |
46.02 |
56.81 |
31.15 |
56.73 |
AIR-Bench_24.05(13种语言)
尽管仅针对中英文优化,模型在多语言场景仍表现优异:
模型名称 |
≤7B |
平均分 |
维基百科(13语) |
网页(13语) |
医疗(5语) |
法律(3语) |
学术(2语) |
新闻(13语) |
金融(4语) |
本模型 |
✅ |
50.0 |
71.58(英) |
55.93(英) |
54.72(英) |
32.37(英) |
46.34 |
50.66(英) |
58.08(英) |
|
|
|
67.04(中) |
53.23(中) |
40.35(中) |
18.12(德) |
54.7(俄) |
45.7(中) |
39.37(中) |
研发团队
指导专家
褚伟 • 徐英辉 • 齐远
INF记忆团队
杨俊涵(junhanyang@inftech.ai) • 万佳禾 • 姚懿宸(eason.yyc@inftech.ai)
引用
如使用本模型,请引用:
@misc{infly-ai_2025,
author = {杨俊涵, 万佳禾, 姚懿宸, 褚伟, 徐英辉, 齐远},
title = {inf-retriever-v1 (版本5f469d7)},
year = {2025},
publisher = {Hugging Face},
doi = {10.57967/hf/4262}
}