埋め込みモデルの選び方

埋め込み(Embedding)は、テキストや画像を数値ベクトルに変換して意味の近さを計算できるようにする技術だ。検索・推薦・分類の土台になるため、ここの選択が後段の精度を直接決める。

選定で見るべき点

  • 対応言語 — 日本語での性能は英語での評価と一致しない。実データで測る
  • 次元数 — 大きいほど表現力は上がるが、保存容量と検索速度のコストも上がる
  • 入力できる長さ — 長文を扱うなら、分割せずに入るかどうかが実装の複雑さを変える
  • モデルの安定性 — 更新されると既存のベクトルと互換性が無くなる
🔴
モデルを変えたら全データの再生成が必要です

異なるモデルで生成したベクトルは比較できません。埋め込みモデルを変更する場合、蓄積した全ドキュメントのベクトルを作り直す必要があります。データ量が多いほどこの再生成は重くなるため、どのモデルを使ったかをレコードに記録し、切り替え時に新旧を並行運用できる設計にしておいてください。

チャンク分割が精度を左右する

長い文書をそのまま1つのベクトルにすると、複数の話題が混ざって意味がぼやける。適切な単位で分割する必要があるが、細かすぎると文脈が切れる。見出し単位、段落単位、固定文字数+重複——といった方式があり、扱う文書の構造によって適解が変わる。モデル選びより、この分割設計のほうが精度への影響が大きいことも多い。

検索基盤とセットで考える

生成したベクトルを保存して近傍検索する仕組みが別途要る。専用のベクトルデータベースを使うのか、既存のデータベースの拡張機能で済ませるのかは、データ量と検索頻度で決まる。小規模なら後者で十分なことも多く、最初から専用基盤を導入する必要はない。