Weaviate Embeddingsとは?
Weaviateが自社サービスとしてEmbeddingsを提供するらしい。
Weaviate Embeddings のご紹介 - ベクター埋め込みを作成・管理する煩わしさから解放されます。
Weaviate Embeddings のプレビュー版を発表できることを嬉しく思います。Weaviate Embeddings は、Weaviate Cloud の新しいエンベッディングサービスです。
Weaviate Embeddings を利用することで、以下のことが可能になります:
最先端の OSS およびプロプライエタリモデル: 最先端のオープンソースおよびプロプライエタリモデルにアクセスできます。プレビューでは、Snowflake Arctic-Embed(オープンソース)を提供しており、来年早々には商用モデルを提供する予定です。
モデルとデータのコロケーション: データとモデルの両方をWeaviate Cloudにホスティングすることで、レイテンシーを削減し、パフォーマンスを向上させます。
コスト効率に優れたGPU搭載 GPUを利用した推論を、トークンの消費量に応じた従量課金で利用できます。必要に応じてディメンションをカスタマイズできます。
セキュアでエンタープライズ対応のデプロイメント: SOC2認証、ロールベースのアクセス制御、厳格なデータ分離により、エンタープライズグレードのセキュリティを実現します。
📰 詳しくはブログポスト https://weaviate.io/blog/introducing-weaviate-embeddings をご覧ください。
公式ブログ
以下の記事でもまとめているが、
一般的なRAGはこう
EmbeddingsおよびCompletionの各APIとのやりとりを全部自分で実装する形になる。
Weaviateのモジュールを使うと、各APIとのやりとりをWeaviate側に任せることができる。例えばVectorizerモジュールを有効化するとこうなる。
Embeddingsの生成処理を気にすることなく、単にドキュメントなりクエリを渡してやるだけで、ベクトルインデックス化およびベクトル検索ができるようになる。
Weaviateのモジュール機能を使えば、ベクトルDBにデータを投げるだけでベクトル化、クエリを投げるだけでベクトル検索、が実現できる。ベクトル化とその後の処理(ベクトルDBへの登録/からの検索)のステップを実装する必要がない。
この点では、Weaviate Embeddingsが提供されたとしてもやってくれることは恐らく変わらないのだけども、とはいえ、既存だとEmbeddingモデルは他のプロバイダーのものを使うことになるので、別の管理が必要になる。
Weaviate Embeddingsにより、これらが全てWeaviateひとつにまとめることができて、
- モデル選択の柔軟性: オープンソースや商用モデルに対応し、将来的に多言語・マルチモーダルモデルを追加予定。
- 高スループット: レート制限なしで大量データを効率的に処理可能。
- 低レイテンシ: モデルとデータを同一サービスで運用し、パフォーマンス向上。
- コスト効率: GPU推論対応の従量課金制で必要分のみ支払い。
- セキュリティ対応: SOC2認証取得、アクセス制御やデータ分離機能。
あたりのメリットが出てくる。なので、運用や管理、レイテンシーというところで意味があるようなリリースだと思う。
Weaviate以外にもベクトルDBベンダーが何らかの形でEmbeddingモデルのホスティングをするというのはチラホラ出てきているように思えるので、徐々に一般的な流れになりつつあるのではないだろうか?
以下にドキュメントがある
とりあえずまず提供されるのは以下のモデルらしい。
Weaviateが独自にEmbeddingモデルを開発するというわけではなく、オープンモデルのものをラインナップするっていう感じになるのかな?
まあ自前でホスティングしなくていい・モデルの選択肢が増える、というメリットはあるとは思うのだけども、オープンモデルを使う目的は他にもあると思う。その場合、WCS(Weaviateのクラウドサービス)でこれが提供されてどこまで嬉しいか?ってのは多少ユースケースを選びそうな気もする。