OpenAIの新しい埋め込みモデル text-embeddings-3について
先日、OpenAIのアップデートで新たな埋め込みモデルが発表されました。
この記事では、OpenAIの従来の埋め込みモデル(text-embeddings-ada-002)との違いについて主に紹介いたします。
埋め込みモデルとは
理解されている方も多いと思いますが、おさらいとして簡単に埋め込みモデルについて紹介します。埋め込みモデルとは簡単に言うと、日本語や英語などの言語表現を多次元のベクトルに変換するモデルになります。変換後の多次元ベクトルは「埋め込みベクトル(embeddings)」と言われます。埋め込みベクトルはただの多次元ベクトルではなく、変換前の言葉の意味を表現しており、このベクトルを活用することで数学の世界で言葉を扱うことが可能になります。そうすることで、言葉同士の意味的な距離(意味が近い、意味が遠い)などを計算することが可能になります。埋め込みベクトルはChatGPTやアシスタントGPTを用いたナレッジ検索などの多くのアプリケーションで使われています。
今回のアップデートでは二つの新しい埋め込みモデルが発表されています。それぞれ紹介します。
text-embeddings-3-small
このモデルは従来のモデルより以下の点で優れています。
- 埋め込み性能
- 価格
日本語のみのデータでのパフォーマンス(精度)については言及されていませんが、多言語データセットでのパフォーマンスを参考にすることができます。MIRACLと呼ばれる多言語埋め込みのベンチマークでは13ポイント程度性能が向上しています。この結果から考えると日本語での性能も相当向上していると考えられます。
また価格は1/5になっています。こちらも非常に嬉しいですね。
価格も安くなって、性能も高くなって一見すると乗り換えない意味がないように見えます。
ただ発表後のAPIエンドポイントは利用の逼迫からレスポンス速度の低下が予想されます。落ち着いてきてから利用するのが良いかもしれません。
text-embeddings-3-large
このモデルは従来のモデルより以下の点で優れています。
- 埋め込み性能
こちらは従来のモデルと比較してより高い埋め込み性能があります。前述のMIRACLでは23ポイントと大幅な性能向上があり、日本語に対する埋め込み性能も非常に上がっていることが考えられます。値段とレスポンス時間には気をつけなければいけません。値段は対して変更ない上に、GPT-4やgpt-4-turboと比べると埋め込みモデルの価格はたかが知れていますが、レスポンス時間は長くなっている可能性があります。と言うのも、より高い性能のためにこのモデルではモデルサイズの増大が行われ、また結果の埋め込みベクトルも大きくなっているからです。埋め込みベクトルはこれまでの1536次元だったのに対し、3072次元と倍近くになっています。これにより表現が精密になったとも言えますが、後段で行われる計算量やメモリ量の増大が発生します。利用の際はこの点に関して注意して、気になるようであれば次元の削減も考慮に入れましょう。(https://platform.openai.com/docs/guides/embeddings)
終わり
今回はOpenAIが1/25に発表した新しい埋め込みモデル(text-embedding-3-small, text-embedding-3-large)について紹介しました。ナレッジ検索を用いたアプリケーションでは埋め込みモデルの性能が大きな影響を及ぼすので、ナレッジ検索の精度などで困っている際は利用と積極的に検討すると良い結果が得られるかも知れません。
Discussion