Contextualized Offline Relevance Weighting for Efficient and Effective Neural Retrieval
https://gyazo.com/a0f7a3e2cca38be783c522961b55df38
著者情報
中国科学院大学
Amazon Alexaチーム
中国科学院研究所 (日本で言う理研的なところ)
中国科学院大学は中国科学院に附属している大学
どういう論文か
オンライン(文書)検索の文脈において,BERT, T5, ELECTRAとかのモデルの性能は高いけど,推論に時間がかかってしまう
なので,BM25とかの高速検索モデルで絞られた文書(ex. 1000文書)に対して,リランキングするといった時間と性能のバランスを取るのが一般的(トレードオフの関係)
この前段タスク(BM25の部分)の部分を transformer モデルを使用する取り組みも行われている.以下関連研究
BERT に BoW の重みをかけるもの(DeepCT; Deep Contextualized Term Weighting) 論文URL クエリ拡張(doc2query)
text to text(seq2seq)で出力されたクエリを元入力に concat するやつ 論文URL 文書→クエリ
docTTTTTquery: 使うモデルを T5 に変えたもの
Encode だけ BERT つかうやつ((ここ読めてないです)予め文書は BERT で encode しておいて(オフライン) decode の cross-attention 部分を軽い処理に置き換える感じ) 論文URL1 論文URL2(ColBERT) 提案手法
各文書を疑似クエリに変換(doc2query)し,疑似クエリと(入力された)クエリとの類似性,疑似クエリと文書の関連性を使用し,文書の関連性スコアを推定する
疑似クエリ: 文書をdoc2queryしたもの
まずはseed文書と呼ばれる代表的な文書に対して,上記の演算を行い,その後近傍文書(doc2docによって求められる)に対して演算をおこなう
seed文書はBM25の上位s件を取ってくる(sは自分で決める)
疑似クエリと文書の関連性は BERT で前もって演算しておく(オンライン検索時は引っ張ってくるだけ)
https://gyazo.com/296e6f1c789e35127b0983726b94a846
ここはオンライン検索時に演算する(類似度計算部分)
https://gyazo.com/ac0f2a916c4a12e005ad8fa5b0e86e4b
https://gyazo.com/0ebe46aeffc72c9c4ae51496710a4c58
文書とクエリのペアに対する類似度演算を,クエリ同士の演算にすることで高速に (cross-attention の計算量は配列長の2次のオーダ)
最終出力は BM25 とバランスを取って出す
https://gyazo.com/6a8f6181a018fe4ad5211fda9f08b6cd
貢献
(transformer-base(文脈を考慮した) のオフライン文書に基づく neural retrieval framework を提案)
BM25+RM3, DeepCT, doc2query より性能が良い
DeepCT: BERT+BoWの論文 (Deep Contextualized Term Weighting)
RM3: Relevance language model 論文URL 実験結果
データセット: MS MARCO, TREC 2019, 2020のテストクエリと複数人からのハンドラベリング(multi-graded judgments)を使用して評価
性能評価
* が付いてるやつは docTTTTTqueryと比較して p-value が小さく有意差があるやつ((*, **, ***)=(<0.1, <0.05, <0.01)に対応)
docTTTTTquery: doc2query のT5版(ただし,この論文では BERT-base をつかっている)で拡張後 BM25 を使用している
s: seed文書の数
https://gyazo.com/d4ce410c475091777f87a53f648bcc1e
https://gyazo.com/33f46793e6ff7b8ac5b2381552f4a1df
BERT-Base/ColBERT でリランキングしたときの nDCG@10 の性能
https://gyazo.com/369d94cd0c822c6273c81f7e84b4a91f
速度の議論
https://gyazo.com/32766f02bfbdd960971b9ddb6f2baaac
seed文書の数と性能,レイテンシの関係
https://gyazo.com/fb5aa4d2f11d18f90a42d7b8d82620c3
1文書あたりのディスク使用量
提案手法: 20,170 byte
ColBERT: 102,400 byte
1/5 程度になっている
MS MARCO Passage データセットのオフライン関連性演算コスト
Titan RTX 24G GPU,length=512: 6,631日かかる
並列計算などの工夫,100個のTPU v3,length=256: 1日かからなかった
:naruhodo:...
所感
query 同士で類似度比較して高速化するの確かにという感じだった.(どこかで見たことあるような気もする)
ColBERT単体の性能については...(ここがよくわからなかった)
ColBERTがそもそもリランキングとしてあげられているが,ColBERT自体はどうなんだろうというところ