🚀 Hypencoderモデル
このモデルは、情報検索のためのハイパーネットワークであるHypencoderに基づいたデュアルエンコーダです。文章をベクトル化し、関連性スコアを出力することができます。
🚀 クイックスタート
このモデルは、論文 Hypencoder: Hypernetworks for Information Retrieval の公式モデルです。
📚 ドキュメント
モデルの詳細
これはHypencoderデュアルエンコーダです。テキストエンコーダとHypencoderの2つの部分を含んでいます。テキストエンコーダはアイテムを768次元のベクトルに変換し、Hypencoderはテキストを小さなニューラルネットワークに変換します。この小さなネットワークは、テキストエンコーダからの768次元のベクトルを入力とし、関連性スコアを出力します。このモデルを使用するには、Github ページを参照してください。このページには、必要なコードとモデルの実行方法の詳細が含まれています。
モデルのバリエーション
論文で使用されている4つのモデルをリリースしました。各モデルは、小さなニューラルネットワーク(q-netと呼ばれる)の隠れ層の数が異なる以外は同じです。
属性 |
详情 |
ベースモデル |
google-bert/bert-base-uncased |
データセット |
microsoft/ms_marco |
言語 |
en |
ライブラリ名 |
transformers |
パイプラインタグ |
feature-extraction |
💻 使用例
基本的な使用法
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)
📄 ライセンス
このモデルはMITライセンスの下で公開されています。
引用
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},
}