【エンベディングモデル】

Embeddingモデル とは?

💡 言葉を数字の地図に変える翻訳者。意味が近いものは近くに置いてくれる
📌 このページのポイント
Embeddingモデル: 意味をベクトルに変換 入力テキスト 「犬が走る」 「ワンちゃんが駆ける」 「株価が上がる」 「経済が成長する」 Embedding モデル 768次元 ベクトル出力 ベクトル空間 犬が走る ワンちゃんが駆ける 株価が上がる 経済が成長する 意味が近い文章 → ベクトル空間上で近い位置に配置される
Embeddingモデルによるテキストのベクトル変換イメージ
ひよこ ひよこ

Embeddingモデルって、普通のAIモデルとは違うの?

ペンギン先生 ペンギン先生

ChatGPTみたいな生成AIは「文章を作る」のが仕事だけど、Embeddingモデルは「文章を数値に変換する」のが仕事なんだ。裏方だけど、検索やレコメンドには欠かせない存在だよ

ひよこ ひよこ

数値に変換して何が嬉しいの?

ペンギン先生 ペンギン先生

たとえば「犬が走る」と「ワンちゃんが駆ける」は文字が全然違うけど、Embeddingすると近いベクトルになる。つまり意味の近さをコンピュータが計算できるようになるんだよ

ひよこ ひよこ

どのモデルを選べばいいの?

ペンギン先生 ペンギン先生

日本語なら多言語対応のモデルが重要だね。OpenAIのtext-embedding-3-smallはコスパが良いし、オープンソースならmultilingual-e5-largeが人気だよ。MTEBというベンチマークでスコアを比較するのがおすすめ

ひよこ ひよこ

次元数が大きいほど良いの?

ペンギン先生 ペンギン先生

次元が多いほど表現力は上がるけど、ストレージとの検索速度のトレードオフがある。実は768次元くらいで十分なケースが多いんだ。Matryoshka Embeddingという技術を使えば、あとから次元を削っても精度が落ちにくいモデルもあるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Embeddingモデル」って出てきたら「データを意味を保った数値ベクトルに変える変換器」と思えればだいたいOK!
📖 おまけ:英語の意味
「Embedding Model」 = 埋め込みモデル
💬 「embed(埋め込む)」から来ていて、言葉の意味を数値空間に「埋め込む」イメージだよ
← 用語集にもどる