🚀 Hypencoder模型
本模型是基于超网络的信息检索模型,可将文本转换为向量并输出相关性得分,适用于信息检索场景。
🚀 快速开始
使用预训练的Hypencoders作为独立模型
from hypencoder_cb.modeling.hypencoder import Hypencoder, HypencoderDualEncoder, TextEncoder
from transformers import AutoTokenizer
dual_encoder = HypencoderDualEncoder.from_pretrained("jfkback/hypencoder.6_layer")
tokenizer = AutoTokenizer.from_pretrained("jfkback/hypencoder.6_layer")
query_encoder: Hypencoder = dual_encoder.query_encoder
passage_encoder: TextEncoder = dual_encoder.passage_encoder
queries = [
"how many states are there in india",
"when do concussion symptoms appear",
]
passages = [
"India has 28 states and 8 union territories.",
"Concussion symptoms can appear immediately or up to 72 hours after the injury.",
]
query_inputs = tokenizer(queries, return_tensors="pt", padding=True, truncation=True)
passage_inputs = tokenizer(passages, return_tensors="pt", padding=True, truncation=True)
q_nets = query_encoder(input_ids=query_inputs["input_ids"], attention_mask=query_inputs["attention_mask"]).representation
passage_embeddings = passage_encoder(input_ids=passage_inputs["input_ids"], attention_mask=passage_inputs["attention_mask"]).representation
passage_embeddings_single = passage_embeddings.unsqueeze(1)
scores = q_nets(passage_embeddings_single)
passage_embeddings_double = passage_embeddings.repeat(2, 1).reshape(2, 2, -1)
scores = q_nets(passage_embeddings_double)
✨ 主要特性
这是一个Hypencoder双编码器,包含文本编码器和Hypencoder两个主干。文本编码器将项目转换为768维向量,而Hypencoder将文本转换为一个小型神经网络,该网络以文本编码器的768维向量为输入,最终输出相关性得分。
模型变体
我们发布了论文中使用的四个模型。除了我们称为q-nets的小型神经网络具有不同数量的隐藏层外,每个模型都是相同的。
📚 详细文档
这是论文 Hypencoder: Hypernetworks for Information Retrieval 中的官方模型。若要使用此模型,请查看 Github 页面,其中包含所需代码和模型运行细节。
📄 许可证
本项目采用Apache 2.0许可证。
📖 引用
BibTeX:
@misc{killingback2025hypencoderhypernetworksinformationretrieval,
title={Hypencoder: Hypernetworks for Information Retrieval},
author={Julian Killingback and Hansi Zeng and Hamed Zamani},
year={2025},
eprint={2502.05364},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2502.05364},
}
📦 模型信息
属性 |
详情 |
基础模型 |
google-bert/bert-base-uncased |
数据集 |
microsoft/ms_marco |
语言 |
英语 |
库名称 |
transformers |
管道标签 |
特征提取 |