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

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(埋め込む)」から来ていて、言葉の意味を数値空間に「埋め込む」イメージだよ
← 用語集にもどる