今日は小ネタ。 OpenAI の text-embedding-ada-002(以下 ada-002) と text-embedding-3-small/large(以下 3-small) はテキストを埋め込みベクトルに変換するモデルの代表格で、3-small は ada-002 より精度が高いと言われますが、埋込モデルの精度が高いってどういうことだろう、という話。 埋め込みベクトル同士のコサイン類似度を計算することでテキストの意味の類似度がわかる、というのが埋め込みモデルの売り文句ですが、実際には意味だけではなく表現の近さもかなり反映されます。最も顕著な例は言語でしょう。別の言語だが同じ意味のテキストより、別の意味だが同じ言語のテキストのほうが、埋め込みベクトルの類似度が大きいことも珍しくありません。 こうした事情から、例えば RAG を使ったシステムを構築する場合、複数の言語が混じった