解説ねえねえ、智也くん!これ見…
解説

ねえねえ、智也くん!これ見て!『Making Large Language Models Efficient Dense Retrievers』って論文のタイトル。なんかすごそう!

ああ、それか。効率的な検索モデルについての論文だね。面白い研究だよ。

検索モデル?それって、Googleみたいに質問に合う文書を探すやつ?

そうだね。最近は大きなAIモデルを検索に使うとすごく性能がいいんだけど、パラメータ数が多すぎて遅くて実用的じゃないって問題があるんだ。

えー、もったいない!じゃあ、小さくできないの?

そこがこの論文の面白いところ。今までの研究では、文章を生成するタスクではAttention層っていう部分を削っても大丈夫だったんだ。でも、検索の場合は逆だったんだよ。

逆?どういうこと?

検索では、MLP層っていう別の部分の方がずっと削りやすくて、Attention層は意味をまとめるのに重要だから、あまり削れないってことがわかったんだ。

へえ!じゃあ、検索用のモデルを作る時は、MLPばっかり削ればいいってこと?

そういう発想だね。この論文ではEffiRっていう方法を提案してて、まずMLP層をガンガン削って、残ったMLP層も細かく圧縮する。それから検索用にチューニングするんだ。

それで実際どうなったの?小さくてもちゃんと検索できるの?

うん。例えば70億パラメータのモデルから、約36億パラメータまで減らしても、13種類の検索データセットで平均性能がほとんど落ちなかったんだ。しかも推論速度は速くなってる。

すごい!半分くらいに小さくできるんだ!これって実用的だね!

そうだね。大きなAIモデルを実際のサービスで使える可能性が広がる。検索エンジンや質問応答システムがもっと賢く、しかも速くなるかもしれない。

でも、何か課題とかあるの?

うん。どの層を削るかの判断が完全にはわかってないし、削りすぎると急に性能が落ちる「崖」があるみたいだ。あと、本当に多様なタスクでうまくいくかはもっと調べる必要があるね。

なるほど…。でも、AIモデルを用途に合わせてカスタマイズするって発想は面白いね!私のスマホの検索ももっと速く賢くなってほしいな!

…亜美さん、まずは自分で調べ物する習慣をつけた方が早いんじゃない?

えー!智也くん、ひどい!でも、この研究が進めば、私が調べる手間も減るかもね!
要点
大規模言語モデルを高密度検索モデルとして直接ファインチューニングすると性能は高いが、パラメータ数が多く計算コストが高いという問題がある。
生成タスクではAttention層の冗長性が高いことが知られていたが、検索タスクでは逆にMLP層の冗長性が高く、Attention層は意味的な情報集約に重要であることを発見した。
この知見に基づき、EffiRという効率的な検索モデル構築フレームワークを提案した。粗い粒度での深さ削減(MLP層の削除)と細かい粒度での幅削減(残ったMLP層の次元圧縮)を組み合わせ、その後検索特化のファインチューニングを行う。
BEIRデータセットと複数の大規模言語モデルバックボーンで実験し、モデルサイズと推論コストを大幅に削減しながら、フルサイズモデルの性能を維持できることを示した。
検索モデルは生成モデルと異なり、全体の入力を一度に処理して固定長の表現を生成するため、Attention層の重要性が高く、MLP層の冗長性が高いという新しい知見を提供した。