1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ベクトルデータベース Qdrant をスケールアップしてみた

Posted at

はじめに

PDFのファイルを学習させて、PDFの内容についてChatGPTと連携して応答するLINEボットを作りました。
データベースはQdrantを使用。
応答速度についてボトルネックになっていたのが、Qdrantへのアクセスの処理でした。

ボトルネック解消にはいくつかアプローチが考えられますが、まずは手っ取り早く金で解決する方法(サーバーのスケーリング)について、覚え書きを。

この記事の対象者

  • PythonでRetrievalのコードを書いたことがある方
  • Qdrantを使っている方
  • Retrievalの高速化を模索している方

Qdrantとは

ベクトル類似検索エンジンおよびベクトルデータベース。
高速で高精度なベクトル検索を実行できます。
例えば歴史上の人物や商品などの類似アイテムを抽出することが可能。

他のベクトルデータベースとして、Pineconeがあります。

PDFの資料をRetrievalするLINEボット

Pythonでコーディングして、GCP(Google Cloud Platform)にデプロイ。
学習させたファイルは2つのPDFファイル(1.8MB 37ページ、1.8MB 24ページ)

スクリーンショット 2023-11-25 8.18.17.png

QdrantでRetrievalを行う処理は、こちらの資料を参考にさせていただきました。

LINEボットとのやりとりはこんな感じ
LINE_capture_722561033.119873.JPG

ベクトルデータベースの諸元はこちらの通り

スクリーンショット 2023-11-24 8.46.30.png

スケールアップ前

使用量に対してRAMやメモリのリソースは余裕なので、スケーリングによるパフォーマンスの向上はそんなに大きくならないかも...
スクリーンショット 2023-11-24 8.26.13.png

1ヶ月あたりのコストは33ドル(1ドル150円で4,950円)
スクリーンショット 2023-11-24 8.47.35.png

こちらのやり取り、5回の平均で 47.965秒。
LINE_capture_722562400.601587.JPG

スケールアップ後

結論から申しまして、コスト 2倍 で 5% の処理時間が短縮。

15文字程度の回答であれば処理時間が
4.38秒 → 3.93秒 と 10% 改善するケースも。

スケールアップ
RAM 2.0 GB 4.0 GB
CPU 0.5 Cores 1.0 Cores
Disk 8.0 GB 16.0 GB
425文字平均回答時間 47.96 秒 45.47 秒
15文字平均回答時間 4.38 秒 3.93 秒
月額費用 33ドル 67ドル

スクリーンショット 2023-11-24 8.57.06.png
1ヶ月あたりのコストは67ドル(1ドル150円で10,050円)
スクリーンショット 2023-11-24 8.56.22.png

考察

  • スケールアップによる速度の向上は確認できたが、2倍のコストに対して5-10%の改善は、コスパ悪い。
  • Qdrantは一度スケールアップすると、スケールダウンができない。 もし、スケールダウンする場合は新たにクラスターを作成する必要がある。
  • リソースに余裕がある状態では、スケールアップによる改善のアプローチは、コスト面であまり得策ではない。

おわりに

別のベクトルデータベースのPineconeも試して、パフォーマンスを確認したい。

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?