9 ポイント 投稿者 GN⁺ 2024-07-11 | 1件のコメント | WhatsAppで共有
  • 2022年末、Readwise のインフラを拡張しながら、記事推薦とベクトル埋め込みを使ったセマンティック検索機能を追加しようとしていた
  • リレーショナルデータベースのコストは月額 $5k だったが、ベクトル検索のコストは月額 $20k 以上だったため、高コストを理由に機能実装を断念
  • 既存の検索エンジンは高価で運用も難しい : オブジェクトストレージ、NVMe SSD、AI およびベクトル技術の進歩により、新しい検索エンジンが必要
  • 既存のベクトルデータベースはインメモリストレージを使うためコストが高い
    • オブジェクトストレージ (S3, GCS) と SSD キャッシュを活用することでコストを大幅に削減できる
    • 例: インメモリストレージは $2+/GB、オブジェクトストレージは $0.02/GB

turbopuffer の設計

  • 現在に合った検索エンジンを開発
  • オブジェクトストレージとスマートキャッシュを活用し、コスト効率と性能の両方を実現
  • 数十億個のベクトルと数百万のテナントを処理できる
  • オブジェクトストレージベースの検索エンジン
    • 既存の検索エンジンはリレーショナルデータベースのレプリカディスクアーキテクチャを使用
    • 検索エンジンは高い書き込みスループットと緩い書き込みレイテンシを要求
    • オブジェクトストレージと SSD/メモリキャッシュにより、コストを削減しながら性能を維持
  • オブジェクトストレージ Native データベース実装
    • オブジェクトストレージを前提とするデータベースを構築
    • 高い信頼性と無制限のスケーラビリティを提供
    • マルチテナンシーとシャーディングによって高い可用性を維持
  • 顧客事例
    • Cursor: AI コードエディタ、数十億個のベクトルを管理し、コストを 10 倍削減
    • Suno: ラジオ機能
    • Dot: メモリ機能
    • Shapes: メモリ機能

GN⁺ のまとめ

  • turbopuffer はオブジェクトストレージとスマートキャッシュを活用し、検索エンジンのコスト効率と性能を大きく改善
  • 既存の検索エンジンの高コストと運用の難しさを解決しようとしている
  • AI およびベクトル技術の進歩に合わせて新しい検索エンジンを設計
  • Cursor のような初期顧客事例を通じて、コスト削減と性能向上を実証
  • 類似機能を持つ他のプロジェクトとしては ElasticSearch と Vector DBs がある

1件のコメント

 
GN⁺ 2024-07-11
Hacker Newsのコメント
  • Simonと一緒に働いたことがあり、彼は自分の分野をよく理解している

    • Shopifyで検索関連の仕事を一緒にしており、理想的な検索スタックについて多くの会話を交わした
    • クラウド上で検索APIを通じてランキングを表現し、データフレームの数式を使ってさまざまな属性でブーストできる理想的なシステムを望んでいる
  • TurbopufferがPolarsデータフレームのように動作し、検索APIでランキングを表現できるようになることを期待している

    • データフレームの数式を使ってファーストパスを実行し、再ランキングモデルを動かす機能を望んでいる
  • Fixie.aiのウェブサイトデザインもとても気に入っている

    • Fixie.aiはTurbopufferの顧客の1社である
  • HetznerではRAMコストが$200/TB/月で、他より18倍安い

    • 複雑さを減らせば、目標をより早く達成できる
  • 2022年以前からpg_vectorは存在しており、インメモリストレージは必要ない

    • 1億件を超えるドキュメントに対してベクトル検索を実行できる
  • Luceneを使って、オブジェクトストレージの前段にSSDキャッシュノードを置くアプローチを構築できるのか気になっている

    • Elasticsearchの大規模デプロイを目にしたことがあり、すべてをS3に置けるなら驚くべきことだと思う
  • Quickwitのソース非公開版のように聞こえる

  • S3に大容量の読み取り専用データベースを保存し、直接問い合わせできる一般的なソリューションがあるのか気になっている

    • Duckdbはparquetファイルをhttpで開いてクエリできるが、多数の小さなリクエストを引き起こす
    • 数百万のオブジェクトを管理するために、単一ファイルとキャッシュ可能なインデックスを望んでいる
  • ClickHouseの読み取りレイテンシは100ms未満、書き込みレイテンシは1秒未満である

    • ClickHouseはロギング、リアルタイム分析、RAGにも適している
  • ベクトルデータベースについてはあまり詳しくないが、RAGやそのほかのAI関連作業に主に使われていると思う

    • さらに深く掘り下げる必要がある
  • オブジェクトストレージ優先のアプローチはクラウドに自然に適合すると考えている