🚀 Hypencoderモデル
このモデルは、情報検索のためのハイパーネットワークである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 Dual Encoderで、テキストエンコーダとHypencoderの2つの部分を含んでいます。テキストエンコーダはアイテムを768次元のベクトルに変換し、Hypencoderはテキストを小さなニューラルネットワークに変換します。この小さなネットワークは、テキストエンコーダからの768次元ベクトルを入力として受け取り、関連性スコアを出力します。
モデルのバリエーション
論文で使用された4つのモデルを公開しています。各モデルは、小さなニューラルネットワーク(q-nets)の隠れ層の数が異なる以外は同じです。
📚 ドキュメント
このモデルを使用するには、必要なコードとモデルの実行方法に関する詳細が記載された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 |
言語 |
en |
ライブラリ名 |
transformers |
パイプラインタグ |
feature-extraction |