【エンベディングモデル】
Embeddingモデル とは?
最終更新:
💡 データの特徴を、比較できる数値ベクトルへ
テキストや画像などを、特徴や関係を数値ベクトルとして表すモデル。ベクトル同士を比較して意味の近さなどを推定し、検索・分類・推薦に利用する。表せる情報や精度はモデルと用途による。
📌 このページのポイント
Embeddingモデルは文章を作るAIなの?
文字が違っても探せる?
「犬が走る」と「ワンちゃんが駆ける」のような近い意味を、似たベクトルとして扱うことを目指すよ。ただし、意味を完全に保存する変換ではない。専門用語や否定表現などで、期待した近さにならないこともあるので、実際のデータで確かめよう。
どんなモデルを選べばいい?
日本語への対応に加え、検索したい資料で精度を確かめることが大切。入力の長さや前処理もモデルごとに違う。たとえばmultilingual-e5-largeでは検索の質問にquery:、文書にpassage:を付ける使い方が示されているよ。
次元数が大きいほど良いの?
次元数だけで品質は決まらないよ。保存容量・処理速度・目的に合う精度を比べよう。Matryoshka方式のように、小さい次元に切り詰めても使えるよう学習したモデルもあるけれど、どのモデルでも自由に切ればよいわけではないんだ。
モデルを変えても、保存済みのベクトルは使える?
違うモデルでは数値が表す空間も違うので、そのまま混ぜて類似度を比べることはできないよ。検索側と文書側を対応するモデル・設定でそろえ、モデルを変更したら文書のベクトルも作り直すなどの移行が必要になる。
まとめ:ざっくりこれだけ覚えればOK!
「Embeddingモデル」って出てきたら「データの特徴を比較できる数値ベクトルにするモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Embedding Model」 = 埋め込みモデル
💬 「embed(埋め込む)」から来ていて、言葉の意味を数値空間に「埋め込む」イメージだよ