Gte Large En V1.5
G
Gte Large En V1.5
由 Alibaba-NLP 开发
GTE-Large是一个高性能的英文文本嵌入模型,在多个文本相似度和分类任务上表现优异。
下载量 891.76k
发布时间 : 4/20/2024
模型简介
该模型专注于生成高质量的句子级嵌入表示,适用于信息检索、文本相似度计算和分类任务。
模型特点
多任务性能优异
在MTEB基准测试的多种任务(分类、聚类、检索等)中表现突出
高质量句子嵌入
生成的嵌入表示能有效捕捉语义信息,适用于相似度计算
广泛适用性
支持多种下游NLP任务,包括分类、聚类和信息检索
模型能力
文本相似度计算
文本分类
信息检索
文本聚类
句子嵌入生成
使用案例
电子商务
产品评论情感分析
分析亚马逊产品评论的情感倾向
在AmazonPolarity数据集上达到93.97%准确率
产品相似度匹配
计算产品描述之间的相似度
客户服务
银行问题分类
自动分类银行客户问题
在Banking77数据集上达到87.33%准确率
学术研究
论文聚类
根据内容相似度对学术论文进行分组
在ArxivClusteringP2P上V-measure达到48.47
🚀 gte-large-en-v1.5
我们推出了 gte-v1.5
系列,这是升级版的 gte
嵌入模型,支持最长达 8192 的上下文长度,同时进一步提升了模型性能。该模型基于 transformer++
编码器 主干网络(BERT + RoPE + GLU)构建。
gte-v1.5
系列在 MTEB 基准测试的相同模型尺寸类别中取得了最先进的分数,并在 LoCo 长上下文检索测试中表现出色(详见评估)。
我们还推出了 gte-Qwen1.5-7B-instruct
,这是一个最先进的指令微调多语言嵌入模型,在 MTEB 中排名第二,在 C - MTEB 中排名第一。
- 开发者: 阿里巴巴集团智能计算研究所
- 模型类型: 文本嵌入
- 论文: mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval
模型列表
模型 | 语言 | 模型大小 | 最大序列长度 | 维度 | MTEB - en | LoCo |
---|---|---|---|---|---|---|
gte-Qwen1.5-7B-instruct |
多语言 | 7720 | 32768 | 4096 | 67.34 | 87.57 |
gte-large-en-v1.5 |
英语 | 434 | 8192 | 1024 | 65.39 | 86.71 |
gte-base-en-v1.5 |
英语 | 137 | 8192 | 768 | 64.11 | 87.44 |
🚀 快速开始
使用transformers库
使用以下代码开始使用该模型:
# Requires transformers>=4.36.0
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
input_texts = [
"what is the capital of China?",
"how to implement quick sort in python?",
"Beijing",
"sorting algorithms"
]
model_path = 'Alibaba-NLP/gte-large-en-v1.5'
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True)
# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=8192, padding=True, truncation=True, return_tensors='pt')
outputs = model(**batch_dict)
embeddings = outputs.last_hidden_state[:, 0]
# (Optionally) normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:1] @ embeddings[1:].T) * 100
print(scores.tolist())
⚠️ 重要提示
建议安装 xformers 并启用非填充(unpadding)以加速推理,详情请参考 enable-unpadding-and-xformers。
使用sentence-transformers库
# Requires sentence_transformers>=2.7.0
from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim
sentences = ['That is a happy person', 'That is a very happy person']
model = SentenceTransformer('Alibaba-NLP/gte-large-en-v1.5', trust_remote_code=True)
embeddings = model.encode(sentences)
print(cos_sim(embeddings[0], embeddings[1]))
使用 transformers.js
// npm i @xenova/transformers
import { pipeline, dot } from '@xenova/transformers';
// Create feature extraction pipeline
const extractor = await pipeline('feature-extraction', 'Alibaba-NLP/gte-large-en-v1.5', {
quantized: false, // Comment out this line to use the quantized version
});
// Generate sentence embeddings
const sentences = [
"what is the capital of China?",
"how to implement quick sort in python?",
"Beijing",
"sorting algorithms"
]
const output = await extractor(sentences, { normalize: true, pooling: 'cls' });
// Compute similarity scores
const [source_embeddings, ...document_embeddings ] = output.tolist();
const similarities = document_embeddings.map(x => 100 * dot(source_embeddings, x));
console.log(similarities); // [41.86354093370361, 77.07076371259589, 37.02981979677899]
📦 安装指南
使用该模型需要安装相应的库,以下是不同使用场景下的依赖要求:
- 使用
transformers
库:transformers>=4.36.0
- 使用
sentence-transformers
库:sentence_transformers>=2.7.0
- 使用
transformers.js
:通过npm i @xenova/transformers
安装
🔧 技术细节
训练数据
训练过程
为了使主干模型支持 8192 的上下文长度,我们采用了多阶段训练策略。模型首先在较短长度上进行初步的 MLM 预训练,然后重新采样数据,减少短文本的比例,并继续进行 MLM 预训练。
整个训练过程如下:
- MLM - 512:学习率 2e - 4,掩码概率 0.3,批次大小 4096,步数 300000,RoPE 基数 10000
- MLM - 2048:学习率 5e - 5,掩码概率 0.3,批次大小 4096,步数 30000,RoPE 基数 10000
- MLM - 8192:学习率 5e - 5,掩码概率 0.3,批次大小 1024,步数 30000,RoPE 基数 160000
- CPT:最大长度 512,学习率 5e - 5,批次大小 28672,步数 100000
- 微调:待补充
📚 详细文档
MTEB 评估
其他模型的结果取自 MTEB 排行榜。
gte
评估设置:mteb==1.2.0
,FP16 自动混合精度,max_length = 8192
,并将 NTK 缩放因子设置为 2(相当于 RoPE 基数 * 2)。
模型名称 | 参数大小(M) | 维度 | 序列长度 | 平均(56) | 分类(12) | 聚类(11) | 成对分类(3) | 重排序(4) | 检索(15) | STS(10) | 摘要(1) |
---|---|---|---|---|---|---|---|---|---|---|---|
gte-large-en-v1.5 | 409 | 1024 | 8192 | 65.39 | 77.75 | 47.95 | 84.63 | 58.50 | 57.91 | 81.43 | 30.91 |
mxbai-embed-large-v1 | 335 | 1024 | 512 | 64.68 | 75.64 | 46.71 | 87.2 | 60.11 | 54.39 | 85 | 32.71 |
multilingual-e5-large-instruct | 560 | 1024 | 514 | 64.41 | 77.56 | 47.1 | 86.19 | 58.58 | 52.47 | 84.78 | 30.39 |
bge-large-en-v1.5 | 335 | 1024 | 512 | 64.23 | 75.97 | 46.08 | 87.12 | 60.03 | 54.29 | 83.11 | 31.61 |
gte-base-en-v1.5 | 137 | 768 | 8192 | 64.11 | 77.17 | 46.82 | 85.33 | 57.66 | 54.09 | 81.97 | 31.17 |
bge-base-en-v1.5 | 109 | 768 | 512 | 63.55 | 75.53 | 45.77 | 86.55 | 58.86 | 53.25 | 82.4 | 31.07 |
LoCo 评估
模型名称 | 维度 | 序列长度 | 平均(5) | Qsmsum 检索 | SummScreen 检索 | Qasper 摘要检索 | Qasper 标题检索 | GovReport 检索 |
---|---|---|---|---|---|---|---|---|
gte-qwen1.5-7b | 4096 | 32768 | 87.57 | 49.37 | 93.10 | 99.67 | 97.54 | 98.21 |
gte-large-v1.5 | 1024 | 8192 | 86.71 | 44.55 | 92.61 | 99.82 | 97.81 | 98.74 |
gte-base-v1.5 | 768 | 8192 | 87.44 | 49.91 | 91.78 | 99.82 | 97.13 | 98.58 |
📄 许可证
本项目采用 Apache 2.0 许可证。
📖 引用
如果您觉得我们的论文或模型有帮助,请考虑按以下方式引用:
@article{zhang2024mgte,
title={mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval},
author={Zhang, Xin and Zhang, Yanzhao and Long, Dingkun and Xie, Wen and Dai, Ziqi and Tang, Jialong and Lin, Huan and Yang, Baosong and Xie, Pengjun and Huang, Fei and others},
journal={arXiv preprint arXiv:2407.19669},
year={2024}
}
@article{li2023towards,
title={Towards general text embeddings with multi-stage contrastive learning},
author={Li, Zehan and Zhang, Xin and Zhang, Yanzhao and Long, Dingkun and Xie, Pengjun and Zhang, Meishan},
journal={arXiv preprint arXiv:2308.03281},
year={2023}
}
Jina Embeddings V3
Jina Embeddings V3 是一个多语言句子嵌入模型,支持超过100种语言,专注于句子相似度和特征提取任务。
文本嵌入
Transformers 支持多种语言

J
jinaai
3.7M
911
Ms Marco MiniLM L6 V2
Apache-2.0
基于MS Marco段落排序任务训练的交叉编码器模型,用于信息检索中的查询-段落相关性评分
文本嵌入 英语
M
cross-encoder
2.5M
86
Opensearch Neural Sparse Encoding Doc V2 Distill
Apache-2.0
基于蒸馏技术的稀疏检索模型,专为OpenSearch优化,支持免推理文档编码,在搜索相关性和效率上优于V1版本
文本嵌入
Transformers 英语

O
opensearch-project
1.8M
7
Sapbert From PubMedBERT Fulltext
Apache-2.0
基于PubMedBERT的生物医学实体表征模型,通过自对齐预训练优化语义关系捕捉
文本嵌入 英语
S
cambridgeltl
1.7M
49
Gte Large
MIT
GTE-Large 是一个强大的句子转换器模型,专注于句子相似度和文本嵌入任务,在多个基准测试中表现出色。
文本嵌入 英语
G
thenlper
1.5M
278
Gte Base En V1.5
Apache-2.0
GTE-base-en-v1.5 是一个英文句子转换器模型,专注于句子相似度任务,在多个文本嵌入基准测试中表现优异。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.5M
63
Gte Multilingual Base
Apache-2.0
GTE Multilingual Base 是一个多语言的句子嵌入模型,支持超过50种语言,适用于句子相似度计算等任务。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.2M
246
Polybert
polyBERT是一个化学语言模型,旨在实现完全由机器驱动的超快聚合物信息学。它将PSMILES字符串映射为600维密集指纹,以数值形式表示聚合物化学结构。
文本嵌入
Transformers

P
kuelumbus
1.0M
5
Bert Base Turkish Cased Mean Nli Stsb Tr
Apache-2.0
基于土耳其语BERT的句子嵌入模型,专为语义相似度任务优化
文本嵌入
Transformers 其他

B
emrecan
1.0M
40
GIST Small Embedding V0
MIT
基于BAAI/bge-small-en-v1.5模型微调的文本嵌入模型,通过MEDI数据集与MTEB分类任务数据集训练,优化了检索任务的查询编码能力。
文本嵌入
Safetensors 英语
G
avsolatorio
945.68k
29
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98